If you like this plugin, please, rate it on Fab. Thank you!
Get started
The Google Mobile Ads Unreal Engine plugin lets Unreal developers serve Google mobile ads on Android and iOS apps without having to write Java or Objective-C code. The plugin provides a C++ and Blueprints interfaces for requesting ads that can be used in your Unreal project.
This guide is intended for publishers who want to monetize an Unreal app.
Set up your app in your AdMob account
Register your app as an AdMob app by completing the following steps:
- Sign in to or sign up for an AdMob account.
- Register your app with AdMob. This step creates an AdMob app with a unique AdMob App ID that is needed later in this guide.
Configure your project
Enable the plugin
The plugin is typically enabled by default upon installation. However, if it's not, follow these steps:
- Navigate to Edit > Plugins in Unreal Engine.
- Search for
Google AdMobin the plugin list. - If the plugin is disabled, enable it by checking the corresponding box.
Disable build-in AdMob support for ads
To avoid any compatibility issues and library conflicts, disable build-in AdMob support. Inside Project Settings, go to Platforms > Android > Google Play Services and set Include AdMob support for ads to false.

Enter your App IDs in Project Settings
- Copy your AdMob app ID, as identified in the AdMob web interface. You'll need to separate AdMob apps for Android and iOS, i.e. two different App IDs for these platforms.
- Open Project Settings > Plugins > Google AdMob in Unreal Engine, and paste the copied values into the corresponding AdMob App ID fields.

Add dependency to your modules (C++ projects)
To use the plugin in your C++ code, you must include GoogleAdMob as either a public or private dependency in your module's build configuration, for example:
PrivateDependencyModuleNames.Add("GoogleAdMob");
Obtain consent from a user
It's highly recommended that you use Google UMP plugin or some other CMP solution to obtain consent from a user before requesting ads, so you comply with GDPR rules in EEA countries and US privacy regulations (e.g. CCPA). If you decide to use a custom solution, you can use the following functions to pass consent choices to the Google AdMob SDK (should be done before initializing it):
UGoogleAdMob::SetConsent(bIsConsentRequired, bHasUserConsent); // For GDPR
UGoogleAdMob::SetRestrictedDataProcessing(bRestrictedDataProcessing); // For US privacy regulations

Initialize the SDK
Before loading ads, have your app initialize Google Mobile Ads SDK by calling UGoogleAdMob::Initialize(). This needs to be done only once, ideally at app launch.
Warning
If you need to obtain consent from users in the European Economic Area (EEA), set any request-specific flags, such as SetTagForChildDirectedTreatment() or SetTagForUnderAgeOfConsent(), or otherwise take action before loading ads, ensure you do so before initializing Google Mobile Ads SDK.
Here's an example of how to call UGoogleAdMob::Initialize():
UGoogleAdMob::OnInitializationComplete.AddLambda([]()
{
UE_LOG(LogTemp, Display, TEXT("Google Mobile Ads initialization complete."));
});
UGoogleAdMob::Initialize();

If you're using mediation, wait until the callback occurs before loading ads to verify that all mediation adapters are initialized.
Note
It's recommended to use some Consent Management Platform to obrain user consent in EEA and regulated US states before initializing the SDK. You can use Google UMP plugin for that. It is also required by Enable automatic SDK initialization on start-up setting in Project Settings, which allows you to skip this step entirely.
Select an ad format
Google Mobile Ads SDK is now imported and you're ready to implement other ads. AdMob offers a number of different ad formats, so you can choose the one that best fits your app's user experience.
Banner

Banner ad units display rectangular ads that occupy a portion of an app's layout. They can refresh automatically after a set period of time. This means users view a new ad at regular intervals, even if they stay on the same screen in your app. They're also the simplest ad format to implement.
Interstitial

Interstitial ad units show full-page ads in your app. Place them at natural breaks and transitions in your app's interface, such as after level completion in a gaming app.
Rewarded

Rewarded ad units enable users to play games, take surveys, or watch videos to earn in-app rewards, such as coins, extra lives, or points. You can set different rewards for different ad units, and specify the reward values and items the user received.
Rewarded interstitial

Rewarded interstitial is a new type of incentivized ad format that lets you offer rewards, such as coins or extra lives, for ads that appear automatically during natural app transitions.
Unlike rewarded ads, users aren't required to opt in to view a rewarded interstitial.
Instead of the opt-in prompt in rewarded ads, rewarded interstitials require an intro screen that announces the reward and gives users a chance to opt out if they want to do so.
Implement rewarded interstitial ads
App open

App open is an ad format that appears when users open or switch back to your app. The ad overlays the loading screen.