Web shop attribution: measuring D2C without breaking your MMP setup
By UA Ledger staff — Archive date: 4 min read

Sending players to a web shop solves the commission problem. It creates a measurement problem that most teams have not fully worked through yet.
A studio that stands up a web shop is usually solving a commission problem, not a measurement problem. The 2025 contempt ruling in Epic v Apple forced US link-outs to payment pages without Apple taking a cut, and studios that had link-out infrastructure ready moved quickly. What most of them discovered afterward is that their MMP setup (built around SKAdNetwork plus Google Play referrer data inside an app install funnel) has no native view of what happens once a player leaves the app; attribution breaks at exactly the moment measurement moves outside it.
The core issue is a broken chain of identity. Inside the app, an MMP stitches a click to an install using device signals or referrer strings; on iOS it relies on an aggregated postback under AdAttributionKit. Once a player taps out to a browser for a web shop purchase, that chain has to be rebuilt with a different toolkit: UTM parameters; first-party cookies, where they still work; a hashed device or account identifier passed at handoff; plus server-side postbacks from the web shop's payment processor back into the MMP. None of this is exotic. Someone does have to build it deliberately, though, and most attribution stacks configured for app-only funnels don't have it wired in by default.
The practical failure mode is double-counting or under-counting revenue, not losing it entirely. A player who installs through a paid campaign, plays for a week, then converts through a web shop purchase can show up as an app-side non-payer in the MMP's dashboard while the studio's finance team sees the revenue in a separate payment processor report. Campaigns get judged on incomplete numbers, and the bias runs one direction: paid UA looks weaker than it is, because its highest-value conversions are invisible to the tool measuring it.
Building the bridge without breaking the existing setup
The fix doesn't require replacing an MMP. It requires three things done in order. First, a persistent identifier passed at the point the app hands a player to the browser, ideally a hashed value the MMP can already ingest as a customer ID rather than a bespoke field nobody else can query. Second, a server-to-server postback from the web shop's checkout to the MMP's revenue API, carrying a timestamp and that same identifier, so a purchase eight days after install attributes back to the original campaign rather than showing as unattributed direct revenue. Third, a reconciliation habit. While the pipe is new, finance's payment processor totals and the MMP's attributed web revenue need a weekly side-by-side check, because a silent postback failure stays invisible until someone notices the totals have quietly diverged.
There is a governance question underneath the technical one. Web shop revenue sits outside app store rules, which means it also sits outside the reporting structures those stores' own ad networks (Apple Search Ads, Google's own inventory) can see or credit. A campaign that drives an install which later converts on the web has real value that a platform-side network will never claim credit for and, more importantly, will never optimise toward, because its own attribution horizon stops at the install or an app-side event. Teams running web shop conversion as a serious revenue line should expect their platform network performance to look understated relative to blended reality. Once web revenue is material, platform-reported ROAS stops being an acceptable sole health check on paid UA.
None of this is a reason to delay building a web shop. It is a reason to treat the measurement bridge as part of the launch, not a follow-up ticket. A web shop that ships before anyone has tested the postback pipe will spend its first months generating exactly the kind of attribution gaps that make a media buyer distrust their own dashboard, at the precise moment the studio needs that dashboard to justify the investment.
Related archive reading
These articles provide related context and remain subject to their stated review status.
Featured
Related posts
measurement
platforms
·1 min read
When to turn rewarded ads off for payers (and how to measure the loss)
measurement
platforms
·1 min read
When custom product pages need their own MMP campaign mapping
measurement
platforms
·1 min read
Season pass refund rate versus standard IAP refund rate
measurement
platforms
·1 min read
Pre-reg cohort quality vs post-launch paid cohort quality
More from the Measurement desk
measurement
platforms
·2 min read
AppLovin Ad Review drops user-level journeys for aggregate-only reporting
measurement
platforms
·2 min read
Apple adds an EU alternative ATT prompt from iOS 27.2 — mandatory in five markets
measurement
platforms
·1 min read
Pity-adjusted expected value versus player-facing banner claims
measurement
platforms
·1 min read