Google Mobile Ads — what it is, advertising SDK and monetization

Author: IT Sectr Published: 2026-04-30 Reading time: 10 min

Google Mobile Ads is a Google SDK for displaying ads in mobile applications, including AdMob and Google Ad Manager. The SDK supports all major formats: banners, interstitial ads, rewarded video, and native ads. Google Mobile Ads SDK processes over 1 trillion ad requests per year and is used in 80% of apps with ad monetization. According to Google AdMob Documentation, 2025, the average revenue per user with proper integration is $0.50-2.00 per month.

Key Takeaways

  • Google Mobile Ads — SDK for displaying ads in mobile apps via AdMob and Ad Manager
  • Formats — banners, interstitial, rewarded, native ads and App Open Ads
  • AdMob — platform for app monetization with automatic ad fill
  • Ad Manager — advanced platform for large publishers with direct ad campaigns
  • Mediation — technology for connecting multiple ad networks to increase revenue

What is Google Mobile Ads?

Google Mobile Ads is Google’s advertising platform for mobile applications, providing an SDK for displaying ads and revenue analytics tools. The platform includes two main systems: AdMob (for independent developers) and Google Ad Manager (for large publishers with direct ad campaigns). Both systems use the same Google Mobile Ads SDK, which simplifies migration between platforms.

At the core of Google Mobile Ads is a real-time auction (RTB — Real-Time Bidding). When an app requests an ad, the SDK sends a request to Google’s servers, where algorithms analyze the user profile, app context, and available ad campaigns. The auction winner is determined in 100–300 milliseconds — the higher the advertiser’s bid, the more revenue for the developer. According to Google (2025), the average eCPM for Android apps is $5–15.

eCPM (effective Cost Per Mille) is a key monetization metric showing revenue per 1,000 impressions. eCPM depends on user region (higher in the US and Europe, lower in Asia), ad format (rewarded video gives eCPM of $10–30, banners — $0.50–2), and time of year (in December eCPM is 30–50% higher). Google Mobile Ads SDK automatically optimizes impressions for maximum eCPM through the auction.

Ad formats: banners, interstitial, rewarded and native

Banner ads — rectangular blocks of fixed size (320×50 — standard, 320×100 — large, 300×250 — medium). Banners are placed at the bottom or top of the screen and take up minimal space. Downside: low eCPM ($0.50–2) and user habituation — Click-Through Rate (CTR) for banners is 0.05–0.5%. Banners auto-refresh every 30–60 seconds, but Google recommends refreshing no more than every 60 seconds to preserve User Experience.

Interstitial ads — full-screen ads shown during natural pauses in the app (between game levels, when switching between screens). Interstitial offers eCPM of $3–15 but requires careful placement — frequent displays irritate users. Google limits frequency: no more than one interstitial per minute. According to Google, with proper placement, interstitial does not reduce user retention by more than 5%.

Rewarded ads — videos that users watch in exchange for a bonus (extra lives, coins, premium access). The most expensive format with eCPM of $10–30 and high user engagement — 80% of users agree to watch rewarded video. Important: the reward must be meaningful to the user, otherwise they won’t watch the ad. Rewarded interstitial — a hybrid format (reward without mandatory viewing), available since SDK 21.0.0.

kotlin
// Loading and showing RewardedAd
class RewardedAdManager {

    private var rewardedAd: RewardedAd? = null

    fun loadAd(context: Context) {
        RewardedAd.load(
            context,
            "ca-app-pub-3940256099942544/5224354917",
            AdRequest.Builder().build(),
            object : RewardedAdLoadCallback() {
                override fun onAdLoaded(ad: RewardedAd) {
                    rewardedAd = ad
                }
                override fun onAdFailedToLoad(
                    error: LoadAdError
                ) {
                    Log.d("AdMob", error.message)
                }
            }
        )
    }
}

App Open Ads: ads at app launch

