Aggregated Event Measurement (AEM) is a system Meta built to measure the app events of users who decline tracking after iOS 14.5. It’s a direct response to the measurement gap created by iOS App Tracking Transparency.
When a user declines tracking, IDFA access shuts off, but the campaign still produces a result. AEM aims to surface that result not at the individual level, but through an aggregated, delayed report. The goal isn’t to identify the user one by one — it’s to keep the campaign’s overall impact at least somewhat visible.
Meta’s Aggregated Event Measurement documentation states that the system measures app events from iOS 14.5+ users who decline tracking, in aggregate. Meta’s core concepts page is a good reference for understanding how AEM and Apple’s SKAdNetwork work together.
What Is AEM?
AEM is a Meta system that measures app events from users who decline tracking, not at the individual level but in aggregate.
A direct consequence of ATT
AEM is a system that wouldn’t have been needed if ATT didn’t exist. The requirement came from Apple. In response, Meta rolled out this aggregated alternative in place of individual-level measurement.
Domain verification is a prerequisite
For AEM to function, the advertiser must have verified the relevant domain through Meta Business Manager. This step can’t be skipped — otherwise aggregated measurement can’t even be set up.
Why Does Event Prioritization Matter?
Only a limited number of events can be prioritized under AEM, which makes deciding what to rank first a strategic decision.
Not every event carries the same weight
In an e-commerce app, a purchase should rank above add-to-cart or page views. Order matters. If the priority order is set up wrong, the actually valuable event can end up left out of measurement entirely. For example, if page view fires 5,000 times a day and purchase only 30 times, and priority is mistakenly left on page view, the system can largely miss the purchase signal it was actually meant to capture.
Priority order changes with campaign objective
In a lead-focused app, form completion should hold the highest priority. That same ranking may not suit a sales-focused app — which is why the priority list needs to be set up separately for each campaign objective.
For example, if a subscription app gets 3,000 trial sign-ups and 400 paid conversions a month, priority should go to the paid conversion, not the trial sign-up. Otherwise, the more frequent but less valuable event overshadows the signal that actually matters.
Relationship With SKAdNetwork
AEM works alongside Apple’s own framework, SKAdNetwork — it doesn’t replace it.
The two systems operate at different layers
SKAdNetwork is the measurement framework Apple provides at the operating-system level. AEM is Meta’s own aggregation logic within its ad system. The layer is different. An advertiser generally encounters both at the same time.
Reports may not match exactly
Because they operate at different layers, the numbers the two systems report may not line up exactly. That’s not a bug — it’s simply the natural result of each system’s own measurement logic.
Pre-Launch Checklist
To confirm an AEM setup is working correctly:
- Has the relevant domain been verified in Meta Business Manager?
- Does the event priority list align with the campaign objective?
- Is the aggregated report being periodically compared against CRM/sales data?
Common Mistake
The most common mistake is accepting the default event priority order without ever adjusting it. In that case, the event that actually matters (say, purchase) can end up ranked below a more frequently triggered but less valuable event (say, page view).
Summary
AEM lets you measure the app events of users who decline tracking on iOS not at the individual level, but in aggregate. Without domain verification and the right event prioritization, the system won’t deliver its intended benefit. AEM operates as a layer alongside Apple’s SKAdNetwork, but independently of it.