TGViewer
In-App: Global Mobile Marketing Blog In-App: Global Mobile Marketing Blog @inappglobal · 603 subscribers
Post #260 321
#advices from 📱

Today I am sharing some tips about setting up iOS Web-to-App tracking for Google Ads with AppsFlyer — and measuring the impact of Custom Product Pages by Juan David Gutiérrez Olarte

Here’s the setup that worked for us:

1️⃣ In AppsFlyer, use Google Ads Web, not the standard Google Ads integration.
2️⃣ Authenticate with a Google account that can access both the ad account and its manager account.
3️⃣ In Google Ads, create Import from clicks conversions for First Open, Registration, Trial Start, and Purchase.

Copy each ID from the ctId parameter in its Google Ads URL and map it to the event that actually appears in AppsFlyer. These may be standard AppsFlyer events or RevenueCat events.

4️⃣ In AppsFlyer:
• Disable Advanced Privacy
• Keep Advanced Matching Data Sharing disabled unless required
• Confirm the Google token is valid
• Make sure “Missing token” is gone

5️⃣ Add google.com and apps.apple.com to the AppsFlyer redirect allowlist. Enter domains only — no protocol or paths.

6️⃣ Add the AppsFlyer single-platform link to the campaign-level Tracking template in Google Ads.

It should include the campaign hierarchy, click identifiers, lookback window, af_force_transparent=true, and af_r={lpurl}.
Leave Final URL suffix and Custom parameters empty.

7️⃣ Use the direct App Store URL as the ad’s Final URL, including the CPP identifier:
?ppid=YOUR_CPP_ID

The final Google Ads test should show:
✅ Landing page found
✅ Tracking call successful
✅ Fallback landing page found

To measure the CPP impact, test:
• Control: Default App Store page
• Variant: Dedicated CPP
• Same targeting, keywords, ads, bidding, and conversion goal
• Only the Final URL changes
• Final URL expansion disabled

Compare first-open rate, trial rate, purchase rate, CPA, ROAS, and App Store conversion rate. A CPP can increase installs without improving customer quality. Select the winner based on purchase economics.

Special thanks to Ashley Black, whose work inspired me and guided this setup. I highly recommend checking out her work. Although this implementation uses AppsFlyer, Ashley and other Experts may also be a valuable resource for questions about other MMPs.

Now, to see the results..
  • 👍 2
More from @inappglobal
  1. Sep 22, 2026👨‍💻📱More Apps, Same Attention: The AI App Boom 2026 Report by a16z 👈 AI makes it much…
  2. Sep 21, 2026🚀 Google Ads: New Data and Measurement Updates 🔍 Google has announced new tools for data…
  3. Sep 18, 2026📣 AppsFlyer added attribution to organic AI-driven traffic 👈 AppsFlyer now attributes bo…
  4. Sep 18, 2026📈 Sensor Tower: State of Digital Advertising 2026 Table of contents: 🟣AI Reshapes Advert…
  5. Sep 18, 2026🎨 OpenAI added view-through attribution to ChatGPT Ads ⚡️ It released quietly in the deve…
  6. Sep 17, 2026🍏 Starting with iOS 27.2 developers can use a new version of the ATT permission prompt in…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →