Why Attribution Broke, and What Replaced the Old Model
Mobile attribution used to answer one simple question with a direct lookup: which ad produced this install? For most of the last decade, both major platforms carried a stable, cross-app device identifier, Apple's IDFA and Android's GAID, that an ad network could read at click time and an app could read again at install time, and matching the two was the entire system. That system is gone, not because any single vendor decided to kill it, but because both platform owners independently concluded that a persistent, freely readable identifier was a privacy problem worth breaking a working ad-tech industry to fix.
What exists now is three separate, imperfect layers stacked on top of each other, and most of the confusion we see from operators comes from treating them as one system instead of three. The platform layer (Apple's SKAdNetwork and AdAttributionKit, Android's AD_ID-gated GAID) handles the actual privacy-preserving math of connecting a click to an install without exposing a stable identifier to anyone who shouldn't have one. The measurement layer (your mobile measurement partner, if you use one) ingests whatever the platform layer gives it, deduplicates across ad networks, and tries to make the result usable. And the compliance layer (CCPA, COPPA, GDPR and ePrivacy, enforced by regulators who have shown they will act on mobile-specific cases) sits over both and determines what any of this is even allowed to do with the data it touches.
This guide is for the operator who needs to know what to actually build, not the ad-tech trade press take on who "won" the privacy fight. If you are weighing how this fits into a broader custom mobile app build rather than a bolt-on to an existing app, the attribution layer is one of the pieces worth scoping during discovery, not bolted on after launch, because conversion-value mapping has to be designed around your actual post-install funnel from day one.
Apple's Side: ATT, SKAdNetwork, and AdAttributionKit
App Tracking Transparency has not changed its basic shape since it shipped in iOS 14.5 in April 2021: before any app can read the IDFA or otherwise track a user across apps and websites owned by other companies, it must show Apple's system prompt and the user must affirmatively allow it. What has changed is everything built on top of that gate.
SKAdNetwork, Apple's original privacy-preserving attribution framework, works by having the ad network, not your app, hold the attribution claim. A conversion value (a 6-bit number Apple lets you encode with post-install signal) gets set by your app, and Apple sends a delayed, randomized postback to the ad network once enough installs have accumulated to clear Apple's undisclosed crowd-anonymity threshold, so no single install can be traced back to an individual user. It works, but it has two structural limitations operators run into constantly: the postback goes only to the ad network by default, not to you, so reconciling what the network reports against your own backend has always required extra engineering, and it only ever covered App Store installs.
AdAttributionKit, which Apple introduced at WWDC 2024 and which ships starting with iOS 17.4, is built to close both gaps. Postbacks now go to the ad network and directly to the developer, which means you no longer have to trust a network's self-reported numbers without a way to check them. And because EU users can now install apps from alternative marketplaces and the web under the Digital Markets Act, AdAttributionKit was built to measure those installs too, while SKAdNetwork never covered anything outside the App Store. Apple documents full interoperability between the two frameworks: the same network identifiers work across both, and SKAdNetwork calls get mirrored into AdAttributionKit automatically.
The engineering implication is concrete: your conversion-value mapping (the logic that decides what number to encode, and when, based on what the user actually does after install) is the single highest-leverage piece of this entire system, on either framework. A conversion value scheme designed around your actual revenue or activation events, reviewed and adjusted as your funnel changes, is worth more to measurement accuracy than any vendor dashboard sitting downstream of it.
Android's Side: AD_ID, GAID, and Privacy Sandbox's Retirement
Android's version of the identifier fight played out on a different timeline, and as of 2026 it has arrived at a genuinely unsettled place that Apple's side has not.
Google's Advertising ID (GAID) is gated two ways today. First, any app targeting Android 13 (API level 33) or later must declare the com.google.android.gms.permission.AD_IDnormal permission in its manifest to read it at all; skip the declaration and the identifier silently returns as a string of zeros rather than throwing an error, which means a missed manifest line fails exactly the way a dead push token does: quietly, with nothing surfacing until someone audits the raw numbers. Second, a user with ad personalization opted out gets zeros regardless of your manifest, and Google Play policy separately requires that apps serving children or users of unknown age never transmit the advertising ID for those users, which means your ad SDK's child-directed and under-age-of-consent tags need to be correctly configured, not left on defaults.
| Condition | What Happens to GAID |
|---|---|
| App targets API 33+ and declares AD_ID permission, user has not opted out | Real identifier is returned |
| App targets API 33+ but does not declare AD_ID permission | Zeroed out (string of zeros), silently |
| User has opted out of ad personalization, any target API | Zeroed out regardless of manifest declaration |
| App serves a child-directed or unknown-age audience segment | Must not be transmitted for that user at all, by Play policy, independent of the technical gating above |
What was supposed to be Android's long-term, privacy-preserving replacement for direct GAID matching was Google's own Privacy Sandbox on Android, centered on an Attribution Reporting API conceptually similar in spirit to SKAdNetwork: aggregate, on-device, no stable identifier exposed. On October 17, 2025, Google announced it is retiring that API, along with Topics, Protected Audience and SDK Runtime, for both Chrome and Android, citing low levels of ecosystem adoption after reviewing developer feedback. Chrome began deprecating the underlying technologies starting with Chrome 144 in January 2026, with removal targeted for Chrome 150 in July 2026.
The practical consequence for anyone building or auditing an Android measurement stack today: GAID (where the user and app configuration allow it), the Play Install Referrer API, and probabilistic or modeled attribution through an MMP remain the real toolkit, not a transitional stopgap on the way to something better that has now been cancelled. If a vendor pitched you an Android roadmap built around Privacy Sandbox adoption sometime in the last two years, that roadmap needs revisiting.
The MMP Landscape: Who Owns Whom, Checked September 2026
We are deliberately not ranking mobile measurement partners by accuracy, fraud detection, or any performance metric, for the same reason we refuse to print a single opt-in rate as fact later in this guide: there is no independently audited, third-party comparison of these claims, only each vendor's marketing about itself and its competitors. What we did verify is corporate status, because it is checkable and it changes real risk.
| MMP | Corporate Status | What Changed or Matters | Read This As |
|---|---|---|---|
| AppsFlyer | Independent | Raised $1B+ in a June 2026 Series E at a $2.7B valuation from strategic minority investors Google, Meta, Moloco and Unity; widely read as a pre-IPO stabilization round | Largest named roster among independents; its own neutrality is the product, which is also why its strategic investors took only minority, non-controlling stakes |
| Adjust | Subsidiary of AppLovin (Nasdaq: APP) | Acquired by AppLovin for roughly $980M, closed April 2021; operates as a distinct brand inside a public company | Its roadmap and ownership ultimately answer to a public ad-tech company that also runs its own ad network, worth knowing before you treat it as a neutral third party the way you would an independent |
| Branch | Independent | Raised roughly $667M across its funding history; Palo Alto-based | Originated in deep linking before expanding into full attribution; still one of the stronger deep-linking implementations among the group |
| Kochava | Independent | Settled an FTC enforcement action on May 4, 2026 barring the sale of sensitive precise location data without consent, resolving a case the FTC filed in August 2022 | The settlement concerns Kochava's separate location-data brokerage business, not its attribution SDK specifically, but it is now a documented fact in the company's regulatory history worth factoring into vendor due diligence |
| Singular | Independent | Self-reports as the top-ranked MMP on G2 for three consecutive years; has integrated with major LLM chat assistants for marketing-insight queries | We did not independently verify the G2 ranking claim or any accuracy benchmark; treat it as a vendor claim to check yourself, not a scored fact in this guide |
Smaller independents worth naming without the same depth of verification: Tenjin and AppsFlyer-adjacent regional players like Airbridge have real market share in specific verticals (gaming, Asia-market apps respectively) but we have not independently confirmed their current funding or ownership status to the standard above, so treat them as names to research directly rather than entries we are vouching for here.
The US Compliance Overlay: CCPA, COPPA, and Three Settlements Worth Reading
Three real, named enforcement actions do more to explain what regulators actually care about than any summary of the statutes, because each one shows exactly what a real investigator flagged in a real mobile app.
- Sephora, August 2022, $1.2M, first-ever CCPA settlement: The California Attorney General's complaint stated that a business's use of "widely-used" advertising and analytics technologies can itself constitute a "sale" of personal information under CCPA's broad definition, because the "other valuable consideration" a business receives in exchange can be the free or discounted analytics service itself, not just cash. An attribution SDK sending a device identifier to an ad network in exchange for free measurement tooling fits this description directly.
- Tilting Point Media, June 2024, $500K, CCPA and COPPA: The California Attorney General and the Los Angeles City Attorney settled with the mobile game developer over misconfigured ad and analytics SDKs that shared children's personal information without the required consent. The settlement requires Tilting Point to maintain a written SDK governance framework, reviewed at least annually, documenting every SDK, what data category it can access, and the business purpose for using it: a concrete, reusable template for any app's own SDK audit.
- PlayOn Sports (2080 Media Inc.), February 2026, $1.1M, CCPA: The California Privacy Protection Agency's stipulated order against the high-school sports ticketing platform (GoFan, MaxPreps, NFHS Network) found its tracking-technology opt-out mechanism inadequate: phone and email opt-outs alone weren't sufficient when the app used tracking SDKs including Meta Pixel, and directing users to third-party industry opt-out tools (the NAI, the DAA) didn't satisfy the legal obligation either. On mobile specifically, the order noted the consent banner sometimes blocked the screen area needed to display a ticket, functionally forcing consent to enter a venue.
Layered over all three is the FTC's amended COPPA Rule, published in the Federal Register on April 22, 2025, effective June 23, 2025. General compliance was required by April 22, 2026, a deadline that, as of this guide's publication date, has already passed; COPPA safe harbor programs had an earlier compliance date of October 22, 2025. If your app has any plausible child-directed or mixed-audience exposure, that is a current obligation, not a future one, and it belongs in the same SDK-inventory exercise the Tilting Point settlement describes, not treated as a separate legal review disconnected from the technical implementation.
The EU Overlay: Germany's ATT Case and the October 1 DMA Terms
Two separate EU-adjacent developments landed on nearly the same calendar as this guide, and conflating them is an easy mistake to make.
The first is specific to Apple's tracking consent prompt. Germany's Federal Cartel Office, the Bundeskartellamt, opened an investigation into Apple's App Tracking Transparency framework in June 2022 over self-preferencing: whether Apple's own first-party consent flow was designed to encourage "allow" while third-party apps' requests were structured in a way more likely to discourage it, which the authority viewed as unequal treatment under German competition law. On August 17, 2026, the Bundeskartellamt declared Apple's remedial commitments binding and closed the case. The redesign reported across multiple outlets covering the decision: Apple removes the warning-hand icon and the word "tracking" from the prompt, simplifies the choice to a neutral "Allow" or "Reject," gives developers room (reportedly up to 4,000 characters) to explain why personalized advertising funds their app, and may ask the same user again after one year rather than only once. Apple has roughly four months from the decision to implement the change, and the commitments are reported to bind Apple for seven years once implemented.
The second, unrelated except in timing, is Apple's broader EU Digital Markets Act compliance terms, which took effect October 1, 2026: a single set of business terms for every developer distributing in the EU, the Core Technology Fee replaced by a 5% Core Technology Commission on digital transactions outside the App Store, and expanded ability to link users to alternative payment processors, third-party marketplaces, or a developer's own website rather than only Apple's own payment system.
We want to be precise about what we could and could not confirm here: the Bundeskartellamt's decision is a German antitrust matter, and while multiple news outlets covering it report that Apple's resulting prompt redesign applies EU-wide rather than only in Germany, we were not able to directly verify that scope detail against Apple's own primary documentation due to a network restriction in our research tooling. Confirm the current rollout scope directly with Apple's developer documentation before making a scope-specific decision based on it.
What the Opt-In Rate Actually Is
Every conversation about mobile attribution eventually arrives at the same question: what percentage of users actually allow tracking? We are going to answer it more carefully than most of what circulates in this market, because the honest answer is "it depends on whose panel you're reading, and none of them is everyone."
Adjust's Mobile App Trends 2026 report, built on its own install-cohort data with a disclosed methodology (aggregated and anonymized, subject to volume thresholds, averaged per app after excluding statistical outliers), reported a global average opt-in rate of 38% in Q1 2026, up from 35% in Q1 2025, with gaming apps highest at roughly 39% and publication apps showing one of the largest year-over-year gains. Separately, eMarketer's industry KPI trackeraggregates quarterly benchmark reports from AppsFlyer and Singular, each with its own disclosed but different methodology; AppsFlyer's figure, for instance, is calculated only from apps clearing a minimum 30,000-install threshold per quarter and country, which is a meaningfully different sample than Adjust's.
The deeper reason this matters operationally, not just rhetorically: your conversion-value mapping strategy (discussed earlier) and your realistic spend-attribution coverage both depend on your own opt-in rate, not an industry figure. An app in a vertical with a 20-point-lower opt-in rate than the "average" needs a measurement strategy that leans more heavily on modeled and aggregated data from day one, not a strategy copied from a benchmark report describing a different population of apps entirely.
Reference Architecture: What to Build, and in What Order
The order matters because each layer depends on the one before it reporting correctly, the same lesson our offline-first architecture guide makes about foundational engineering generally: a sophisticated system built on top of a broken foundation just produces confident-looking garbage faster.
| Step | What | Access Pattern | Failure Mode If Skipped | Why This Order |
|---|---|---|---|---|
| 1 | Platform framework baseline | Read-only; confirm SKAdNetwork and/or AdAttributionKit are correctly registered and conversion values are mapped to real post-install events | Every install reports with no meaningful conversion data attached, and no amount of MMP tooling downstream fixes a broken source | This is the foundation. Get Apple's own frameworks reporting correctly before paying anyone to sit on top of them. |
| 2 | Android AD_ID and consent gating | Manifest permission declaration plus a check that child-directed and opted-out users never receive a real identifier | Attribution silently returns zeros for a growing share of installs with no error anywhere in the pipeline | Fails the same way push notification's dead-token problem does: quietly, and only visible once someone audits the raw numbers months later. |
| 3 | SDK inventory and data-sharing audit | Read of every integrated SDK's actual outbound data, mapped to a documented business purpose | You cannot answer a regulator's or a user's question about what data leaves the device and why | This is the step Tilting Point's settlement makes mandatory in substance if not in your specific jurisdiction. Do it before, not after, a complaint. |
| 4 | MMP integration and deduplication | Write: route platform postbacks and Android signals into one system that dedupes across ad networks | Each ad network reports its own, overlapping, uncorroborated numbers with no way to reconcile total spend against total installs | Only build this once steps 1-3 are solid; an MMP deduplicating garbage data just produces organized garbage. |
| 5 | Consent and compliance layer (CCPA, COPPA, ePrivacy as applicable) | Write: wire actual consent state into what data the SDK layer is allowed to send, not just what the privacy policy claims | Privacy policy and actual SDK behavior diverge, which is precisely the fact pattern in the Sephora and Tilting Point settlements | Sequenced after the data flows are mapped (step 3) because you cannot gate what you have not first inventoried. |
| 6 | Cross-channel reporting and modeling | Read-heavy; dashboards, incrementality testing, modeled conversion for the gap SKAdNetwork's privacy thresholds leave uncovered | Spend decisions get made on whichever channel's self-reported numbers look best, not on actual incremental return | Last, because it is only honest once everything upstream is correctly instrumented. Reporting cannot fix a broken measurement foundation. |
Two further architectural notes worth stating plainly. First, deep linking and attribution are adjacent but distinct systems that too many teams conflate: a link can route a user to the right in-app screen without ever touching attribution, and attribution can correctly credit an install without any deferred deep link involved. If you are building both, our deep linking implementation guide (linked below) covers the routing layer specifically, including why Firebase Dynamic Links' shutdown broke more attribution flows than most teams expected, since many apps had quietly used Dynamic Links as a deferred-deep-link-slash-attribution shortcut.
Second, the SDK inventory step (step 3) is not a one-time audit to close out in a sprint. Ad networks and analytics vendors update their own SDKs on their own schedule, sometimes changing what data a given SDK version collects without a corresponding version bump in your own app. A named owner reviewing the inventory on a recurring cadence, the same discipline our mobile app RFP template guide recommends specifying up front when scoping a build through a formal proposal process, is the only way this step stays true after launch instead of becoming stale documentation nobody re-checks.
Vendor Selection Red Flags
| Claim | Reality |
|---|---|
| "We get you the real IDFA/GAID on both platforms" | If this bypasses ATT consent or Android's AD_ID gating, it is either describing fingerprinting (a probabilistic, non-consented identification method that regulators increasingly treat as tracking regardless of what it's called) or it is simply false. Ask exactly how. |
| A quoted "industry average" opt-in or conversion rate with no named report | Ask for the specific report, its publication date, and its methodology. Adjust, AppsFlyer and Singular all publish disclosed-methodology benchmark reports; a vendor who can't name one is likely repeating an unsourced figure. |
| "Fully GDPR/CCPA compliant attribution" as a product-wide claim | Compliance is a property of your specific data flow, consent implementation and jurisdiction, not a checkbox a vendor's SDK can satisfy on its own regardless of how you configure and disclose it. Ask what their product makes possible, not what it claims to guarantee. |
| No clear answer on SDK data-sharing documentation | If a vendor cannot tell you, in writing, exactly what data their SDK collects and where it goes, you cannot complete the SDK inventory step that both the Tilting Point settlement and basic due diligence require. This is a disqualifying gap, not a minor one. |
| Silence on AdAttributionKit's alternative-marketplace coverage if you operate in the EU | SKAdNetwork alone never measured installs from third-party EU marketplaces. A vendor still talking only about SKAdNetwork in 2026 for an EU-facing app has not kept its own integration current. |
A Worked Scenario
We don't have a Frenchy Digital client case study that specifically documents attribution-stack metrics; rather than stretch an unrelated project's public numbers to fit this topic, here is an honest, explicitly illustrative scenario worked from figures verified earlier in this guide.
Consider a consumer subscription app spending $60,000 a month on iOS user acquisition across three ad networks
Using Adjust's Q1 2026 gaming-adjacent opt-in benchmark of roughly 38-39% as a rough planning assumption (not this specific app's actual rate, which the team would need to measure directly), roughly three in five installs arrive with ATT declined, meaning SKAdNetwork and AdAttributionKit's aggregated postbacks, not direct user-level data, are the primary measurement source for the majority of spend, not an edge case to handle later. If the team's conversion-value mapping only encodes a single "subscribed" event rather than a staged sequence (trial started, trial converted, first renewal), SKAdNetwork's one-shot-per-postback-window structure means most of that nuance never reaches the ad network at all, and campaign optimization ends up blind to the difference between a network driving cheap trials that never convert and one driving fewer, more durable subscribers.
The fix is architectural, not a vendor swap: design the conversion-value scheme around the funnel stages that actually predict revenue before launch, verify Android's AD_ID permission is correctly declared and gated for any child-directed surface in the app, and route both platforms' postbacks through whichever MMP the team selects only after steps 1 and 2 are solid, so the dashboard reflects a correctly instrumented system rather than organizing bad data into a confident-looking chart.
What This Costs, and Its Limits
| Engagement | Range | Timeline | Typical Scope |
|---|---|---|---|
| Discovery + measurement audit | $9k-$22k | 2-4 weeks | SKAdNetwork/AdAttributionKit configuration review, Android AD_ID handling check, SDK data-sharing inventory, CCPA/COPPA consent posture audit |
| Single-platform attribution build | $28k-$70k | 4-9 weeks | Correctly engineered conversion-value mapping, postback handling, and MMP integration for one platform |
| Multi-platform build with deep linking and cross-channel reporting | $70k-$180k | 9-16 weeks | iOS and Android attribution, deep linking, MMP deduplication, cross-channel dashboarding, consent-gated data flows |
| Enterprise / regulated build (SDK governance, CMP integration, compliance posture) | $180k-$420k+ | 14-24 weeks | Documented SDK governance framework, consent-management-platform integration, COPPA/CCPA compliance documentation, multi-region rollout |
One scoping note specific to this domain: discovery should always include a specific check for two artifacts most teams have never looked at directly: whether the app still relies on Firebase Dynamic Links for any deferred-deep-link-as-attribution shortcut (a shut-down product, covered in our deep linking guide), and whether the Android manifest actually declares the AD_ID permission on every build variant, not just the one someone checked once.
Get Your Attribution Stack Audited in One Call
Book a free 60-minute discovery call with Frenchy Digital, a senior-led Black-owned Los Angeles agency. We baseline your current attribution configuration and SDK data-sharing posture and send a written, fixed-price phased proposal within 5 business days.
1517 S Bentley Ave Apt 204, Los Angeles CA 90025
Frequently Asked Questions
Sources & References
- 1Google Privacy Sandbox: Update on Plans for Privacy Sandbox Technologies↗
- 2Apple Developer Documentation: SKAdNetwork↗
- 3Apple Developer Documentation: AdAttributionKit↗
- 4Apple WWDC24 Session 10060: Meet AdAttributionKit↗
- 5Apple Developer: Changes for Apps in the European Union↗
- 6Apple Newsroom: Apple Announces Changes for Apps in the European Union (August 2026)↗
- 7MacRumors: Apple Agrees to Make 'App Tracking Transparency' Changes in Germany↗
- 8Digital Policy Alert: Bundeskartellamt Investigation into Apple's App Tracking Transparency Framework↗
- 9Federal Register: Children's Online Privacy Protection Rule (amended), 2025-05904↗
- 10Mondaq: Children's Online Privacy Protection Act Amendments Effective June 23, 2025↗
- 11Mondaq: FTC Bars Kochava From Selling Sensitive Location Data↗
- 12Berkeley Center for Consumer Law & Economic Justice: FTC's Kochava Settlement, One Step Forward, Two Steps Back↗
- 13WSGR: Video Game App Developer Agrees to Pay $500,000 for Children's and Minors' CCPA, COPPA and Ads Violations (Tilting Point)↗
- 14Mondaq: California Attorney General Announces First CCPA Settlement (Sephora)↗
- 15Holland & Knight: CalPrivacy Fines PlayOn Sports $1.1M for CCPA Opt-Out and Notice Violations↗
- 16Google Play Console Help: Advertising ID↗
- 17Axios: AppsFlyer Raises $1B From Moloco, Google, Meta and Unity↗
- 18Mobile Marketing Magazine: AppLovin to Buy Mobile App Measurement Startup Adjust↗
- 19Adjust: ATT Opt-In Rates Report (Mobile App Trends 2026)↗
- 20Nasdaq (press release): Adjust, Mobile App Use Grew Globally in 2025 With Continued Move to Multi-Platform↗
- 21eMarketer: App Tracking Transparency Opt-In Rate (Industry KPI)↗
- 22W3C: Attribution Level 1, Working Draft (Private Advertising Technology Working Group)↗

