How to use iOS14 Attribution Impact

Metricuno
May 20, 2026
6 min read
How to use iOS14 Attribution Impact — How ATT, SKAdNetwork, and modeled conversions broke channel-reported ROAS after 2021 — and the measurement workarounds that actually restore trust.
Quick answer

A plain-English guide to why your Meta ROAS no longer matches Shopify after iOS 14.5 — the mechanics behind ATT, SKAdNetwork, and modeled conversions, plus the workarounds operators rely on.

Definition
Measurement

iOS14 Attribution Impact

The post-2021 breakdown in channel-reported ROAS caused by Apple's ATT prompt, SKAdNetwork, and platform-modeled conversions.

iOS14 Attribution Impact refers to the persistent gap between what ad platforms report as ROAS and what your store's order data actually shows, triggered by Apple's App Tracking Transparency (ATT) framework rolling out in iOS 14.5 in April 2021. With most iPhone users opting out of cross-app tracking, Meta, TikTok, Snap, and Pinterest lost deterministic conversion signals and shifted to a mix of SKAdNetwork postbacks, statistical modeling, and aggregated reporting.

The practical result: Meta's Ads Manager and your Shopify dashboard now tell different stories about the same campaigns. Bridging that gap — through server-side tracking, marketing mix modeling, and incrementality testing — has become the core attribution problem for online retail.

Also known as
ATT impact
iOS 14.5 attribution
post-ATT measurement

Before April 2021, Meta's pixel could follow a click from an iPhone ad impression all the way to a Shopify checkout with near-perfect fidelity. The two systems agreed on which sale belonged to which campaign, and ROAS in Ads Manager matched the number your finance team pulled from orders.

Then Apple shipped the ATT prompt — "Allow [App] to track your activity?" — and somewhere between 70% and 85% of iOS users tapped "Ask App Not to Track." Meta lost the cookie-level signal for the majority of its iPhone audience overnight, and every channel that depended on the same pipes followed.

What actually broke under the hood

