SteerAds
Google AdsTutoriel

Google App Campaigns : Android & iOS 2026

App Campaigns remains the only Google format that scales on mobile installs, but 2026 marks a complete decoupling between Android and iOS post-ATT. SKAdNetwork 4.0 redefines the rules on the Apple side, Firebase remains king on the Google side. Technical setup, app ROAS vs CPA, deep linking, MMP vs native, incrementality holdout. The guide that dismantles the numbers Google Ads displays.

Yoann
YoannPerformance Max Specialist
Β·Β·Β·10 min read

The average iOS eCPI in France 2025-2026 on accounts observed in public Google Ads benchmarks sits between $3.80 and $7.20 per vertical (gaming, fintech, food delivery), with weekly volatility 2x higher than Android post-ATT. On the Android Firebase side, the same average eCPI runs between $1.40 and $3.60 on the same verticals, with clean install tracking signal and reliable last-touch click attribution. This 2-3x gap between the two OSs isn't abnormal β€” it's the direct consequence of SKAdNetwork mechanically capping iOS bidding precision

App Campaigns (the historical product brand "UAC" has been officially "App Campaigns" since 2022) remains in 2026 the only Google format that seriously scales on mobile installs. The direct competitor Apple Search Ads covers App Store search, Meta covers mobile social. But steering App Campaigns in 2026 without understanding the differentiated Android/iOS constraints means condemning yourself to wrong budget arbitration β€” and paying 30 to 50% too much per qualified install. This guide details the 2026 mechanics, the complete Firebase + SKAdNetwork setup, bidding strategies per profile, deep linking, MMP vs native trade-off, and the recurring mistakes we see in audits. For the broader automated Google formats mechanics, see our complete 2026 Performance Max guide.

App Campaigns in 2026: the automated mechanics

App Campaigns (App promotion campaigns, formerly UAC) is the Google Ads campaign format exclusively dedicated to promoting iOS and Android mobile applications, launched in 2017 and deeply reshaped post-ATT iOS 14.5 in 2021. The format combines five inventories under a single automated stream: Google Search, Google Play Store, YouTube, Display Network and Discover. The advertiser provides assets (text, image, video, HTML5) and an objective (installs or in-app actions), Google distributes automatically.

According to aggregated app Google Ads data observed in public Google Ads benchmarks, App Campaigns captures 60 to 75% of paid acquisition budget of French app publishers in 2026, with Apple Search Ads (15-25%) and Meta App Install (10-20%) in second position. Google's dominance is explained by inventory coverage Play Store + YouTube + Search, unmatched by competitors. For quick calculation with 2026 benchmarks per vertical, see our free CPA calculator.

Three App campaign sub-types:

  • App Campaigns for Installs (ACi) β€” pure acquisition focus, optimization Target CPI or Target CPA install. The standard entry.
  • App Campaigns for Engagement (ACe) β€” retargeting existing users for reactivation. Requires customer match list or first-party audience. Essential beyond 100k MAU.
  • App Campaigns for Pre-registration (ACp) β€” to drive Play Store or App Store pre-registrations before launch. Specific to launches.

Technical components in 2026:

  • Asset groups β€” 5 texts of 25 characters, 5 texts of 80 characters, 20 images, 20 videos max, optional HTML5 banners.
  • Audience signals β€” Customer Match (hashed emails), similar audiences, in-market mobile.
  • Bidding β€” Target CPI, Target CPA in-app event, Target ROAS app if sufficient volume.
  • Conversion tracking β€” native Firebase, or import via Google Analytics 4, or MMP import (AppsFlyer, Adjust, Singular, Branch).
  • SKAdNetwork integration β€” automatic on Google's side for iOS, configurable conversion value mapping.

Fundamental difference with classic PMax: App Campaigns does NOT allow providing web landing pages β€” the objective is install or in-app event. Inventory coverage is also more restricted than PMax (no Gmail, no Maps). But optimization is specifically tailored for mobile, which PMax doesn't do correctly even in 2026.

