At a glance: Integrate your Google Ads account with AppsFlyer to display attribution data from all of your campaigns.
For a complete picture of working with Google Ads (AdWords) in AppsFlyer, check out these articles:
- Google Ads (AdWords) integration setup (this article)
- Google Ads (AdWords)—re-engagement
- Google Ads (AdWords)—cost and ad revenue
- Google Ads (AdWords)—FAQ and discrepancies
- For iOS 14 related campaigns see Google Ads SKAdNetwork interoperability with AppsFlyer.
Using Google Ads
The Google Ads UI only allows you to configure an App Campaign, for iOS and Android devices.
To attribute users from other platforms, e.g. Windows Phone users, to Google Ads you need to use a landing page solution.
To configure other specific campaign types besides App Campaign, contact your Google representative.
Configuring Google Ads attribution for advertisers
To start attributing Google Ads campaigns with AppsFlyer, follow these steps:
As a prerequisite for the integration with Google Ads, the app must collect IDFA / GAID. For further information, refer to the SDK integration guide.
Step 1: create the Google Ads Link ID (mandatory)
(Google Ads admin only)
- In your Google Ads dashboard, go to TOOLS AND SETTINGS and click Linked accounts.
- Click Details in the Third-party app analytics row.
- Click Create link ID
- From the App analytics provider list, select AppsFlyer, then select your mobile app's platform, iOS or Android.
- Select the relevant app under Look up your app, and click Create link ID.
- Copy the new Link ID, which now uniquely identifies your mobile app on Google Ads.
- REPEAT these steps to create a unique link ID for each of your mobile apps.
Step 2: set up Google Ads on AppsFlyer (mandatory)
(Any member in AppsFlyer's account)
- Go to your app's dashboard on AppsFlyer and under Configuration, click Integrated Partners.
- Select Google Ads.
- Activate the partner and paste the copied Link ID.
- Configuring Install attribution:
- Set the Install click-through lookback window.
Select the lookback window units (hours or days) and set the slider to the desired value. We recommend setting the lookback window to 30 days to match with Google Ads.
- [Optional] if you run pre-registration campaigns for Android apps, set the Pre-registration campaign lookback window (default is 90 days). This slider determines the lookback window for attributing installs to pre-registration campaigns.
- Enable Install view-through attribution.
- Select the lookback window units (hours or days) and set the slider to the desired value. We recommend setting the view-through lookback window to 1 day to match with Google Ads.
Google is not sending claims for iOS apps impressions. Install view-through attribution toggle and lookback window slider are no longer relevant for iOS apps.
- Set the Install click-through lookback window.
- To enable reinstall attribution, turn Reinstall attribution on.
No need to configure lookback windows for reinstall attribution, as the values are taken from install attribution settings.
A reinstall conversion data is presented as a session_start on Google Ads dashboard. In AppsFlyer, it is attributed and seen as a re-attribution.
- Configure Re-engagement attribution:
- Enable retargeting in App Settings.
- Enable Re-engagement attribution.
- Set the Re-engagement click-through lookback window, which is the period of time, starting from an ad click, during which the app must be launched for the click to be recorded as a re-engagement. Select a lookback window in hours or days and set the slider to the desired value.
- Enable Re-engagement view-through attribution.
Google is not sending claims for iOS app impressions. Install view-through attribution toggle and lookback window slider are no longer relevant for iOS apps.
- Set the Re-engagement view-through lookback window, which is the period of time, starting from an ad impression, during which the app must be launched for the impression to be recorded as a re-engagement. Select a lookback window in hours or days and set the slider to the desired value.
- Set the Re-engagement window. This is the period when the user's in-app events are attributed to the retargeting media source, following either a click or an impression. You can set the value in days (1-90), hours (up to 23), or even lifetime. The default is 30 days.
- Go to the Cost tab
- Toggle ON the Get Cost, Clicks and Impressions Data button.
- Click on the Connect Google Ads button and log into your Google account to get all your Google Ads campaign costs on AppsFlyer. More details here.
- Click Save.
Step 3: map your in-app events (recommended)
- Go to the Integration tab and scroll down to the In-app event postbacks section.
When enabling the Google Ads in-app events mapping for an app for the first time:
- The af_app_opened event is automatically defined and mapped to session_start (if not, add it manually).
- Under for users from, you must select All media sources, including organic for each event to enable Google Ads to receive these events. After the integration was set successfully, you are able to change this selection for any event.
- Turn on In-app event postbacks.
- Click Add event to add an SDK or server-to-server event to the list.
- Complete the following parameters:
Parameter Name Description AppsFlyer event
The name of the event, as received by AppsFlyer either from the SDK integrated into your app or from server-to-server events.
Tip: Don't see the event you are looking for?
- Make sure to activate the event on a device with a non-organic installation and recheck.
- Type it in AppsFlyer event, then click Create custom. Read more about custom event mapping.
mapped to partner event
The unique name or ID of each event, as defined in Google Ads. Possible mapping configurations are:
- Text field: Get the corresponding event ID from Google Ads.
- Drop-down box: Select the most suitable pre-defined AppsFlyer event.
- As is: Send the events as they are, without name mapping.
for users from
Select the sending option for the event:
- This partner only: send postbacks only when this event is attributed to this Google Ads.
- All media sources including organic: send postbacks for events attributed to any partner and organic events.
- No data (default): send only the event itself without the event value.
- Values and revenue: send all the event parameters, including the revenue value (if exists in the event).
- Values without revenue: send all the parameters excluding the revenue value.
- Click Save
Step 4: measure your app conversions (mandatory)
(Google Ads admin only)
For Google Ads to register your new conversions, you must launch your app and perform your mapped in-app events at least once. To test iOS apps, you must collect IDFA to see the event. It may take up to 6 hours until they are added to the queue. Once they are added, you can import them and the new conversions change status from “No recent conversion” to “recording conversion".
- Return to your Google Ads Overview page and go to TOOLS AND SETTINGS > Measurement > Conversions.
- Click + New conversion action.
- Select App from the list of conversion types, then select Third-party app analytics, and click Continue.
- Check the box next to Analytics event to import all your app events or select specific events you’d like to import.
You need to re-import if the Partner Event identifier in Google Ads is changed or if it is CUSTOM and the corresponding event name has changed in AppsFlyer.
- You can now see your third-party conversion events on the Conversions > Summary page. If an event doesn't appear in the list or it has been removed from the Google Ads conversion list, click View all conversion actions. The Status filter appears.
- Click Status and select All to see all events, including disabled and removed events.
- Congratulations! You're now measuring Google Ads mobile campaigns with AppsFlyer!
Please ensure your "include in conversions" setup is aligned with your campaign goals in Google Ads. For more information, consult with your Google representative or refer to the Google documentation here.
The Google Ads API integration automatically includes the Google Ads remarketing feature. By completing this integration and sending events to Google Ads you are able to create remarketing audience lists in Google Ads without any additional integrations.
Granting permissions to Google Ads team members
You can grant Google Ads permissions to access certain data in your account. You can do this in the Google Ads configuration page under the Permission tab for each one of your apps.
To be able to get these permissions and access your app, your Google Ads representative should be a team member of Google Ads’ partner account on Appsflyer.
Because of Google’s privacy requirements, Google can add new team members to its AppsFlyer partner account only when it’s explicitly requested by an advertiser.
In order to grant a Google Ads team member access to your app, do the following:
- Fill out and submit this form to request your account manager to be added to Google’s partner account on AppsFlyer.
- Wait for the confirmation from Google Ads that your GA account manager has been added.
- Go to Configuration > Integrated partners > Google Ads > Permissions and add your account manager email to the list of team members.
- Activate the permissions you wish to grant your Google Ads account manager.
Read more about providing permissions to Ad networks.
Enabling Google Ads attribution for agencies
AppsFlyer supports agency configurations with Google Ads. It is essential that the advertiser and the agency have separate Google Ads accounts to enable AppsFlyer to correctly attribute the data. For details, click here.
Running with multiple Google Ads accounts
AppsFlyer supports working with multiple Google Ads accounts for the same app. This is performed through sharing the Link ID in Google Ads and importing the events into each Google Ads account.
For further details on how to share your Google Ads Link ID, click here.
iOS App Campaigns
Note: This section applies to app campaigns for installs and not app campaigns for engagement.
On January 27, 2021, Google announced policy updates to accommodate iOS 14 release.
Since ATT enforcement began, Google iOS apps do not prompt for ATT, and therefore Google Ads products stopped using device identifiers (IDFA) that fall under ATT.
To preserve reporting and campaign optimization, Google expanded modeled conversions to iOS 14+ traffic.
Since modeled conversions are not reliant on device IDs, starting with the iOS14.5 release, the iOS install app campaign inventory logic employed by Google is as follows:
- iOS ACI search channel/inventory isn't attributed (per earlier January 24, 2020 policy).
- iOS ACI YouTube channel/inventory isn’t attributed, since the YouTube app is not prompting ATT so IDFA cannot be used.
- iOS ACI Display channel/inventory can be attributed, only when a device ID is present, in case there is consent on both the advertiser and the publisher apps.
Using deferred deep linking in App campaigns
Google feeds in App campaigns enable you to create a smooth content-specific experience for new mobile users.
When a potential user clicks on a feed, they are redirected to the app page. After the user installs the app and launches it, the SDK supplies the specific product details (e.g. running shoes) with deferred deep linking. The app developer uses this data to deliver the relevant user experience within the app.
To enable deferred deep linking with Google Ads:
- Make sure to use GCD to receive the
af_dpparameter in the AppsFlyer SDK.
- In Google, set up feeds.
- In AppsFlyer, Go to Configuration > Integrated Partners. Select Google Ads (Adwords).
- In the Integration tab, enable Deferred deep linking with Google Ads.
- Click Save integration.
Google Ads parameter mapping
The following table describes the parameter mapping between Google Ads and AppsFlyer. Note that advertisers can't add personalized parameters to any Google Ads campaigns.
|Channel (af_channel)||* See note below the table|
Campaign ID (af_c_id)
Populted by ad_group_name parameter.
If this parameter is null, AF populates af_adset with ad_group_id.
|Adset ID (af_adset_id) populated by Google ad_group_id parameter||Yes||Yes||Yes|
|Ad ID (af_ad_id)||N/A||N/A||N/A|
|Ad Type (af_ad_type)||Yes*||Yes*||Yes*|
|Site ID (af_siteid)||GoogleSearch/
*Note that Google Ads doesn't send the Channel parameter.
AppsFlyer determines how to populate this parameter according to the following rules:
- If the Google Ads
Networktypeis Display, then Channel is populated with
Networksubtype(For example, channel=mGDN).
- If the Google Ads
campaigntypeis Search or YouTube, then Channel is populated with
Networktype(For example, channel=Search).
- For all other campaign types received from Google Ads, Channel is populated with
campaigntype_networktype(For example, ACI_search )
For more information on what ad types are available in Google's response see here.
Campaign type: app campaigns
|Until February 15, 2021||Starting February 23, 2021|
Note! Campaign name type is set according to the click or impression date, not the install date.
Engaged view parameter in raw data reports
An engaged view is a user impression of a video ad that lasted more than 10 seconds. This counts as a click and displays only for Android apps in raw data reports populating “sub param 5”.
This parameter is displayed if the engaged view occurred within the defined click lookback window in AppsFlyer, but the maximum is 2 days.
- Google is an SRN (Self Reporting Network). For more information about how the attribution flow works for these networks, click here.
- AppsFlyer can present any campaign information that is provided by Google. The campaign type (Search, Video, Display) and associated information is determined by Google. For more information, click here.
Optimize Google Ads campaigns for conversions without device ID
Beginning with iOS14.5+ and Android 12+, Google Ads introduced several identifiers. These identifiers are used for deterministic attribution of conversions without device IDs:
|Identifier||Available from||Source||Operating system||Used for||Data granularity|
|gclid||December 2021||Google Play referrer||Android||Installs||User-level|
|gclid||December 2021||Deep link URL||Android + iOS||Re-engagements||User-level|
|gbraid||March 2021||Deep link URL||iOS||Re-engagements||Aggregate|
When AppsFlyer receives these identifiers and sends them in Google Ads postbacks, Google Ads can claim conversions based on them. AppsFlyer uses the claim and considers the parameters for attribution and for associating LTV events.
No action is needed from the advertiser to enable receiving these parameters.
Data visibility by operating system
In AppsFlyer and Google Ads, advertisers can receive full campaign data for traffic without device IDs – both for installs and re-engagements.
- In Google Ads, advertisers can receive full campaign data for traffic without device IDs for their re-engagement activity.
- In AppsFlyer, advertisers can view their re-engagement activity only at the media source level, since Google Ads does not share campaign details with AppsFlyer for this traffic. Campaign IDs are displayed as "N/A" and Campaign names as "None" in the overview dashboard.