Three mechanisms now sit between an iOS ad click and the conversion line in your reporting: ATT consent gating, SKAdNetwork (Apple's privacy-preserving postback system), and platform-side modeled conversions that fill in the gaps with statistical estimates.

ATT decides whether Meta is even allowed to use the device's advertising identifier. SKAdNetwork delivers a coarse, delayed, sometimes-aggregated postback when a conversion happens — without telling Meta which user or which ad set drove it. Modeled conversions then estimate the rest using whatever first-party and contextual signal remains.

Each layer introduces its own distortion. SKAdNetwork postbacks can arrive 24-72 hours late, which means a campaign that looks weak on Monday morning may catch up by Wednesday. Modeled conversions are credit-assigned to ad sets based on probability, not certainty, so two operators looking at the same campaign can see different ROAS depending on which attribution setting they chose.

The Shopify mismatch is structural, not a bug

Shopify only knows what its checkout cookie tells it (often "Direct" or "Google" for ad-driven iOS traffic where the referrer was stripped). Meta only knows what its pixel + CAPI + SKAN postbacks tell it. Neither system is wrong — they're measuring different slices of reality. Reconciliation is the operator's job, not the platform's.

How big is the gap, really?

The honest answer: it varies wildly by category, AOV, and how much of your audience skews iOS. Apparel and beauty brands with iPhone-heavy customers see the largest distortions. Electronics and home-goods stores with longer consideration windows feel it differently — Meta under-reports because the conversion lands outside the attribution window entirely.

Most operators we see land in a 15-40% over-reporting band on Meta and a 10-25% over-reporting band on TikTok, relative to a properly de-duplicated post-purchase survey baseline. The chart below shows a typical apparel brand's Meta-reported ROAS against the same campaigns' post-purchase-survey-verified ROAS over a 12-month window.

Chart

Meta-reported ROAS vs. survey-verified ROAS (apparel brand, monthly)

0x1x2x3x4x5xJanFebMarAprMayJunJulAugSepOctNovDecROASMonth

Meta Ads Manager (reported)

Post-purchase survey (verified)

The gap is fairly stable month-over-month — roughly 1.3-1.5x — which is the useful insight. Once you know your channel's persistent over-reporting ratio, you can apply a deflator inside your media-buying decisions instead of chasing the phantom number Ads Manager shows.

How under-reporting differs across channels

Not every platform is broken in the same way. Google Ads kept more deterministic signal because much of its inventory is search-intent, browser-based, and signed-in. Klaviyo and other email tools still own first-party identity. The damage concentrated on social channels whose targeting and measurement both depended on cross-app tracking.

The table below shows typical reporting-vs-actual ratios our partner brands see after reconciling Ads Manager numbers against post-purchase surveys and incrementality holdouts. Treat these as starting hypotheses for your own calibration, not universal constants.

Benchmark

Typical post-ATT over/under-reporting by channel (Shopify apparel & beauty, AOV €60-120)

ChannelReported ROASVerified ROASOver-report ratioPrimary distortion
Meta Ads4.0x2.8x1.43xModeled conversions, SKAN delay
TikTok Ads3.5x2.6x1.35xModeled, weak iOS signal
Snap Ads3.0x2.0x1.50xHeavy iOS audience, aggregated
Pinterest2.8x2.3x1.22xLonger windows, mostly modeled
Google Search5.5x5.2x1.06xMostly intact, minor cookie loss
Google PMax4.2x3.4x1.24xCross-channel claim overlap
Klaviyo Email25x24x1.04xFirst-party identity intact

Two patterns matter here. First, the social channels cluster in a 1.3-1.5x over-reporting band — they're directionally similar, even if Meta gets the most attention. Second, channels with first-party identity (search intent, email) are largely fine. The fix isn't to abandon paid social; it's to stop treating its self-reported ROAS as ground truth.

The workarounds operators actually use

There are four practical mitigations, in rough order of effort and reliability. Server-side tracking (Meta CAPI, TikTok Events API) sends conversion events from your backend instead of the browser, recovering 10-25% of lost signal. It's table stakes — every Shopify store should have it on — but it doesn't solve the underlying ATT consent problem.

Post-purchase surveys ("How did you hear about us?" on the thank-you page) are the cheapest source of truth. A 20% response rate over a few months is enough to build the deflator ratios in the table above. Marketing mix modeling (MMM) and geo-based incrementality tests are the heavier-weight options — they're how you prove a channel is genuinely incremental rather than just claiming credit for organic demand.

Start with the cheapest signal

If you do nothing else, add a one-question post-purchase survey and turn on Meta CAPI this week. Together they recover most of the visibility you lost, cost almost nothing, and give you a defensible answer the next time finance asks why Ads Manager and Shopify disagree by €40k.

Frequently asked

Frequently asked questions

Since iOS 14.5, Meta reports a mix of deterministic, SKAdNetwork-postback, and modeled conversions, while Shopify only sees its own checkout cookie. The two systems are measuring different slices of the same reality, so they disagree by 20-50% for most online retailers — that's structural, not a tracking bug.

Much less. Google Search keeps most of its signal because users are signed in and intent is captured in the query itself. Performance Max and YouTube saw some erosion, mainly through cross-channel claim overlap, but nothing like the 30-40% over-reporting common on Meta and TikTok.

SKAdNetwork (SKAN) is Apple's privacy-preserving way to tell an ad platform that a conversion happened without revealing who converted or which specific ad they saw. The platform receives a coarse, delayed postback — sometimes aggregated across many users — and has to infer the rest.

It will close part of it. CAPI typically recovers 10-25% of conversions lost to browser-side blocking, but it can't bypass ATT consent. Treat CAPI as a baseline hygiene step, not a complete solution — you still need post-purchase surveys or MMM to triangulate the real number.

With a 20%+ response rate over a few hundred orders, they're remarkably useful — usually within ±5 percentage points of more expensive methods like geo-incrementality tests. They underweight passive channels like display, so combine them with platform data rather than replacing it entirely.

They're useful for in-platform optimisation — Meta's algorithm needs them to learn. They're less useful for board-level ROAS reporting. Use modeled numbers to feed the bidding system, but report a deflated, survey-calibrated number to finance and leadership.

Apparel and beauty stores with iPhone-heavy customers see Meta over-report ROAS by 1.3-1.5x compared to survey-verified numbers. Lower-AOV impulse categories tend toward 1.5x; considered-purchase categories with longer windows can run closer to 1.2x.

Lightweight, open-source MMM (Meta's Robyn, Google's Meridian) is increasingly accessible at that revenue band, but the ROI is borderline. Most stores under €5M get 80% of the value from post-purchase surveys plus CAPI. MMM starts paying off when you're spending €100k+/month across four or more channels.

It forced ROAS measurement to evolve from a single platform-reported number into a triangulated estimate combining channel data, first-party order data, surveys, and incrementality tests. Operators who still treat Ads Manager as ground truth tend to over-invest in social and under-credit email and search.

It largely stabilised by mid-2022 once platforms rebuilt their modeling. The gap is now stable rather than widening — which is good news, because it means a deflator ratio you calibrate today will hold for several months before needing a refresh.

Track CAC, channels, and funnel conversion in one place

Metricuno connects ad spend, funnel events, and revenue so you can see CAC by channel, cohort, and campaign — without stitching together five tools.