SKAdNetwork latency: don't steer at D+1 :

On iOS post-ATT, SKAdNetwork returns conversions with random delay of 24-48h for the first postback, then up to 35 days for postbacks 2 and 3. Concretely: your iOS CPA displayed at D+1 in Google Ads is wrong, it's missing 60 to 75% of conversions that will arrive between D+2 and D+8. Never judge an iOS App Campaigns campaign before D+10 stabilized. This precipitation error is the most expensive error observed in public benchmarks on post-ATT app accounts β€” premature campaign cuts that would have performed.

iOS post-ATT: SKAdNetwork 4.0 and its measurement limits

SKAdNetwork is the privacy-preserving attribution framework provided by Apple since iOS 14.5 to allow ad networks to measure the effectiveness of their app campaigns without exposing user IDFA. Version 4.0 (rolled out during 2023-2024) marks the framework's maturation with three major improvements over previous 2.x versions. Complete official documentation on developer.apple.com.

The 3 critical SKAdNetwork 4.0 novelties for App Campaigns:

  • Hierarchical conversion values β€” coarse (Low/Medium/High) + fine grained (0-63) to simultaneously signal a qualitative grade and a precise value. Allows signaling both "high LTV cohort" and "$12.40 in-app purchase" at the same time.
  • Multiple deferred postbacks β€” 3 postbacks instead of 1 (windows 0-2d, 3-7d, 8-35d). The advertiser receives 3 temporally distinct signals allowing modeling a 30-day cohort LTV.
  • Web-to-app attribution β€” for campaigns that touch a website before install, SKAdNetwork 4.0 partially attributes the install to the web source. Before 2024 this was impossible, which distorted all Search-then-app campaigns.

What SKAdNetwork 4.0 does NOT fix:

  • No IDFA, so no user-level matching with your CRM.
  • No precise device/geo detail: aggregation at campaign level only.
  • Random postback delays 24-48h: no real-time steering possible.
  • Conversion value cap of 63 values (6 bits): you have to make choices about what to encode.
  • Median observed France 2025-2026 ATT consent rate: 22 to 38% per vertical β€” meaning that for 60-78% of users, you don't even have IDFA consent.

Conversion value 4.0 mapping β€” gaming free-to-play example:

// Coarse (3 levels) β€” cohort quality
// LOW    : install only, no tutorial completed
// MEDIUM : tutorial complete + level 5
// HIGH   : in-app purchase OR level 20+

// Fine (0-63) β€” encoded monetary value
// 0-9   : $0 (no IAP)
// 10-19 : $0.01-$2.99 IAP
// 20-29 : $3.00-$9.99
// 30-39 : $10.00-$29.99
// 40-49 : $30.00-$99.99
// 50-63 : $100.00+

iOS post-ATT operational implications:

  • D+1 reporting useless β€” wait minimum D+10 to judge an iOS campaign.
  • Tight Target CPA impossible β€” prefer Target CPI or relaxed qualified event tCPA.
  • No audience granularity β€” impossible to see if a given in-market segment over-performs on iOS.
  • LTV modeling essential β€” without 30-day cohort LTV, iOS budget arbitrations are blind.
  • Holdout test even more critical β€” incremental measurement is the only real source of truth.

For broader conversion tracking (web and app), see our Google Ads conversion tracking guide. Enhanced Conversions principles also apply on the app side via Firebase, but with additional iOS-side limitations.

Android and Firebase: the complete setup

On the Android side, Firebase is Google's reference ecosystem for app tracking and Google Ads integration. Launched in 2014, acquired by Google late 2014, Firebase combines analytics, crash reporting, A/B testing, push notifications, dynamic links and remote config β€” the whole designed to interface natively with Google Ads on Android. Android tracking via Firebase is significantly more accurate than iOS post-ATT: no ATT equivalent on Google Play side, clean last-click attribution, real-time signal.

