Google Ads (AdWords) integration setup

At a glance: Integrate your Google Ads account with AppsFlyer to display attribution data from all of your campaigns. 


See the bulletin about supporting the new Google EU consent policy.

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)

Creating a link ID requires Google administrative access to the account.

  1. Log in to your Google Ads admin account.
  2. From the top menu, click Tools and settings.
  3. Under the Setup menu, select Data manager and click + Connect Product.
  4. In the Data sources search bar, type "Third-party app analytics", select it, and click Continue.
  5. Click Create link ID.
  6. Select AppsFlyer as your app analytics provider.
  7. Select the platform, Android or iOS.
  8. Find your app and select it.
  9. Click Create link ID.

Step 2: Set up Google Ads on AppsFlyer (mandatory)

(Any member in AppsFlyer's account)

  1. In AppsFlyer, from the side menu, select Collaborate > Partner Marketplace.
  2. Search for Google Ads and select it.
  3. Click Set up integration. You’re directed to the integration setup page. 
  4. From the Integration tab, turn on Activate partner.
    Note: The toggle must stay on (activated) for as long as you work with the partner.
  5. Paste the Link ID you copied in the previous step.
  6. Decide whether or not to turn on Non EU users.

    non eu usrs.png

  7. Configuring Install attribution:
    1. 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.
    2. [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.
    3. Enable Install view-through attribution.
    4. 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 doesn't send claims for iOS app impressions. The install view-through attribution toggle and the lookback window slider are no longer relevant for iOS apps.

  8. 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.

  9. Configure Re-engagement attribution:
    1. Enable retargeting in App Settings.
    2. Enable Re-engagement attribution.
    3. 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.
    4. Enable Re-engagement view-through attribution.
      Note: Google doesn't send claims for iOS app impressions. The install view-through attribution toggle and the lookback window slider are no longer relevant for iOS apps.
    5. 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.
    6. 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.

  10. If you have a Google Ads iOS app extension:
    To get attributions from the ad link, go to the Attribution link tab, create an AppsFlyer single-platform attribution link, and insert it into the Google Ads app extension.
    Note: Make sure to add a static campaign name (mandatory).

  11. Go to the Cost tab.
  12. Turn on Get cost, clicks and impressions data.
  13. Click the Connect Google Ads button, and log into your Google account to get all your Google Ads campaign costs on AppsFlyer. More details here.
  14. Click Save.


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)

(Any member attached to the AppsFlyer's account)

  1. 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.
  2. Turn on In-app event postbacks.
  3. Click Add event to add an SDK or server-to-server event to the list.
  4. 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 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.
  5. Click Save integration.
  6. After saving the integration, while remaining on the configuration page, you can integrate more of your apps with the partner.
    1. From the top-left corner, under the partner name, click the app name to open the list of apps. 
    2. Select a different app from the drop-down list.
    3. Repeat the integration steps for the selected app.

Step 4: Measure your app conversions (mandatory)


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 the event conversions 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".

This step requires Google administrative access to the account to create a link ID.

Follow the steps described in the Google Ads Help documentation. Take note of the following:

  • At Step 7, check the box next to first_open for all your apps, and for each event you wish to import. If the Partner Event identifier in Google Ads has been changed or is labeled as CUSTOM, while the corresponding event name has been modified in AppsFlyer, you will need to re-import the data.
  • After finishing the process, you can 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
    1. Click View all conversion actions. The Status filter appears.
    2. Click Status and select All to see all events, including disabled and removed events.
  • 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.

Congratulations! You're now measuring Google Ads mobile campaigns with AppsFlyer!


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:

  1. Fill out and submit this form to request your account manager to be added to Google’s partner account on AppsFlyer.
  2. Wait for the confirmation from Google Ads that your GA account manager has been added.
  3. Go to Configuration > Active Integrations > Google Ads > Permissions, and add your account manager email to the list of team members.
  4. 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

What is a deep link and how does it work?

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.

 Deferred deep linking in Google

Google feeds in App campaigns or ad group deferred deep linking enables you to create a smooth content-specific experience for new mobile users. Google enables deep links to be set either in the feed or the ad group—and AppsFlyer supports both cases for deferred deep linking. 

To enable deferred deep linking with Google Ads:

  1. Make sure to use GCD to receive the af_dp parameter in the AppsFlyer SDK. 
  2. In Google, set up feeds or set ad group level deferred deep linking.
  3. In AppsFlyer, Go to Configuration > Active Integrations. Select Google Ads (Adwords).
  4. In the Integration tab, turn on Deferred deep linking with Google Ads.
  5. 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 YouTube
Channel (af_channel) See table below, How to populate the Channel parameter
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 (af_ad)

Ad ID (af_ad_id) N/A N/A N/A
Ad Type (af_ad_type) Yes* Yes* Yes*
Site ID (af_siteid) GoogleSearch/
N/A YouTubeVideos/
Keywords N/A N/A N/A

How to populate the Channel parameter

Google Ads doesn't send the Channel(af_channel) parameter. AppsFlyer determines how to populate this parameter for campaign types received from Google Ads, according to the following rules:

Campaign type AND Network type logic: Channel parameter Example
campaign_type network_type
ACI, ACE, ACPRE, Shopping, or Hotel

All network types

campaign_type_network_type channel = ACI_Search


ACI, ACE, ACPRE, Shopping, or Hotel
Display network_subtype channel = mGDN


ACI, ACE, ACPRE, Shopping, or Hotel


network_type channel = Search

For more information on what ad types are available in Google's response see here.

Campaign type: app campaigns

Changes to campaign names by Google Ads

 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. For Android, these display 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 3 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

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 and AppsFlyer, advertisers can receive full campaign data for traffic without device IDs for their re-engagement activity.

See also