Facebook Events Manager reports ALL events successfully received & matched to a Facebook user account, prior to deduplication. Facebook started doing this in August 2021 without any official notice – and it is very confusing for any advertiser sending a given event both via pixel and server (the recommended integration option in Facebook’s Conversions API End-to-End Implementation guide).
Does Facebook Ads Manager report deduplicated event attribution?
Behind the scenes Facebook does deduplicate the same event sent via both pixel and server if the attributes used for deduplication match for the 2 events. Facebook Ads Manager will only report deduplicated events attributed to a given ad set. In fact, if an advertiser has a meaningful number of ads being presented to iOS users, they can be sure that Facebook Ads Manager is under reporting event attribution where iOS users have opted out of the AppTrackingTransparency (ATT) prompt.
Note that Facebook events in a domain’s Aggregated Event Measurement (AEM) events list can be used for optimization even if the related iOS device user opts out of the ATT prompt. However, events from such iOS opt-out users:
- Will not be used to include users in Facebook Website Custom Audiences.
- Will not be reported in Facebook Events Manager (they are reported separately in the AEM tab, but are not commingled with data in the main report).
- Will not be reported in Facebook Ads Manager.
How does Facebook fill in data gaps?
Facebook is sometimes able to use modeled conversions to assign event attribution to ad sets for iOS ATT prompt opt-out users. Google has been using data modeling to fill in gaps like this for a while now.
Sending events to Facebook with as much advanced matching first party data (i.e., user_data keys) included as possible (honoring user consent, and hashing PII before sending else Facebook will reject the event) also helps close such gaps. Advanced matching, and the Facebook Conversions API, are tools for sending first party data, which increases Facebook’s ability to match an event to a Facebook user account, and drives even more accurate modeling.
Can I just send an event via CAPI and skip the pixel delivered event?
If your CAPI delivered event has as full a payload of user_data keys, technically you do not need to also send via pixel. This is especially true if you can grab 3rd-party cookie values still available and include them in your CAPI event payload.