Firebase + Google Ads setup in 6 steps (consolidated procedure from HowTo):

  1. Create Firebase project + add Android app β€” bundle ID, SHA-1 fingerprint, downloader google-services.json.
  2. Integrate Firebase Analytics SDK in Android Studio project (gradle dependencies firebase-analytics).
  3. Link Firebase to Google Ads in Firebase Console > Integrations > Google Ads. Google Ads Admin permission required.
  4. Mark conversion events in Firebase Analytics: first_open, in_app_purchase, sign_up, custom level_complete depending on vertical.
  5. Import events as Google Ads conversions: Tools > Conversions > New > App > Source Firebase.
  6. Launch UAC Installs campaign: budget 50-100x target CPI, complete assets, clean Target CPI.

Technical differences iOS vs Android Firebase:

Priority Firebase conversion events per vertical:

  • Gaming free-to-play β€” first_open, tutorial_complete, level_5, level_20, ad_impression (rewarded), in_app_purchase. Bidding target: in_app_purchase or level_20.
  • Fintech / banking apps β€” first_open, registration_complete, kyc_complete, first_deposit, transaction_complete. Target: kyc_complete or first_deposit.
  • Food delivery / quick commerce β€” first_open, sign_up, address_added, first_order, second_order. Target: first_order.
  • Subscription apps β€” first_open, free_trial_start, trial_to_paid, subscription_renewal_3m. Target: trial_to_paid (strong value signal).
  • E-commerce m-commerce β€” first_open, view_item, add_to_cart, begin_checkout, purchase. Target: purchase or begin_checkout depending on volume.

Custom Events Firebase configuration: beyond standard events, Firebase allows up to 500 custom events per project. Recommendation: create 5-10 custom events maximum dedicated to critical business signals, with attached parameter_value for tROAS. Don't multiply events "to see," it pollutes Smart Bidding ML.

For broader audience strategy applicable cross-channel, see our affinity, in-market and custom audiences guide. Android Customer Match lists are built identically β€” the difference is just match quality on Android store side vs Apple.

Bidding strategies: tCPA, tROAS, Maximize Installs

App Campaigns exposes 4 bidding strategies in 2026, each adapted to a different maturity and conversion volume profile. Choosing the wrong strategy is the #2 mistake we see in audits (after premature post-launch judgment timing) β€” typically advertisers who move to Target ROAS without 50 weekly value-based conversions, and see their CPI explode without real ROAS gain.

The 4 App Campaigns 2026 bidding strategies:

  • Maximize Installs (formerly Target CPI without target) β€” pure install volume focus, no CAC constraint. Good in exploration phase D1-D14 to let the algorithm find segments. Risky past D+30 without bounds.
  • Target CPI β€” defined target cost per install. Stable from 30 installs/week. Suited for early-stage growth apps that don't yet have strong quality signal.
  • Target CPA in-app event β€” target cost per qualified event (purchase, signup, tutorial_complete). Recommended from D+15 when install volume is stabilized. Requires 30+ qualified events/week.
  • Target ROAS app β€” target return on investment with conversion value tracking. Requires 50+ value-based conversions/week, ideally 100+. Reserved for mature gaming/e-com/subscription apps.

The practical progression rule:

  • D1-D14 β€” Maximize Installs without constraint. The goal is to stabilize the ML on 50+ first_opens/14 days.
  • D15-D28 β€” Switch to Target CPA oriented to qualified in-app event (signup_complete, level_5, first_purchase). Target at 1.8-2.5x of average CPI observed in D1-D14.
  • D29-D60 β€” If value-based volume above 50 conv/week and reliable ROAS tracking: test Target ROAS app. Initial target at 0.8x of equivalent web ROAS (apps have a longer but more diluted LTV).
  • D60+ β€” Cruise mode, monthly Target ROAS or Target CPA adjustments based on observed drift.

