Meta ads Aggregate Event Measurement (AEM) for iOS

At a glance: Learn about the AEM solution for optimizing iOS conversions and in-app events and for attributing iOS re-engagements on Meta ads.


AppsFlyer supports the Meta ads Aggregated Event Measurement (AEM) solution. This solution enables measuring web and app events for iOS 14+ devices using the following attribution methods: 

App AEM for re-engagement

Using AEM, Meta ads gets deep link re-engagement attribution for iOS users without device IDs.

Attribution flow

Meta Ads appends attribution data to the deep link along with the AEM campaign_ids identifier. AppsFlyer receives the identifier with data showing on the deep link, then:

  • Sends aggregate reporting data back to Meta ads
  • Performs attribution based on the deep link information appended by Meta ads
  • Includes attribution data from the deep link in raw data and aggregated data reports

Attribution data parameters

The following attribution data parameters, as shared by Meta ads, are included in the reports:

  • ad_id
  • adgroup_id
  • campaign_id
  • campaign_group_id
  • account_id

FAQs on deep link re-engagement attribution

What must the advertiser do to enable this attribution?

No action is needed from the advertiser to receive these parameters for attribution.

However, for the deep link re-engagement attribution to be measured, the Re-engagement attribution toggle must be turned on.

Note: According to Meta ads' terms and conditions regarding AEM, enabling re-engagement attribution measurement with Meta ads means all postbacks sent to Meta ads include partial IP addresses.

What are the implications of this attribution?

  • An increase in the number of Meta ads re-engagement deep link conversions for iOS devices
  • Data coming from deep link conversions is partial—showing only what’s included in the deep link received by Meta ads

What about agencies and Meta campaign management partners?

At this stage, attribution for agencies and Meta campaign management partners is not supported. This means all traffic is attributed to Meta ads. This is temporary and will change soon.

Are there any restrictions on data from this attribution?

Data coming from deep link attributions isn't subject to reporting restrictions. This means all data appears both in aggregated and user-level raw data reports.

App AEM for app promotion

AEM eligibility

When an app is eligible for AEM on Meta ads, during the Ad Set creation process Aggregated Event Measurement is selected by default. This means both AEM and SKAN can be used simultaneously for the campaign. If Apple's SKAdNetwork is selected instead, only SKAN will be applicable for the campaign. This means AppsFlyer has limited ability to measure the app activity on Meta ads. 


AEM data sharing

Advanced data sharing enables you to share all conversion events with Meta ads.

  • When turned off (the default state), sharing is limited only to conversion events of users who opted into the ATT prompt
  • When turned on, Advanced data sharing enables sending Meta ads user data such as IP and User Agent, regardless of the ATT state. The data shared may include additional device-related information that doesn't involve the device ID.



  • All events include installs, app opens, and in-app events.
  • Before enabling Advanced data sharing, make sure such sharing, including any use of your data by third parties, complies with any platform policies and/or regulations to which you are subject. Data shared may include IP addresses, anon_ids (if available), vendor_id, and user agents.

FAQs and troubleshooting


What's the benefit of AEM data sharing?

More data is shared with Meta ads, which could help improve their campaign optimization.

What are the implications of AEM data sharing?

The added information sent to Meta ads when Advanced data sharing is turned on may cause an increase in data discrepancy between Meta ads and AppsFlyer. This is reflected mainly in the number of installs. See more details.


AEM doesn't work. Why is that and what can I do?

If your app is AEM ineligible, when optimizing specific events make sure of the following:

  • For each event (sent via the SDK or via server-to-server), IP masking is turned off
  • For all events sent via server-to-server, both the IP address and the IDFV identifier are included
  • For each event, the postback mapping is set to be sent to All media sources, including organic.

Note: After making any of the changes described above, it may take between 2-3 days for Meta ads to make your app AEM eligible.

If your app is still AEM ineligible (for specific events):

  • Go to the Meta event manager and follow their instructions
    • Select the Active App event
    • Select MMP traffic as your preferred connection method

Remember, after the change it may take between 2-3 days for Meta ads to make your app AEM eligible.