Native Ads — ads visually adapted to the app’s design: the developer controls the placement of the headline, description, image, and call-to-action button. Native ads have the highest CTR (0.5–2%) among all formats and integrate best with the app’s UX. Google Mobile Ads SDK provides native ad templates (NativeTemplate) or full control via NativeAdOptions. The ad_source_type format shows which network the native creative came from.

AdMob or Ad Manager: which to choose

AdMob — Google’s advertising platform for mobile apps, designed for independent developers and small studios. AdMob offers automatic ad fill through an auction, simple setup via a web interface, and built-in mediation with 30+ ad networks. Payout threshold: $100. AdMob is suitable for 90% of developers, including medium studios with revenue up to $100,000 per month.

Google Ad Manager — an advanced platform for large publishers with direct ad campaigns (direct deals), programmatic guarantees, and source prioritization. Ad Manager supports multiple ad servers, competitive auction (App Bidding), and detailed analytics for each advertiser. Ad Manager requires monthly traffic of 5 million impressions. According to Google, Ad Manager increases revenue for large publishers by 15–30% compared to AdMob.

CriteriaAdMobAd Manager
AudienceIndependent developersLarge publishers
Direct dealsNoYes
App BiddingLimitedFull
Traffic thresholdAny5M+ impressions/month
AnalyticsStandardAdvanced

To migrate from AdMob to Ad Manager, you only need to change the Ad Unit ID in the app code — the SDK remains the same (Google Mobile Ads SDK). Google recommends starting with AdMob, and when reaching monthly revenue of $10,000+, consider switching to Ad Manager. App Bidding — a key Ad Manager technology that allows all ad networks to compete in a single auction, increasing eCPM by 10–40%.

Mediation: connecting multiple ad networks

Ad Mediation — a Google Mobile Ads technology that allows connecting multiple ad networks to a single Ad Unit. When the SDK requests an ad, it sequentially polls networks: first Google Ads, then partner networks (Facebook Audience Network, Unity Ads, AppLovin, IronSource, Mintegral, and others), selecting the network with the highest bid for that user.

Google Mobile Ads SDK supports mediation of over 30 ad networks through adapters, which are loaded as separate Gradle dependencies. Each adapter implements a unified Google interface, allowing the SDK to work uniformly with any network. According to Google, mediation increases total ad revenue by 15–50% compared to using only AdMob. App Bidding — a more advanced version of mediation where all networks participate in a single auction simultaneously, rather than sequentially.

kotlin
// Mediation setup (build.gradle)
dependencies {
    implementation "com.google.android.gms:play-services-ads:23.3.0"
    // Mediation adapters
    implementation "com.google.ads:mediation-facebook:6.17.0.0"
    implementation "com.google.ads:mediation-unity:4.10.0.0"
    implementation "com.google.ads:mediation-applovin:12.3.0.0"
}

// Mobile Ads SDK initialization
MobileAds.initialize(this) {
    Log.d("AdMob",
        "Initialized: $it")
}

App Bidding: parallel auction

Important: mediation increases ad display latency because the SDK polls multiple networks sequentially. For banners this is not critical (acceptable delay — up to 2 seconds), but for interstitial and rewarded ads, a delay of more than 1 second reduces the likelihood of display (the user may leave the screen). Google recommends using App Bidding instead of sequential mediation to minimize delays. App Bidding processes all bids in parallel within 100–200 ms.

Setting up Google Mobile Ads in an Android project

Setting up Google Mobile Ads in an Android app starts with adding the play-services-ads dependency in build.gradle and initializing the SDK in the Application class. Google Mobile Ads SDK requires Android 5.0 (API 21) and Google Play Services version 21.0.0+. It is recommended to initialize the SDK as early as possible — in Application.onCreate() — so that ads load in parallel with app startup.

