Skip to main content
The MoEngage Campaign Stats and Reports API allows you to monitor your marketing performance outside of the MoEngage dashboard. Use these endpoints to retrieve real-time platform-level statistics or generate downloadable reports for long-term analysis.

Endpoints

The Campaign Stats and Reports API is divided into two primary functional areas:

Comparison of Capabilities

FeatureCampaign Stats APICampaign Report API
Data RecencyReal-timeHistorical (Date Range)
Output FormatJSONZIP/GZIP File
Batch Limit10 Campaigns per call90 Days date range
Primary UseLive Monitoring/DashboardsDeep-dive Analysis/Audits

FAQs

Campaign Statistics

You can pass up to 10 campaign IDs in the campaign_ids array per API call. If you need data for more campaigns, utilize the offset and limit parameters to paginate through your results.
The metric_type parameter allows you to toggle your view. TOTAL counts every occurrence (e.g., three clicks by one user), while UNIQUE counts the number of distinct users who performed the action.
Yes. The response object is nested by Platform > Locale > Variation, allowing you to see granular performance for A/B tests and localized content.
If only the start date is passed without the end date, the API will return an error response. Both the start and end dates are required to retrieve the desired response.
When providing the start and end dates without any campaign ID, the API will return the stats for both the parent and child campaigns. The stats will be available for the specified time period.
To identify the stats belonging to the parent campaign in the API response, you can use the “Campaign Details and Reachability” API. This API should be called with all the campaign IDs included in the request. The parent campaign ID field will not be available for the parent campaign, allowing you to distinguish it from the child campaigns.
Campaign Details and Reachability APIs will allow you to relate child campaigns to their parent campaigns.

Campaign Reports

This typically happens if the FILENAME provided is incorrect, the report was created more than 7 days ago (expired), or the APP_ID in the path does not match your credentials.
Yes, the Report API supports both one-time and periodic campaigns. Ensure the filename matches the specific instance you wish to download.
Verify that your concatenation uses the pipe character (|) exactly as shown: APPID|FILENAME|SECRETKEY. Ensure the resulting string is encoded in UTF-8 before hashing with SHA256.
Campaigns might not be available to run on the selected date to fetch the report, which could result in an error message.
The reports generated will expire in 7 days from the date of creation.
You can generate reports for up to 90 days.

Postman Collections

Test your integration and verify your signature logic using our Postman collection. View Postman Collection