At a glance: Integrate your Google Ads account with AppsFlyer to display attribution data from all of your campaigns.
Related reading
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:
Note
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 Settings & Billing and click Linked accounts.
- In the Third-party app analytics box click on DETAILS
- Click the “+” button
- From the App analytics providers list select AppsFlyer
- Select your mobile app's platform, iOS or Android, and select the relevant app under look up your app
- Click on CREATE LINK ID
- Copy the new Link ID, which now uniquely identifies your mobile app on Google Ads
- Remember - you MUST repeat these steps to create the unique LINK ID for each of your mobile apps
Step 2: set up Google Ads on AppsFlyer (mandatory)
(Any member in AppsFlyer's account)
- Head to your app's dashboard on AppsFlyer and 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.
Note
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.
Important!
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 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.
Note
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 Re-engagement view-through lookback window, which is the period of time, starting from 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.
Stop!
You MUST go through step 4 to see Google Ads installs in AppsFlyer.
If you also need to map your in-app events to Google Ads go through step 3 first.
Step 3: map your in-app events (recommended)

- Go to the Integration tab and scroll down to the In-App Events section
Note
When enabling the Google Ads in-app events mapping for an app for the first time:
- When enabling the Google Ads in-app events mapping for an app, af_app_open is automatically mapped to session_start.
- In the Sending Option menu, 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 the sending option for any event.
- Turn on In-App Event Postbacks.
- Click Add Event to add an SDK Event to the list
- Complete the following parameters:
Parameter Name Description SDK Event Name The name of the event, as received by AppsFlyer either from the SDK integrated in your app, or from server to server events. Tip
Don't see the event you want in the list? Make sure to activate the event on a device with a non-organic installation and recheck.
Partner (Google)Event Identifier
The unique name or ID of each event as defined in Google Ads.
Select the most suitable pre-defined event from the dropdown list.Note: if you don't find a suitable pre-defined event, select CUSTOM value, which enables sending your SDK event as is to Google Ads. However, the event value must contain standard AF parameters. If you send an event with Non-AF parameters in the value, these parameters are not sent to Google Ads.
Sending option
- This partner only: send postbacks only when this event is attributed to Google Ads.
- All media sources including organic: send postbacks for events attributed to any partner, as well as organic events.
Send event data - No values & no revenue: send only the event itself without the event value.
- Values & no revenue: send all the parameters excluding the revenue value.
- Values & revenue: send all the event parameters, including the revenue value (if exists in the event).
- Click Save
Step 4: measure your app conversions (mandatory)
(Google Ads admin only)
Important!
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".
- Head back to your Google Ads account and click on the Tools icon
- Under the section labeled Measurement - click on Conversions
- Click the Plus button
- Select App from the list of conversion types
- Select Third-party app analytics, and click on Continue
- Check the box next to first_open of ALL your apps, and for each event you’d like to import.
Note: 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. - Click Import and Continue, and then click Done
- You can now see your third-party conversion event in the Conversion actions table. Click on the name of the event to see more details
If an event does not appear in the list or if it has been removed from the Google Ads Conversion import list, click Status and select All to show all events, so that you can re-import the event:
- Congratulations! You are now measuring Google Ads mobile campaigns with AppsFlyer!
Note
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.
Tip
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_dp
parameter 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.
Network type |
Search | Display | Video |
---|---|---|---|
Channel (af_channel) | * See note below the table | ||
Campaign (c) | Yes | Yes | Yes |
Campaign ID (af_c_id) |
Yes | Yes | Yes |
Adset (af_adset) Populted by ad_group_name parameter. If this parameter is null, AF populates af_adset with ad_group_id. |
Yes | Yes | Yes |
Adset ID (af_adset_id) populated by Google ad_group_id parameter | Yes | Yes | Yes |
Ad (_ad) |
N/A | N/A | N/A |
Ad ID (af_ad_id) | N/A | N/A | N/A |
Ad Type (af_ad_type) | Yes* | Yes* | Yes* |
Site ID (af_siteid) | GoogleSearch/ Search Partners |
N/A | YouTubeVideos/ YouTubeSearch/ VideoPartners |
Keywords | N/A | N/A | N/A |
*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
Networktype
is Display, then Channel is populated withNetworksubtype
(For example, channel=mGDN). - If the Google Ads
campaigntype
is Search or YouTube, then Channel is populated withNetworktype
(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 |
---|---|
UAC | ACI |
UACE | ACE |
UACPre | ACPRE |
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.
Important!
- 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
Android apps:
In AppsFlyer and Google Ads, advertisers can receive full campaign data for traffic without device IDs – both for installs and re-engagements.
iOS apps:
- 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.