Classic mistake to avoid: moving from Maximize Installs directly to Target ROAS without intermediate Target CPA event step. The ML hasn't had time to learn which in-app events correlate with conversion value. Result: CPI explosion, ROAS that never stabilizes. Always do the intermediate Target CPA event step.

Specific iOS post-ATT case: on iOS, given the SKAdNetwork 24-35d latency, Target ROAS app is rarely practical before 90 days of stabilized campaign. On the first 30 iOS days, imperatively stay on Target CPI or Target CPA event. The tROAS iOS transition is a Q2 objective of an app strategy, not Q1.

For broader Smart Bidding mechanics applicable beyond apps, see our ROAS, CPA and CPC guide. The 14-50 conversion stabilization principles apply identically, but with additional iOS-side SKAdNetwork constraints.

Deep linking and post-install engagement

Deep linking is the technique that allows an ad click to send the user directly to a specific screen in your app (product screen, cart, target reactivation screen), rather than the default home screen. It's the main differentiator between an effective modern App Campaigns and amateur setup. Without clean deep linking, your App Campaigns for Engagement (ACe) waste 60 to 80% of their reactivation potential.

The 2 technical standards in 2026:

  • iOS Universal Links (Apple) β€” apple-app-site-association (AASA) file hosted on your root HTTPS domain, declaring the paths that should open the app instead of Safari browser. Capricious setup: requires valid HTTPS certificate, strict JSON syntax, Apple-side validation via CDN.
  • Android App Links (Google) β€” assetlinks.json file hosted on /.well-known/assetlinks.json of your domain, plus intent-filter declaration in AndroidManifest.xml with android:autoVerify="true". More tolerant setup than iOS, automatic Google validation.

Minimal AASA file iOS setup (apple-app-site-association):

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "TEAMID.com.example.myapp",
        "paths": ["/product/*", "/cart", "/account/*", "NOT /admin/*"]
      }
    ]
  }
}

Minimal Android assetlinks.json setup:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.myapp",
    "sha256_cert_fingerprints": ["AA:BB:CC:..."]
  }
}]

Measured impact of deep linking on accounts observed in public benchmarks:

  • ACe post-click engagement rate β€” 12 to 18% without deep linking, 38 to 54% with clean deep linking. Ratio 2.5 to 4x.
  • ACe qualified event CPA β€” 28 to 45% reduction on average with deep linking activated, vs without.
  • D+7 retention cohort acquired users β€” 12 to 22 points higher with deep linking (the user lands where the experience is consistent with the ad).
  • 90-day ACe ROAS β€” 1.4 to 2.1x higher with deep linking, on accounts having done before-after measurement.

2026 deep linking tools:

  • Firebase Dynamic Links β€” Google's native solution, free, integrated with Firebase. Deprecation announced by Google late 2024, end of support August 2025. No longer use it for new projects in 2026.
  • Branch.io β€” 2026 market leader post-Firebase Dynamic Links deprecation. Free plan up to 10k installs/month, paid beyond. Very complete documentation.
  • Adjust DeepLinks β€” integrated with Adjust MMP clients. Convenient if you already use Adjust for tracking.
  • AppsFlyer OneLink β€” equivalent on the AppsFlyer side. Same, integrated with AppsFlyer ecosystem.
Firebase Dynamic Links migration β€” 2026 timeline :

If your app still uses Firebase Dynamic Links after August 2025, your deep linking links are broken. In our audits, about 30% of mid-market French apps haven't yet migrated early 2026. The symptom: ACe campaigns with post-click engagement under 15%, free-falling cohort retention. Migration to Branch or AppsFlyer OneLink urgent β€” count 5 to 12 days of cross-OS dev to migrate cleanly.

For the audience strategy that underpins engagement, see our first-party audiences guide. The most engageable post-install audience is always the cohort "mobile site visitors last 30 days" crossed with "used app last 90 days but not last 30 days" β€” pure reactivation segment.

App attribution: MMP (AppsFlyer, Adjust) vs native