After initialization, the developer creates an Ad Unit in the AdMob or Ad Manager web interface and embeds AdView in the app layout (for banners) or loads InterstitialAd/RewardedAd programmatically. Important: use a test Ad Unit ID during development and a release ID after publication. Google Mobile Ads SDK automatically detects test mode by the device added to Test Devices in the AdMob console.

kotlin
// SDK initialization in Application class
class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        MobileAds.initialize(this)

        // Enabling GDPR consent mode
        val params = RequestConfiguration.Builder()
            .setTagForUnderAgeOfConsent(false)
            .build()
        MobileAds.setRequestConfiguration(params)
    }
}

// Inline banner in XML
// <com.google.android.gms.ads.AdView
//     android:id="@+id/adView"
//     android:layout_width="match_parent"
//     android:layout_height="wrap_content"
//     app:adUnitId="ca-app-pub-3940256099942544/6300978111"
//     app:adSize="BANNER" />

After setting up the SDK and Ad Units, the developer must add a privacy policy in the app — this is a mandatory Google requirement for publishing on Play Store. Integration of the UMP SDK (User Messaging Platform) is also required to collect data processing consent from users in the EEA and UK. Without the UMP SDK, Google may limit personalized ad display, reducing eCPM by 40–60%.

User privacy and GDPR

Google Mobile Ads requires compliance with privacy regulations for users from the European Economic Area (EEA), UK, US (CCPA/CPRA), and other regions with data protection laws. The main tool is the User Messaging Platform (UMP) SDK, which displays a consent dialog to the user for collecting and processing data for ad personalization.

Without obtaining user consent for personalization, Google Mobile Ads SDK will only show non-personalized ads, reducing eCPM by 40–60%. TCF v2.0 (Transparency & Consent Framework) — the IAB Europe standard for passing consent signals between advertising systems. Google Ad Manager supports TCF v2.0 automatically. For AdMob, integration via UMP SDK with the FORMS_PUBLISHER_ID parameter is required.

kotlin
// UMP SDK user consent request
val consentInfo = UserMessagingPlatform.getConsentInformation(this)

consentInfo.requestConsentInfoUpdate(
    context,
    ConsentRequestParameters.Builder()
        .setTagForUnderAgeOfConsent(false)
        .build()
) { error ->
    if (error != null) return@requestConsentInfoUpdate

    if (consentInfo.isConsentFormAvailable()) {
        UserMessagingPlatform.loadAndShowConsentFormIfRequired(
            activity,
            activity.getOnConsentFormSuccess(),
            activity.getOnConsentFormFailure()
        )
    }
}

TCF v2.0 and GDPR compliance

Additional requirements: for users from California (CCPA), Google requires support for the “Do Not Sell My Personal Information” option. For children (COPPA) — activation of tagForChildDirectedTreatment. Google Play Store requires that all apps with ads have a privacy policy and a link to it in Google Play Console. Violation of these requirements leads to ad display blocking or app removal from Play Store.

Code example: showing rewarded video in Kotlin

A complete example of integrating rewarded ads with user reward handling. The app loads rewarded video on startup, displays it when the user clicks the “Get Bonus” button, and awards coins to the user after full viewing. The code uses coroutines for asynchronous loading and checks that the ad is not shown if the user has already received the reward (guard against double reward).

kotlin
class RewardViewModel : ViewModel() {

    private var rewardedAd: RewardedAd? = null
    private val _rewardEarned = MutableLiveData<Boolean>(false)
    val rewardEarned: LiveData<Boolean> = _rewardEarned

    fun loadRewardedAd(context: Context) {
        RewardedAd.load(context, AD_UNIT_ID,
            AdRequest.Builder().build(),
            object : RewardedAdLoadCallback() {
                override fun onAdLoaded(ad: RewardedAd) {
                    rewardedAd = ad
                }
            }
        )
    }

    fun showAd(activity: Activity) {
        rewardedAd?.show(activity, {
            // User earned reward
            _rewardEarned.postValue(true)
            addCoins(100)
            loadRewardedAd(activity) // Preload next
        })
    }
}

