← All articles
TRACKING

iOS conversion tracking is broken. Here's how GA4 and Google Ads actually fix it

Jul 19, 2026 · 9 min read · by Tufayel Hossain

If your Google Ads conversions have felt undercounted since roughly 2021, you're not imagining it. iOS privacy changes, Safari's Intelligent Tracking Prevention, and the EU's consent requirements have quietly deleted somewhere between 20% and 30% of the conversions actually happening on your site. The good news: there's now a real fix, not just a workaround.

Why iOS breaks tracking specifically

  • ITP caps first-party cookie life at 7 days for cookies set via JavaScript — so a user who clicks your ad and converts 8 days later looks like organic traffic, not a paid conversion.
  • Safari blocks third-party cookies entirely. Cross-domain tracking (checkout on a different subdomain, for instance) silently fails.
  • App Tracking Transparency means in-app browser traffic and app-attributed conversions are often invisible unless specifically engineered around.
  • The compounding effect: iOS device share is 25-55% depending on your market and audience — this isn't an edge case, it's a meaningful slice of your actual customers going unmeasured.

The fix, in the right order

  • 1. Enhanced Conversions (do this first — it's free and fast). Pass hashed first-party data (email, phone) with each conversion. Google matches the conversion to the click even when cookies are gone. This alone typically recovers a meaningful chunk of "lost" iOS conversions within days.
  • 2. Consent Mode v2, if you serve EU/UK/California traffic. Without it, tags simply don't fire for users who haven't consented — and Google won't model those conversions either. With Consent Mode, Google statistically models the gap using aggregated, privacy-safe signals instead of losing the data entirely.
  • 3. First-party server-side tracking. Move your tagging to your own subdomain via a server-side GTM container. This defeats ITP's cookie-lifespan cap because the cookie is set by your server as a genuine first-party cookie, not a JS-set one. Full setup detailed in the server-side tracking guide.
  • 4. Fix cross-domain tracking explicitly. If checkout lives on a different domain or subdomain, configure cross-domain measurement in GA4 (Admin → Data Streams → Configure tag settings) or every purchase attributes to "referral" instead of your ads.
  • 5. Extend conversion windows realistically. If ITP caps cookies at 7 days but your sales cycle is 14, you're structurally under-measuring regardless of the above. Check your actual time-to-convert data and adjust attribution windows in Google Ads accordingly.
None of this gets you back to 100% measurement. That number is gone permanently, for every advertiser, on every platform. The goal is shrinking the gap and knowing its size — not chasing perfection.

How to know if this is actually your problem

  • Compare backend orders/leads against platform-reported conversions for iOS vs. Android/desktop separately, if your CRM supports the split. A large iOS-specific gap confirms the diagnosis.
  • Check GA4's "modeled conversions" volume (Admin → Attribution settings) — a high modeled percentage means a large chunk of your data is currently estimated, not observed.
  • If you've never touched Enhanced Conversions or Consent Mode, assume you have this problem. Almost every site does by default.

What changes once it's fixed

Smart Bidding was optimizing toward whatever slice of reality it could see — probably overweighting Android/desktop users and underweighting iOS, regardless of who your actual best customers are. Recovering the missing 20-30% doesn't just make your numbers look better; it changes what the algorithm learns to prioritize. Expect a 1-2 week recalibration period after implementing Enhanced Conversions and server-side tracking together — during that window, judge trends, not day-to-day swings.

This is unglamorous, unavoidable work. Every account running on 2021-era tracking assumptions is quietly bidding on a distorted map. Fixing it is usually the highest-leverage hour you can spend before touching a single bid.

Want this fixed in your account?

30 minutes, zero corporate small talk. Bring what's broken — or what's about to be great.

Book a free strategy call