The mobile measurement partner (MMP) is a third-party app attribution platform that sits between your app and ad networks (Google Ads, Meta, Apple Search Ads, TikTok), to deduplicate attributions and provide a unified cross-channel view. The 4 market leaders in 2026: AppsFlyer, Adjust, Singular, Branch β€” each with distinct strengths and weaknesses. Fundamental question: should you pay for an MMP or settle for native Google Ads tracking (Firebase for Android + SKAdNetwork for iOS)?

Native Google Ads tracking (Firebase + SKAdNetwork) is enough if:

  • You serve 80%+ on Google Ads (App Campaigns + Search). If all your budget is Google, MMP is over-engineering.
  • No Meta App Install or TikTok For Business app campaign. Otherwise, attribution will be duplicated on both sides.
  • No CRM offline conversion tracking necessary. Otherwise, MMP becomes useful for device-level matching.
  • Cumulative cross-channel volume below $5,000/month. The MMP cost isn't paid back below this threshold.

MMP becomes nearly mandatory if:

  • 2+ paid acquisition channels (Google + Meta, Google + TikTok, Google + Apple Search Ads). Deduplication is critical.
  • App budget above $8,000/month cross-channel β€” MMP cost is paid back in less than 60 days through over-attribution savings alone.
  • Need for 30/60/180-day LTV cohort per source β€” almost systematic requirement in gaming, fintech, subscription.
  • Business-grade reporting dashboards oriented to CFO/CEO β€” Looker, Tableau, data warehouse integration.
  • Complex attribution setup β€” fingerprinting, iOS probabilistic attribution, deep linking + tracking.

MMP comparison 2026 β€” the 4 leaders:

Recommendation by profile:

  • Early-stage app (0-50k MAU) β€” Branch free tier for deep linking + Firebase for Google tracking. No paid MMP.
  • Growth app (50-500k MAU) β€” AppsFlyer or Adjust depending on reporting preference. Branch/AppsFlyer OneLink for deep linking.
  • Mature app (500k+ MAU multi-country) β€” typically AppsFlyer, or Adjust if analytics-heavy stack. Singular if focus on cross-channel spend optimization.
  • Hyper-cas free-to-play gaming app β€” Adjust often preferred (rich Cohort analytics), AppsFlyer as alternative.

MMP setup on Google Ads side β€” 3 critical points:

  1. Configure MMP postback to Google Ads: in MMP console, declare Google Ads as partner, provide Google Ads Customer ID, enable installs and qualified events postbacks.
  2. Disable Firebase analytics Google Ads conversions or mark them as non-conversion to avoid double-counting. Either MMP or Firebase, not both as primary conversion sources.
  3. Map MMP events to corresponding Google Ads events: in_app_purchase MMP must align with in_app_purchase Google Ads.

MMP vs native over-attribution risk: AppsFlyer and Adjust attribute by default in last-click + 24h view-through, exactly like native Google Ads. The MMP does NOT reduce over-generated attribution β€” it gives a cross-channel view. Deduplication yes, incrementality measurement no. For that, holdout test remains mandatory.

For multi-touch attribution mechanics in general, see our Discovery Ads and incremental truth guide. The 4 typical over-attribution patterns apply identically to apps β€” what changes is just the delivery (MMP SDK vs web pixel).

Common mistakes in App Campaigns

In the app audits we conduct in 2025-2026, here are the 7 recurring mistakes β€” each typically costs 20 to 40% App Campaigns performance over the first 90 days after activation. Most are avoidable with clean setup.

Mistake 1 β€” Judging an iOS campaign at D+1. With SKAdNetwork postback delays of 24-48h, your D+1 iOS CPA is mechanically wrong. You see $2.80 CPA displayed, you cut in panic, you miss the conversions arriving D+3 to D+8 that would have brought real CPA to $1.50. Strict rule: never iOS decision under 10 days of campaign, and ideally under 14 days to absorb a complete weekly cycle.

