Why are in-app events or revenue missing?
Events can go missing at three points: the app to the MMP, the MMP to the ad network, or in how revenue is valued. Start by finding where the gap appears.
Your answers
All questions and diagnoses
The full decision tree, if you'd rather read it than click through.
- Where are the events or revenue missing?
- In the MMP
- Do the events appear in the MMP's raw event log for a test device?
- No, nothing arrives
- Is the event sent after the SDK has started, from the app rather than your server?
- No, or it fires before start-up
- Diagnosis: Events fire before the SDK is ready. Events sent before the MMP SDK starts, or with a name that does not match the event set up in the MMP, are dropped or land under the wrong name (general practice).
- It is sent from our server
- Diagnosis: Server events cannot be joined to the install. Server-to-server events need the same user or device identifier the MMP recorded at install; without it they arrive but cannot be tied to a campaign (general practice).
- No, or it fires before start-up
- Is the event sent after the SDK has started, from the app rather than your server?
- Yes, but not credited to campaigns
- Diagnosis: Events arrive, but the install was organic. Events inherit the attribution of the install, so if the install itself was not matched to a campaign, its events are not credited to one either.
- No, nothing arrives
- Do the events appear in the MMP's raw event log for a test device?
- In an ad network (Meta, Google or TikTok)
- Is the event mapped and switched on for postbacks to that network?
- No, or not sure
- Diagnosis: The event is not forwarded to the network. An MMP only sends the events you map for each network, so unmapped events never reach Meta, Google or TikTok (general practice).
- Yes, it is mapped
- Is the network Meta, with the gap on iOS 14+ campaigns?
- Yes
- Diagnosis: Events not eligible for Meta's AEM. Meta lists events that are not AEM-eligible among the reasons iOS results differ, and AEM is limited to 8 prioritised conversion events.
- No
- Diagnosis: Postbacks are being rejected. If mapping is correct but events still do not arrive, the network is usually rejecting the postbacks, for example for a wrong conversion ID or label on Google.
- Yes
- Is the network Meta, with the gap on iOS 14+ campaigns?
- No, or not sure
- Is the event mapped and switched on for postbacks to that network?
- Counts match, but revenue differs
- Do you send a currency code with every revenue event?
- No, or not sure
- Diagnosis: Missing or mismatched currency codes. Google lists currency and value mismatches among the reasons third-party revenue differs, and values without a currency code can be read in the wrong currency.
- Yes
- Are purchases sent from both the app and your server?
- Yes
- Diagnosis: Duplicate purchase events. Sending the same purchase from the app and the server without a shared de-duplication key counts it twice (general practice).
- No, one source only
- Diagnosis: Values differ even though counts match. Google discourages reconciling on values because one missing or failed purchase skews totals, and Google Play excludes failed purchases.
- Yes
- Are purchases sent from both the app and your server?
- No, or not sure
- Do you send a currency code with every revenue event?
- In the MMP
Related symptoms
Common questions
Why are my in-app events missing in the MMP?
Usually the event fires before the SDK has started, uses a different name from the MMP set-up, or comes from a server without the identifier the MMP needs. Check the raw event log on a test device first.
Why does my ad network not receive events from the MMP?
The event may not be mapped for that network, the postback may be switched off, or the network may be rejecting it. The postback delivery log in your MMP shows which.
Why do revenue totals differ when event counts match?
Revenue is sensitive to single missing events, refunds, failed purchases and currency handling. Google advises reconciling on counts rather than values for this reason.
How many events can Meta AEM use?
Meta's developer docs say AEM limits each app or domain to 8 prioritised conversion events. Events outside that list are not used for iOS 14+ AEM reporting.
What is mobile attribution?
Mobile attribution is the process of crediting each app install or in-app event to the ad, link or channel that drove it. A mobile measurement partner (MMP) does this across all your channels so each install is counted once.
Why do ad networks report more installs than my MMP?
Each network counts every install it touched within its own windows, including views, while an MMP gives each install to a single source. Adding the networks' numbers together therefore overstates real installs.