Overview
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.Stats & Reports API Endpoints
This suite is divided into two primary functional areas:- Get Campaign Stats - Retrieve real-time performance metrics (clicks, impressions, conversions) at a platform level.
- Download Campaign Report - Directly download campaign data files for specified date ranges.
Comparison of Capabilities
| Feature | Campaign Stats API | Campaign Report API |
|---|---|---|
| Data Recency | Real-time | Historical (Date Range) |
| Output Format | JSON | ZIP/GZIP File |
| Batch Limit | 10 Campaigns per call | 90 Days date range |
| Primary Use | Live Monitoring/Dashboards | Deep-dive Analysis/Audits |
Technical Constraints
- Stats API: Limited to 100 requests per minute per workspace.
- Report Retention: Generated reports are available for download for 7 days before they expire.
- When fetching stats, the difference between
start_dateandend_datemust not exceed 30 days. - When generating reports, you can request data for a maximum range of 90 days.
Authentication
Authentication methods vary between the two service types:For Campaign Stats (Basic Auth)
Navigate to Settings > Account > APIs to find your credentials:- Username: Use your Workspace ID.
- Password: Use your Campaign Report API Key.
For Campaign Reports (Header Signature)
The Report API requires a customSignature header generated via: SHA256(Api_ID + "|" + FILENAME + "|" + SECRET_KEY)
FAQs
Campaign Statistics
How many campaigns can I query in a single Stats request?
How many campaigns can I query in a single Stats request?
campaign_ids array per API call. If you need data for more campaigns, utilize the offset and limit parameters to paginate through your results.What is the difference between TOTAL and UNIQUE metrics?
What is the difference between TOTAL and UNIQUE metrics?
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.Can I fetch stats for a specific locale or variation?
Can I fetch stats for a specific locale or variation?
What will the API response be if I pass the start date alone?
What will the API response be if I pass the start date alone?
If I pass the start and end dates without any campaign ID, will I also get the child campaign stats?
If I pass the start and end dates without any campaign ID, will I also get the child campaign stats?
How do we identify the stats belonging to the parent campaign in the response?
How do we identify the stats belonging to the parent campaign in the response?
How can the parent-child relationship between campaigns be found?
How can the parent-child relationship between campaigns be found?
Campaign Reports
Why did my report download fail with a 400 error?
Why did my report download fail with a 400 error?
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.Can I fetch reports for periodic campaigns?
Can I fetch reports for periodic campaigns?
How do I verify if my signature implementation is correct?
How do I verify if my signature implementation is correct?
|) exactly as shown: APPID|FILENAME|SECRETKEY. Ensure the resulting string is encoded in UTF-8 before hashing with SHA256.Why am I not receiving any response for the selected date?
Why am I not receiving any response for the selected date?
Can I retrieve the report file whenever needed?
Can I retrieve the report file whenever needed?
What is the maximum number of days that I can choose to generate reports?
What is the maximum number of days that I can choose to generate reports?