Mistake 2 β€” Conversion event setup too low in the funnel. Optimizing App Campaigns on first_open is tempting (high volume) but ineffective: the algorithm seeks installs that open the app once, not qualified installs. Target qualified event as soon as possible: tutorial_complete, signup, level_5, first_purchase. Reportedly CPA increases +30 to +60% vs first_open, but quality 2 to 5x better and 60-day ROAS significantly higher.

Mistake 3 β€” No iOS / Android separation in campaigns. Mixing iOS and Android in a single campaign lets Smart Bidding blindly allocate to the cheapest platform (often Android), depriving you of platform-by-platform visibility. Always create 2 separate campaigns: 1 iOS only + 1 Android only. Allows differentiated tCPA steering and clean reporting.

Mistake 4 β€” Ignoring video ad assets. On YouTube + Display App Network, video ads have 2 to 3.5x higher CTR than static image ads in 2026. An App Campaigns campaign without video mechanically deprives itself of 40 to 60% of inventory potential. Minimum: 3 vertical 9:16 videos (15-30s) + 2 horizontal 16:9 videos. No generic stock footage: real in-app gameplay/UX videos.

Mistake 5 β€” Confusing CPI and event CPA. CPI (cost per install) and qualified event CPA are 2 distinct metrics that should never be confused in steering. Advertisers who steer on flat CPI without looking at the post-install funnel buy junk install volume: people who download then never open the app. Low CPI + high event CPA = classic trap. Always look at both together.

Mistake 6 β€” Customer Match list not rehashed between networks. If you use Customer Match on Google Ads + Custom Audience on Meta + Apple Search Ads custom audiences, each network requires a specific hash format. Many advertisers upload the same list everywhere without rehashing, resulting in: 60 to 80% of matches silently fail. Check match rate in each interface β€” if less than 40%, it's probably a hash/normalization problem.

Mistake 7 β€” No quarterly geo holdout test. Without holdout, you don't know how many of your installs claimed by App Campaigns are incremental vs how many are cannibalized organic. According to public benchmarks, typically 18 to 32% over-attribution. 28-day holdout on 1 representative French region every 90 days β€” that's the only clean method. Pause App Campaigns on test zone, measure organic installs + other channels, calculate real incremental.

App holdout methodology β€” the short version :

Choose 1 French region representing 8 to 15% of usual install volume (Brittany, Occitanie, Nouvelle-Aquitaine are classics). Pause App Campaigns by geo exclusion at campaign level. Let everything else run everywhere. Measure 28 consecutive days: organic installs per zone, other-channel installs per zone. If organic installs in test zone rise by more than 20% vs control zones, it's organic cannibalization. Real incremental = claimed App Campaigns installs minus organic lift. If incremental is below 60% of claimed installs, optimize audience signals and placement exclusions before scaling. It's uncomfortable but it's the only truth.

For app accounts that want to automate cannibalization monitoring and cross-channel arbitrations without relaunching a manual holdout each quarter, our SteerAds audit module detects typical over-attribution patterns and proposes a holdout test plan adapted to account volume. To situate App Campaigns in the broader 2026 video channel battle, follow up with our YouTube Ads vs TikTok Ads 2026 comparison. And to understand how Google plays on Display vs Meta on the cross-network side, our 2026 Display vs Meta Ads guide gives the figured arbitrations. Complementary official resource to dig into SKAdNetwork on the Apple side: the StoreKit/SKAdNetwork documentation on developer.apple.com.

App Campaigns remains in 2026 the most powerful mobile install format on the market, but steering an app without understanding the iOS SKAdNetwork and Android Firebase dichotomies means arbitrating blindly. The real craft of modern app promotion consists of isolating what's measurable from what isn't, compensating iOS blind spots with cohort LTV modeling, and validating each budget arbitration through geo holdout. Everything else β€” bidding, creatives, audiences β€” flows from this measurement discipline β€” see also official Google Ads documentation for more details. Our LTV calculator with margin scenarios returns gross LTV + post-margin LTV over 12-36 months.

