Use more features of Google Analytics and Firebase with AdMob apps


After completing the basic AdMob setup, you can also add the Firebase SDK for Google Analytics to take advantage of other features from Google Analytics and Firebase. Learn how to get started with Google Analytics later on this page.

These increasing levels of configuration support features that can help you optimize your app's user experience and your ad revenue. Check out the following table of features and its links to learn more!

Feature Add Mobile Ads SDK +
enable user metrics
Add Mobile Ads SDK +
enable user metrics and
Link AdMob to Firebase
Add Mobile Ads SDK +
enable user metrics and
Link AdMob to Firebase and
Add Firebase SDK for Analytics
View user metrics in your AdMob account
Automatically collect analytics events and user properties from your app
View curated user metrics in AdMob
Explore and work with your analytics data via Firebase
View key metrics in the Firebase console
Mark conversions for ad campaigns
Build custom audiences
Export and analyze data in BigQuery
Access more customization features for your analytics data
Log custom events for analytics and models (like logging ecommerce_purchase events for ARPU and ARPPU metrics)
Configure custom conversions for ad campaigns
Use other Firebase products
(like Remote Config and A/B Testing)

Get started with Google Analytics

Google Analytics is Firebase's analytics engine that gives you access to powerful insights into your data. Start using Google Analytics in your app by adding the Firebase SDK for Google Analytics.

With the basic AdMob setup, you can view aggregated statistics from automatically collected events and user properties in the Analytics dashboard of the Firebase console without adding any additional code to your app.

However, if you want to collect additional custom event data or user properties, you'll need to use the Firebase SDK for Google Analytics. With this SDK, you can log up to 500 different analytics event types, and there's no limit on the total volume of events your app logs. An example use case for logging custom events is to include data in your revenue calculation from a custom event called ecommerce_purchase to help you better represent ARPU and ARPPU metrics.

By adding the Firebase SDK for Google Analytics, you can also add custom conversions for ad campaigns and enable the use of other Firebase products.

The following steps describe how to start using the Firebase SDK for Google Analytics in your app. After initializing the SDK, visit the Analytics documentation to learn how to start logging events in your app.

Step 1: Add a configuration file to your app

If you registered your app with Firebase before creating an AdMob link, then you already added a Firebase configuration file to your app. Check for a GoogleService-Info.plist file in the root of your Xcode project. Also make sure that the config file is added to all targets.

  1. In the Your apps card of your > Project settings, select the bundle ID of the app for which you need a config file.

  2. Click Download GoogleService-Info.plist to obtain your Firebase iOS config file (GoogleService-Info.plist).

    • You can download your Firebase iOS config file again at any time from your > Project settings.

    • Make sure the config file name isn't appended with additional characters, like (2).

  3. Move your config file into the root of your Xcode project. If prompted, select to add the config file to all targets.

If you have multiple bundle IDs in your project, you must associate each bundle ID with a registered app in the Firebase console so that each app can have its own GoogleService-Info.plist file.

Step 2: Add the Firebase SDK for Analytics to your app

  1. Add the dependency for the Firebase SDK for Google Analytics to your Podfile:

    pod 'FirebaseAnalytics'
    
  2. Run pod install, then open the created .xcworkspace file.

  3. Import the FirebaseCore module in your UIApplicationDelegate, as well as any other Firebase modules your app delegate uses. For example, to use Cloud Firestore and Authentication:

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  4. Configure a FirebaseApp shared instance in your app delegate's application(_:didFinishLaunchingWithOptions:) method:

    SwiftUI

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  5. If you're using SwiftUI, you must create an application delegate and attach it to your App struct via UIApplicationDelegateAdaptor or NSApplicationDelegateAdaptor. You must also disable app delegate swizzling. For more information, see the SwiftUI instructions.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          

Implement custom event logging

This section shows an example of how to implement custom event logging in your app. This specific example is for the custom event ecommerce_purchase which is a helpful event to log for AdMob-linked apps, especially for calculating ARPU and ARPPU.

A key metric for your app is revenue by user, which can be further segmented into ARPU and ARPPU. These two metrics display in the User metrics card of your AdMob account and in the Analytics dashboard of the Firebase console. Revenue, though, isn't directly measured; instead, it's the sum of your estimated AdMob earnings and the following two analytics event values:

  • in_app_purchase: when a user completes an in-app purchase that is processed by the App Store on iTunes, like an initial subscription, unlocking premium services, or buying in-game items
  • ecommerce_purchase: when a user completes a purchase, like online shopping, buying coupons or discount items, or buying movie tickets

Without any additional code in your app, the Mobile Ads SDK automatically collects analytics data for in_app_purchase events. However, if you want to also include ecommerce_purchase event data in the revenue calculation, you'll need to implement custom logging via the Firebase SDK for Google Analytics.

Here's how to implement custom event logging in your app:

  1. Make sure that you've completed the Get started with Google Analytics section of this page, which includes configuring your app to use Firebase, adding the Firebase SDK for Google Analytics, and initializing the SDK.

  2. Log an ecommerce_purchase event (Swift | Obj-C). Here's an example:

    Swift

    Analytics.logEvent(AnalyticsEventPurchase, parameters: [
      AnalyticsParameterCoupon: "SummerPromo",
      AnalyticsParameterCurrency: "JPY",
      AnalyticsParameterValue: 10000,
      AnalyticsParameterShipping: 500,
      AnalyticsParameterTransactionID: "192803301",
    ])

    Objective-C

    [FIRAnalytics logEventWithName:kFIREventPurchase
                        parameters:@{
      kFIRParameterCoupon: @"SummerPromo",
      kFIRParameterCurrency: @"JPY",
      kFIRParameterValue: @10000,
      kFIRParameterShipping: @500,
      kFIRParameterTransactionID: @"192803301",
    }];

To learn more about logging custom events in your app, visit the Analytics documentation.

Use other Firebase products in your app

After you add the Firebase SDK for Google Analytics, you can also start using other Firebase products, like Firebase Remote Config and Firebase A/B Testing.

  • Remote Config enables you to change the behavior and appearance of your app without publishing an app update, at no cost, for unlimited daily active users.

  • A/B Testing gives you the power to test changes to your app’s UI, features, or engagement campaigns to learn if they make an impact on your key metrics (like revenue and retention) before rolling the changes out widely.

Optimize ad monetization for your app

Try out different ad formats or configurations with a small subset of users, and then make data driven decisions about implementing the ad for all your users. To learn more, check out the following tutorials: