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 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 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.
Create an ad unit in your AdMob account.
Implement the ad unit in your app's codebase.
Add the Google Analytics for Firebase SDK to your app's codebase.
Understand Google Analytics audiences.
Set up Remote Config parameters and conditions in the Firebase console.
Add the Remote Config SDK to your app's codebase.
Configure the Remote Config instance.
Fetch and activate Remote Config.
Use the Remote Config parameter value.
Release your app.
What you'll need
Your own app (iOS, Android, Flutter, or Unity project)
Your app registered as a Firebase App that's linked to an AdMob App (learn more).
This means the following are also done:
You've enabled Google Analytics in your Firebase project (meaning you've linked your Firebase project to a Google Analytics property).
You've added the applicable Firebase configuration to your app's codebase.
(Android apps or apps targeting Android) Link your Firebase App to Google Play (required to get in-app purchase event data)
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
View a list of common terms for this solution
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.