Attribution PlaybookMeasurement that survives the browser

Server-Side Tracking and the Attribution Gap It Leaves Behind

A store's Meta Ads Manager shows 60 purchases. The store's order system shows 100. The gap is not a reporting bug and it is not fraud. It is the pixel, and the pixel has been losing the fight with iOS privacy since April 2021.

What broke, and when

Apple released iOS 14.5 with App Tracking Transparency in April 2021, and Meta advertisers watched conversion tracking drop by 30 to 50 percent. The mechanism is simple: when a user opts out of tracking, the pixel can still fire, but Meta cannot attribute the event to the person who saw the ad. Industry data puts the opt-out rate at roughly 70 percent of iOS users globally, and above 80 percent in the United States. Ad blockers add a second cut: browser extensions like uBlock Origin block the pixel's JavaScript entirely, so the event never fires at all. Safari's Intelligent Tracking Prevention caps the pixel's first-party cookie at seven days, so a user who returns after a week looks like a new visitor. The view attribution window that Meta removed in January 2026 made the gap worse: conversions that used to show up as view-through simply vanished from reports, and brands reported 15 to 30 percent drops in attributed conversions overnight, without any change in actual sales.

The result is a reporting gap that grows with the share of iOS traffic. If 40 to 50 percent of a store's traffic comes from iOS, which is typical for direct-to-consumer ecommerce, the store is likely seeing only 40 to 60 percent of its true Meta-driven conversions in Ads Manager. The algorithm feels it too: Meta's campaign learning phase needs roughly 50 conversion events per week per ad set to optimize reliably, and invisible conversions starve it.

What CAPI actually does

The Conversions API is a server-to-server connection. When a customer converts, the store's server sends the event directly to Meta, paired with hashed customer data, bypassing every browser-side restriction Apple has introduced. It works regardless of ATT opt-out status, ad blockers, or iOS link tracking protection. Brands running CAPI see 15 to 25 percent more attributed conversions than pixel-only setups, and the recovery is largest on iOS traffic, where the pixel loses the most. The recommended setup is pixel plus CAPI together: the pixel captures what it can in the browser, CAPI fills in the gaps, and Meta deduplicates using the event ID parameter so the same conversion is not counted twice.

The quality of the setup is measured by Event Match Quality, a 0 to 10 score in Events Manager. It reflects how effectively the customer information sent from the server can be matched to a Meta account. The target is above 6, with 7 or higher as the real goal. Below 6, the events arrive but Meta cannot match them, and the gap stays. The parameters that move the score are the ones the store already has: email, phone, name, and address, hashed before sending.

What it does not fix

CAPI is not a complete fix, and treating it as one is the most common mistake after installing it. It recovers a meaningful share of lost conversions, but it does not restore the deterministic tracking that existed before iOS 14.5. Meta uses statistical modeling to estimate conversions it cannot directly observe, and modeled conversions are estimates, not measurements. The 7-day click and 1-day view window is now the reporting standard, and conversions that happen outside it are gone from the platform's view, whatever the tracking setup. CAPI plus pixel plus modeled conversions is the best available measurement, and it is still an approximation.

The check: Meta vs your store, weekly

Compare Meta's reported purchases to your store's actual orders, weekly, and calculate the gap. If Meta reports 20 to 40 percent fewer conversions than the store recorded, that is the iOS attribution gap, and it is the number CAPI should be shrinking. Compare Meta ROAS to blended ROAS as well: if blended is 20 to 40 percent higher, the platform is under-reporting, not under-performing. When the gap stops shrinking, the setup is as good as it gets, and the remaining difference is the modeled remainder. Budget decisions made on Meta's numbers alone, without the weekly reconciliation, are decisions made on a third of the data.

Frequently asked questions

What is the Conversions API, exactly?

It is a server-to-server connection that sends conversion events directly from your server to Meta, bypassing the browser. The pixel fires from the visitor's browser and can be blocked by ad blockers, privacy settings, and iOS restrictions. CAPI fires from your server and reaches Meta regardless of what the browser does.

Does CAPI replace the pixel?

No. Meta recommends running both together, with deduplication so the same event is not counted twice. The pixel captures what it can in the browser. CAPI fills in the gaps. Running CAPI alone loses the browser-side signals the pixel still provides.

What is Event Match Quality, and what score should I aim for?

It is a 0 to 10 score in Events Manager that measures how effectively the customer information you send can be matched to a Meta account. Meta's guidance puts the target above 6, with 7 or higher as the real goal. Below 6, significant attribution gaps remain, because Meta cannot match the events you send.

Can running pixel and CAPI together double-count conversions?

Yes. Deduplication uses the event ID parameter, which has to be identical in the pixel event and the CAPI event for the same conversion. If the IDs differ, Meta counts the conversion twice, and your ROAS looks better than it is.