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.
In the Your apps card of your Project settings, select the bundle ID of the app for which you need a config file.
>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)
.
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
Add the dependency for the Firebase SDK for Google Analytics to your Podfile:
pod 'FirebaseAnalytics'
Run
pod install
, then open the created.xcworkspace
file.- Import the
FirebaseCore
module in yourUIApplicationDelegate
, 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; // ...
- Configure a
FirebaseApp
shared instance in your app delegate'sapplication(_: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];
- If you're using SwiftUI, you must create an application delegate and attach it
to your
App
struct viaUIApplicationDelegateAdaptor
orNSApplicationDelegateAdaptor
. 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:
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.
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:
Test new ad format adoption (overview | implementation).
Optimize ad frequency (overview | implementation).