Tutorial: Optimize hybrid monetization using AdMob, Google Analytics, and Firebase
Stay organized with collections
Save and categorize content based on your preferences.
Solution tutorial
Oftentimes, the initial focus for app monetization is in-app purchases, but the
market shows that in-app advertising is a top revenue stream for apps.
In fact, according to some reports, in-app advertising is projected to grow
nearly 50%, whereas in-app purchase revenue is projected to grow only by about
30%. In addition, only about 5% of users make purchases, which means that for
the majority of your user base, you need to implement a monetization
strategy — like in-app advertising.
A hybrid approach to monetization can capture all your user segments. However,
optimizing that strategy is complicated, but Google offers tooling and products
to help.
Use Google AdMob to create and implement ad units to display in your
app, and then AdMob takes care of connecting advertisers to that ad space.
Set up Google Analytics to dynamically segment your users into categories
(like "Purchasers"), which you can then leverage to implement hybrid
monetization.
Use Firebase Remote Config to dynamically serve an in-app ads
experience in your app based on whether a user is in that "Purchaser" audience
or not.
What you'll learn
In this multistep tutorial, you'll learn how to use Google AdMob,
Google Analytics audiences, and Firebase to implement and optimize a hybrid
monetization strategy. It uses an
interstitial ad
format as the example test case, but you can extrapolate and use these same
steps if you want to use a
different ad format.
Note that this tutorial assumes that you have a basic understanding of
Google AdMob and the Firebase platform and that you'd like to learn how to
optimize your in-app advertising monetization using Google Analytics and
Firebase Remote Config.
Products and features used in this tutorial
Google AdMob
Google AdMob enables you to create ad units
that will be served within your app. When you link AdMob with Firebase,
AdMob sends ad revenue information to Firebase to improve ad strategy
optimization.
Google Analytics
Google Analytics gives you insight into
user engagement, retention, and monetization metrics like total revenue,
AdMob revenue, purchase revenue, and much more. It also allows you to
create user audiences and segments.
Firebase Remote Config
Firebase Remote Config enables you to
dynamically change and customize the behavior and appearance of your app for
desired user segments — all without publishing a new version of your
app. In this tutorial, you'll use Remote Config parameters to
control whether a new ad unit is shown to your users based on their
placement in a Google Analytics audience.
Access to your app's associated AdMob account, with permissions to create
new ad units
Access to your app's associated Firebase project, with permissions to create
and manage Firebase Remote Config
Access to the Google Analytics property linked to your Firebase project, with
permissions to create audiences (at least Editor role)
Your preferred IDE
Glossary
View a list of common terms for this solution
Google Analytics events:
Actions that users take in your app, like making an in-app purchase, clicking
an ad, signing into your app, etc.
Google Analytics audience:
A segment of your user base who share the same attributes. All the users in a
given audience have exhibited the same behavior in your app (for example,
added an item to cart) and/or share demographic or other descriptive data (for
example, age range).
Remote Config parameter: The configurable parameter (key-value pair)
used to control whether the app shows ads or not. In the basic implementation
of this guide, it will have a boolean value.
Remote Config condition: A condition is used to target a group of app
instances. Conditions are made up of one or more rules that must all evaluate
to true for the condition to evaluate to true for a given app instance.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-15 UTC."],[],[],null,["**Solution tutorial**\n\nOftentimes, the initial focus for app monetization is in-app purchases, but the\nmarket shows that in-app advertising is a top revenue stream for apps.\n\nIn fact, according to some reports, in-app advertising is projected to grow\nnearly 50%, whereas in-app purchase revenue is projected to grow only by about\n30%. In addition, only about 5% of users make purchases, which means that for\nthe *majority of your user base*, you need to implement a monetization\nstrategy --- like in-app advertising.\n\nA hybrid approach to monetization can capture all your user segments. However,\noptimizing that strategy is complicated, but Google offers tooling and products\nto help.\n\n- Use **Google AdMob** to create and implement ad units to display in your\n app, and then AdMob takes care of connecting advertisers to that ad space.\n\n- Set up **Google Analytics** to dynamically segment your users into categories\n (like \"Purchasers\"), which you can then leverage to implement hybrid\n monetization.\n\n- Use **Firebase Remote Config** to dynamically serve an in-app ads\n experience in your app based on whether a user is in that \"Purchaser\" audience\n or not.\n\nWhat you'll learn\n\nIn this multistep tutorial, you'll learn how to use Google AdMob,\nGoogle Analytics audiences, and Firebase to implement and optimize a hybrid\nmonetization strategy. It uses an\n[interstitial](https://support.google.com/admob/answer/7311435) ad\nformat as the example test case, but you can extrapolate and use these same\nsteps if you want to use a\n[different ad format](https://support.google.com/admob/answer/6128738).\n\nNote that this tutorial assumes that you have a basic understanding of\nGoogle AdMob and the Firebase platform and that you'd like to learn how to\noptimize your in-app advertising monetization using Google Analytics and\nFirebase Remote Config.\n| **Tip:** If there's a term that you're not familiar with, check out the [glossary](#glossary) at the bottom of this page.\n\nProducts and features used in this tutorial\n\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Google AdMob \u003e [Google AdMob](/docs/admob) enables you to create ad units that will be served within your app. When you link AdMob with Firebase, AdMob sends ad revenue information to Firebase to improve ad strategy optimization. Google Analytics \u003e [Google Analytics](/docs/analytics) gives you insight into user engagement, retention, and monetization metrics like total revenue, AdMob revenue, purchase revenue, and much more. It also allows you to create user audiences and segments. | Firebase Remote Config \u003e [Firebase Remote Config](/docs/remote-config) enables you to dynamically change and customize the behavior and appearance of your app for desired user segments --- *all without publishing a new version of your \u003e app* . In this tutorial, you'll use Remote Config parameters to control whether a new ad unit is shown to your users based on their placement in a Google Analytics audience. |\n\nTutorial overview\n\n[Go\ndirectly to the step-by-step tutorial](/docs/tutorials/optimize-hybrid-monetization/step-1)\n\n1. [**Use\n AdMob to to create new ad units for display**](/docs/tutorials/optimize-hybrid-monetization/step-1)\n\n 1. Create an ad unit in your AdMob account.\n\n 2. Implement the ad unit in your app's codebase.\n\n2. [**Set up\n Google Analytics**](/docs/tutorials/optimize-hybrid-monetization/step-2)\n\n 1. Add the Google Analytics for Firebase SDK to your app's codebase.\n\n 2. Understand Google Analytics audiences.\n\n3. [**Set up\n Firebase Remote Config to show specific ads experiences**](/docs/tutorials/optimize-hybrid-monetization/step-3)\n\n 1. Set up Remote Config parameters and conditions in the\n Firebase console.\n\n 2. Add the Remote Config SDK to your app's codebase.\n\n 3. Configure the Remote Config instance.\n\n 4. Fetch and activate Remote Config.\n\n 5. Use the Remote Config parameter value.\n\n 6. Release your app.\n\nWhat you'll need\n\n- Your own app (iOS, Android, Flutter, or Unity project)\n\n- Your app registered as a Firebase App that's linked to an AdMob App\n ([learn more](//support.google.com/admob/answer/6383165)). \n\n This means the following are also done:\n\n - You've enabled Google Analytics in your Firebase project (meaning you've\n linked your Firebase project to a Google Analytics property).\n\n - You've added the applicable Firebase configuration to your app's codebase.\n\n- *(Android apps or apps targeting Android)*\n [Link your Firebase App to Google Play](https://support.google.com/firebase/answer/6392038)\n (required to get in-app purchase event data)\n\n- Access to your app's associated AdMob account, with permissions to create\n new ad units\n\n- Access to your app's associated Firebase project, with permissions to create\n and manage Firebase Remote Config\n\n- Access to the Google Analytics property linked to your Firebase project, with\n permissions to create audiences (at least Editor role)\n\n- Your preferred IDE\n\nGlossary\n\n\u003cbr /\u003e\n\nView a list of common terms for this solution\n\n\u003cbr /\u003e\n\n- **Google Analytics [events](https://support.google.com/firebase/answer/6317485)**:\n Actions that users take in your app, like making an in-app purchase, clicking\n an ad, signing into your app, etc.\n\n- **Google Analytics [audience](https://support.google.com/analytics/answer/9267572)**:\n A segment of your user base who share the same attributes. All the users in a\n given audience have exhibited the same behavior in your app (for example,\n added an item to cart) and/or share demographic or other descriptive data (for\n example, age range).\n\n- **Remote Config parameter**: The configurable parameter (key-value pair)\n used to control whether the app shows ads or not. In the basic implementation\n of this guide, it will have a boolean value.\n\n- **Remote Config condition**: A condition is used to target a group of app\n instances. Conditions are made up of one or more rules that must all evaluate\n to true for the condition to evaluate to true for a given app instance.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\n\u003cbr /\u003e\n\n[**Step 1** : Use AdMob to create new ad units for display\narrow_forward_ios](/docs/tutorials/optimize-hybrid-monetization/step-1)\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n*** ** * ** ***"]]