Why it’s broken by design, and what actually works.
I wrote this with Burak Arslan (Sr. Search Engine Marketing Expert). We’ve both spent way too much time trying to make Google Search work for app installs. Everything we learned is below.
Update (February 26, 2026): added new info on Adjust’s web to app tracking template as an alternative to the manual offline conversion pipeline, a gotcha about Adjust’s tracking template failing Google’s URL test on iOS, and expanded the Web to App Connect section. Thanks to Burak Arslan for writing the original with me, and to Murat Turan and Matthieu Moly for surfacing the Adjust web to app setup in the wild.
Correction (September 29, 2026): I corrected the lines on ICM availability, Performance Max, Web to App Connect and the bid strategy name to match Google’s current documentation, and added the sources next to each.
The problem
You want to run Google Search campaigns for your app, with keyword control and search term visibility, the stuff that makes Search powerful for web advertisers.
Google says: “Use App Campaigns.”
App Campaigns DO show your ads on Search. But:
- Zero keyword control
- No search term visibility
- Budget burns on whatever Google decides
- Ads also serve in Play Store search, with zero visibility into which terms trigger them
“Can’t I just run normal Search campaigns for app installs?”
Not cleanly. Search wasn’t built for app installs, so every route below is a workaround.
Why it’s broken
Standard Search campaigns don’t track app installs out of the box.
Android: GCLID works via Play Install Referrer API. Attribution is technically possible with workarounds.
iOS: the GCLID can’t pass through the App Store to a fresh install, so the chain from click to install breaks there.
Performance Max: doesn’t support app install goals. It’s built for web conversions, and its route to app installs is a web to app flow (see option 4).
Google won’t give you keyword data in App Campaigns. You’re in their black box.
What you’re dealing with if you go with App Campaigns
Most advertisers end up using App Campaigns anyway. No keyword control, but it works if you have volume.
Optimize for events after install, not installs. App Campaigns should target trials, subscriptions, purchases. If you’re optimizing for installs, you’re doing it wrong.
You need at least 10 users completing your event after install per day. Google’s App campaign setup guide recommends at least 10 different users per day. Below that, the algorithm learns slowly and you pay for thin signal.
Google asks you to set a target bid before you know your economics. New advertisers are guessing their target CPA or ROAS, then paying to find out if they guessed right. If you don’t have historical data, this is brutal. Since August 2025 Google offers maximize conversions bidding on App Campaigns and tROAS on iOS, so you can let it bid without a target while you collect data. Check what your account is eligible for. In my own tests on App Campaigns, Max Conversion Value without a target beat tROAS on both platforms.
No strategy overcomes a tiny addressable market. If you can’t hit these thresholds, stop asking which workaround to use and ask instead whether paid Search is the right channel at all.
Your options
| Option | Effort | Scale | Attribution |
|---|---|---|---|
| 1. App Campaigns with text only | Very low | High | Limited, still no keyword data |
| 2. AppStack SDK | Moderate | Moderate | ROAS at keyword level |
| 3. Adjust + offline conversions | High | Low | Deterministic where the GCLID survives, in practice Android |
| 3b. Adjust web to app tracking template | Moderate | Moderate | Keyword level, via standard Search campaign reporting |
| 4. Performance Max | Not rated | Not rated | No app install goal; as a web campaign, app first opens from Search and Shopping inventory |
| 5. Web to App Connect | Not rated | Not rated | iOS limitations still apply |
Each option has its own section below with the setup and the caveats.
1. App Campaigns with text only
The default choice if you have volume.
Run an App Campaign with only text assets (no images, no video). This biases delivery toward Search inventory.
You still won’t see which keywords drove conversions. You’re just more likely to appear on Search instead of Display or YouTube.
Text only doesn’t guarantee Search only. Google can combine your text with your app icon and serve it as display. Monitor your network segment.
The Play Store is a trap too. App Campaigns also serve in Play Store search, with zero visibility into which terms trigger them. Your brand terms can trigger ads.
Established brands risk cannibalizing organic installs here. Ask your Google rep to exclude brand terms.
2. AppStack SDK
Worth considering if you need data at keyword level.
AppStack is a third party tool that automates attribution from Search to app. Integrates with your MMP (Adjust, AppsFlyer, etc.). We have run it on an account and have no commercial tie to it.
Good for teams who want to understand which keywords perform but don’t have the engineering resources for a custom pipeline.
3. Adjust + offline conversions
High effort, full control.
Build a manual pipeline:
- Adjust deep link captures GCLID
- Export conversions to Google Sheets
- Upload as offline conversions via GCLID matching
Whether this makes sense depends on your business. If you have niche audiences, small budgets, or need attribution at the click level, it can work. It doesn’t scale easily, but for some businesses that’s fine.
Alternative: Adjust web to app tracking template. If you’re running classic Search campaigns (not App Campaigns), Adjust has a native web to app setup that doesn’t require the manual GCLID pipeline above.
To set it up, you enable the Google Ads SAN integration, set up your final URL in Google Ads, then create Adjust link URLs for each campaign type (Search, Display, Video, PMax, etc.). Use the Adjust link URL as your Tracking Template.
This works best for Android, where GCLID attribution via Play Install Referrer API is solid. On iOS, you still have the same attribution gap described above. The App Store redirect breaks the chain, and Adjust’s own setup guide notes that Google Ads might not claim attribution for certain users in web to app campaigns.
I haven’t tested how other MMPs handle this yet. If you’re on AppsFlyer, Singular, etc., check with your rep whether they support a similar tracking template flow for web to app Search campaigns. For AppsFlyer, what its documentation requires is in why Google web to app shows no conversions in AppsFlyer.
If you’re working with an engineer on this, make sure they’re reading all the tracking guidelines needed for your specific case (Google, MMP, deep linking, etc.). If they’re not reading the documentation, they’re not the right engineer for this job.
4. Performance Max
Only as the web campaign in a web to app flow.
PMax still doesn’t support app install goals. It can run as the web campaign that sends people to your site, and Google’s Web to App Acquisition Measurement lists Performance Max and claims app first opens from its Search and Shopping inventory. The same page says this measurement isn’t available for accounts with web campaigns that send users straight to an app store, so the ad has to land on your site. Only relevant if you have a hybrid web + app funnel, which is rare.
5. Web to App Connect
Emerging option if you have web presence.
Google’s framework for unifying web and app advertising. It sends people who already have your app from Search, Shopping and YouTube ads straight into it. People who don’t have the app go to your mobile website as usual, Google’s App Connect page says, not to the store, so it doesn’t drive installs on its own. Any install comes later, from your site, and the attribution gaps above apply to it.
Best for advertisers who already have a web funnel and want to extend it to app.
If you’re on Adjust, this pairs with their web to app tracking template setup (see option 3 above). You create dedicated link URLs per campaign type, use them as tracking templates, and get attribution without the manual offline conversion pipeline. Keep in mind the iOS limitations still apply here. The web to app flow is most reliable on Android. I don’t know yet how other MMPs handle the Web to App Connect flow, so check with your provider.
Will Google ever give us keyword control?
I don’t expect it.
Everything in Google’s product direction points away from advertiser control:
- AI Max
- Broad match as default
- Play Store search ads in UAC with zero visibility
- Recommendations applied automatically that burn budget
The pattern is automation over transparency, Google’s goals over yours.
Apple is expanding App Store ads driven by keywords, but I don’t expect Google to follow, since they’ve chosen a different path.
The gotchas nobody tells you
Every new Google Ads account comes with defaults that widen spend:
- Broad match on by default
- Brand terms mixed into UAC
- Display network expansion enabled
- Recommendations applied automatically, active by default
If you’re not actively checking these, you’re leaking budget. Spend an hour on a new account just finding buried settings.
Adjust tracking template can fail Google’s URL test on iOS. If you’re using Adjust for web to app campaigns targeting iOS, Google might reject your tracking template because Adjust shows an intermediate landing page instead of redirecting straight to the App Store. Make sure you’re using the correct link format for your campaign type. Branded links and universal links are NOT supported as tracking templates, and Adjust’s documentation says so. If you hit this, check that page for the right link structure. This issue has been reported specifically on iOS. Android doesn’t seem to be affected the same way.
ICM: iOS attribution is changing
ICM (Integrated Conversion Measurement) matters most on iOS. Android already has proper attribution via Play Install Referrer API.
Status as of September 29, 2026:
- The iOS ICM open beta has been open to all apps since November 12, 2025, according to AppsFlyer and Singular. There is no whitelist to get on.
- Google’s on device measurement page says the feature is inactive for users in the EEA, the UK and Switzerland. AppsFlyer still excludes iOS traffic from all three, and Singular from the EEA and the UK.
- At Google Marketing Live 2026, Google announced expanded measurement support for EEA, UK and Swiss users, plus web to app journeys and view through conversions. It gave no date, so treat it as a plan.
- ICM already covers iOS installs from Search and Shopping inventory in web campaigns, through Google’s Web to App Acquisition Measurement.
This could reduce the need for iOS workarounds. Before you plan budget on ICM, check your MMP’s Google Ads article for the regions your users are in. Don’t wait for the European rollout either, and build your strategy with current tools instead. What ICM needs on iOS, route by route, is in the ICM and on device measurement setup guide.
What to do now
Three questions decide the route.
- Can you realistically hit 10+ events after install per day?
- No: Google Search probably isn’t your channel yet. Focus on Meta, build volume, come back later.
- Yes: go to question 2.
- Do you need keyword data?
- No: App Campaigns with text only. Monitor the network segment.
- Yes: go to question 3.
- How do you want to get it?
- Automated attribution: AppStack SDK.
- The most control: the Adjust offline conversion pipeline.
- You run classic Search campaigns on Adjust: the Adjust web to app tracking template, most reliable on Android.
On every branch:
- Established brands: request brand term exclusions from your Google rep.
- Test small. Verify data after 2 weeks, and align your Google conversion window with your MMP’s before you read the numbers.
- Before you plan iOS budget on ICM, check your MMP’s Google Ads article for your users’ regions. iOS ICM is still inactive in the EEA, the UK and Switzerland.
Bottom line
Google Search is valuable inventory. But Google doesn’t want you to control it.
Even with volume, you’re in a black box with no keyword data and no search term visibility, and you just trust the algorithm.
If you have volume (10+ events after install per day) and historical data, App Campaigns work, though you have to accept the black box.
If you need keyword control, choose your workaround based on effort vs. accuracy.
If you’re just starting with limited budget and no historical data, Search probably isn’t your first paid channel. Get creative testing done on Meta first, build your data on events after install, and graduate to Google once you have volume and know your numbers.
Work within Google’s limits instead of fighting them.