Best practices for rewarded ads: preload the next ad immediately after closing the current one (so the user doesn’t wait for loading). Show rewarded video only in a context where the reward is obvious (e.g., a “Watch ad for 100 coins” button). Google prohibits showing rewarded ads without an explicit user request (autoplay is prohibited). Check the onUserEarnedReward callback — only after it, grant the reward.

Tips for optimizing ad revenue

Optimizing revenue from Google Mobile Ads starts with choosing the right ad formats. Combining banners (for steady background revenue) and rewarded video (for active engagement) yields the maximum total income. Use interstitial only during natural pauses — no more than 3–4 times per session. Google Analytics for Firebase allows you to track which screens generate the most revenue and where users most often close ads.

The second important factor is mediation. Connect 3–5 ad networks through AdMob mediation. According to Google, apps with mediation earn 30% more. App Bidding (available for Ad Manager and partially for AdMob) provides an additional 10–40% increase through simultaneous auction. A/B testing of ad placement: test different banner positions (top/bottom, left/right) and interstitial frequency on different user segments.

The third factor is geotargeting. eCPM in the US, Canada, and Australia is 3–5 times higher than in India or Indonesia. If your app is popular in regions with low eCPM, Google recommends using waterfall mediation with networks from those regions (e.g., InMobi for India). Set frequency caps: no more than 1 interstitial every 2 minutes and no more than 5 rewarded videos per hour — this reduces user ad fatigue.

Frequently Asked Questions

How to make money with Google Mobile Ads in 2026?

The average revenue per user is $0.50–2.00 per month with proper integration. Use a combination of formats: banners for baseline income, rewarded video for active monetization, and interstitial during natural pauses. Be sure to enable mediation and the UMP SDK for GDPR. Users from the US and Europe generate the highest revenue.

What are Google’s requirements for showing ads in an app?

The main requirements: an AdMob account, a privacy policy in the app, integration of the UMP SDK to collect consent from EEA users, and an age rating for the app in Google Play Console. Google Play Store requires all apps with ads to indicate this at publication and follow Google Ads’ policy on unacceptable content.

What is App Bidding and how is it different from mediation?

App Bidding is a technology where all ad networks simultaneously participate in an auction for an ad impression. The winner is determined in 100–200 ms. Unlike sequential mediation (where networks are polled one by one), App Bidding increases revenue by 10–40% and reduces display latency. App Bidding is available in Google Ad Manager and partially in AdMob.

Why is my eCPM low in my app?

Low eCPM can be caused by: user region (Asia and Africa have lower eCPM), wrong format (banners earn less than rewarded), lack of mediation (only AdMob), incorrect UMP setup (no consent for personalization), or a high percentage of ad blockers. Check your AdMob analytics and set up App Bidding.

Can I show ads to children in compliance with COPPA?

Yes, but with restrictions. The app must activate tagForChildDirectedTreatment(true) in RequestConfiguration. Google will only show safe ads without personalization. eCPM for children’s apps is 60–80% lower. You must specify the target audience in Google Play Console. Violation of COPPA leads to AdMob account suspension.

Summary

  • Google Mobile Ads — SDK for app monetization via AdMob and Ad Manager with support for all ad formats
  • Formats — banners (eCPM $0.5–2), interstitial ($3–15), rewarded ($10–30) and native ads (CTR 0.5–2%)
  • AdMob — for independent developers with automatic ad fill and built-in mediation
  • Ad Manager — for large publishers with direct deals and full App Bidding
  • Mediation — connecting 3–5 ad networks increases revenue by 15–50%
  • GDPR — mandatory UMP SDK integration to collect user consent from the EEA
  • Optimization — combining formats, mediation, A/B testing and geotargeting maximize revenue

We will develop a mobile application turnkey

IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.

Discuss the project

Read also