Question from Reddit:
I started a campaign 2 days ago, but so far no purchases have been made. It has hit my max daily budget for those 2 days, got a handful of installs, but zero purchases. My app is 100% on Google Play, and my in-app products are also defined directly through Google Play.
Searching online gets me lots of guides for either website purchases, or app installs, but not in-app purchases. Any help is greatly appreciated, please reply or message me if you can help a noob.
PS. I was able to run another campaign before this, just for installs. It went as expected and I got 1.5k app installs in a week. So this noob is not completely hopeless.
Answer from Nabil:
The short answer is:
Your current campaign is likely optimized for clicks and installs because it hasn’t received enough conversion data to properly optimize for in-app purchases, which are typically tracked using the purchase
event.
To fix this and target purchases effectively, you need to ensure your Google Ads account is receiving robust, reliable, and real-time purchase data directly from your app.
The simplest and most reliable method to achieve this is to leverage Google Analytics for Firebase by integrating the Firebase SDK into your app, which automatically collects the in_app_purchase
event from Google Play.
You then link this Firebase property to Google Ads and import the in_app_purchase
event as a conversion action.
The long answer is:
It’s not uncommon to hit this roadblock when transitioning from an install-focused campaign to a value-based campaign like one focused on in-app purchases.
Your ad account’s bidding strategy, which is currently set to maximize clicks or installs, has no signal for what an actual purchase looks like, so it spends your budget on the first conversion it sees: the install.
The key to fixing this lies in robust and accurate measurement of the value event.
For an app that’s 100% on Google Play, the foundational solution is to use the Firebase SDK alongside Google Analytics for Firebase.
When you integrate the Firebase SDK into your Android app, it automatically collects several events, including the crucial in_app_purchase
event, and sends it to your connected Google Analytics for Firebase property.
This event is automatically populated with purchase value and currency because it integrates directly with the Google Play billing system.
Once you have this stream of data, you link your Firebase property to your Google Ads account, navigate to the Conversions section in Google Ads, and import the in_app_purchase
event.
You then set this imported event as your primary conversion action and switch your campaign’s bidding strategy to target value, like Target ROAS or Maximize Conversion Value.
This tells Google Ads’ machine learning to prioritize users who are likely to make a purchase, not just an install, solving your zero-purchase problem.
For more advanced tracking, especially if you want to track subscriptions, refunds, or have cross-platform apps (iOS and Android), integrating a Mobile Measurement Partner (MMP) like AppsFlyer becomes highly beneficial.
An MMP acts as a neutral third party that accurately attributes and validates all your in-app events, including the purchase
event, before sending them to Google Ads and other platforms.
Furthermore, the Google Play Developer API’s Subscriptions and In-App Purchases component is a powerful, server-side tool that allows you to manage the complete lifecycle of purchases, including validating receipts and processing subscriptions.
While it’s not strictly necessary just to send the purchase event to Google Ads, it’s essential for a comprehensive back-end system that verifies all transactions, ensures no fraudulent purchases are counted, and provides a single source of truth for all your purchase data, which you can then send to your MMP or Firebase for the most accurate and reliable optimization signal possible.