Sources

Official sources consulted for this guide:

FAQ

Does App Campaigns still work properly on iOS post-ATT in 2026?

Yes, but under fundamentally degraded mechanics compared to 2020-2021. SKAdNetwork 4.0 (rolled out during 2023-2024) now returns conversion values in hierarchical structure and allows up to 3 deferred postbacks, which improves post-install measurement compared to SKAdNetwork 2.0. But attribution remains aggregated at campaign level, without IDFA, with 24-48h delays on the first postback and up to 35 days on the third. iOS eCPI in France 2025-2026 on accounts observed in public benchmarks: $3.80 to $7.20 depending on vertical (gaming, fintech, food delivery), with weekly volatility 2x higher than Android. The practical rule: iOS is no longer steered with tight CPA, but with cohort LTV at 30/60 days via MMP.

Should you use AppsFlyer or Adjust, or settle for native Firebase tracking?

Depends on the maturity of your stack and the cross-network trade-off. Firebase + native Google Ads is enough if you serve 80%+ on Google and have no Meta, TikTok, or Apple Search Ads campaigns running in parallel β€” it's free, integrated, and the data flows directly into Smart Bidding. But as soon as you launch 2+ acquisition channels, an MMP (AppsFlyer, Adjust, Singular, Branch) becomes nearly mandatory to deduplicate attribution, compare CACs across networks and reason in LTV cohorts. Typical 2026 AppsFlyer cost: $0.03 to $0.10 per attributed install depending on volume. On accounts we track with cross-channel app budget above $8,000/month, MMP pays for itself in less than 60 days through over-attribution savings alone.

Target ROAS app vs Target CPA: which to choose in 2026?

Target CPA is the default entry for 70 to 85% of app accounts observed in public benchmarks β€” it requires only a clean install or first-open signal, and stabilizes in 14-21 days as soon as you exceed 30 conversions/week. Target ROAS app requires a reliable value signal (in-app purchase, subscription, monetized game round) and 50+ value-based conversions per week to stabilize. If you're in gaming, e-commerce, fintech with traceable in-app purchases: tROAS from D21 if volume sufficient. If you're in lead gen, food delivery, social, fitness: stay on tCPA oriented to qualified in-app event (signup, registration_complete, purchase_first). The trap: moving to tROAS without 50 weekly value-based conversions blows up CPI without ROAS gain.

Should you run a holdout test on App Campaigns like on Performance Max?

Absolutely yes, and it's even more critical in app than in web. App Campaigns typically over-attributes 18 to 32% of claimed installs on accounts we track, mainly due to iOS SKAdNetwork 24h view-through and generous Android Firebase last-click attribution. The methodology: 28-day geo holdout on 1 representative French region (8 to 15% of volume), pause App Campaigns on this zone, measure organic installs + other channels in parallel. If organic installs in test zone rise by more than 20%, it's organic cannibalization β€” your real App Campaigns incremental is below 60% of claimed installs. This holdout is the only way to correctly calibrate your real Target CPA.

Is deep linking really essential or is it over-engineering?

Essential as soon as your app exceeds 50,000 monthly active users. Without deep linking, your App Campaigns for Engagement (ACe) retargeting campaigns send users to the app's home screen β€” median post-click engagement rate 12 to 18%. With clean deep linking (iOS Universal Links + Android App Links), the user lands on the target product or reactivation screen β€” post-click engagement rate 38 to 54%, i.e. 2.5 to 4x better. Setup requires 2 to 5 days of dev (iOS AASA file configuration, Android assetlinks.json, Android Manifest intents) plus a Firebase Dynamic Links or Branch integration. Typical observed ROI: recovered in less than 30 days on ACe budgets above $2,000/month.

Ready to optimize your campaigns?

Start a free audit in 2 minutes and discover the ROI potential of your accounts.

Start my free audit

Free audit β€” no credit card required

Keep reading