Google Ads (AdWords) guide

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

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 Integrations Guides for either Android or iOS.



Step 1: create the Google Ads link ID (mandatory)

(Google Ads admin only)

  1. In your Google Ads dashboard, go to Settings & Billing and click Linked accounts.

  2. In the Third-party app analytics box click on DETAILS

  3. Click the “+” button

  4. From the App analytics providers list select AppsFlyer

  5. Select your mobile app's platform, iOS or Android, and select the relevant app under look up your app

  6. Click on CREATE LINK ID

  7. Copy the new Link ID, which now uniquely identifies your mobile app on Google Ads

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

  1. Head to your app's dashboard on AppsFlyer and click Integrated Partners

  2. Select Google Ads


  3. Activate the partner and paste the copied Link ID.
  4. 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.


    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.


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

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


      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.

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


  7. Go to the Cost tab
  8. Toggle ON the Get Cost, Clicks and Impressions Data button.
  9. 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.


  10. 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 Events section
  2. Set the Link ID again here, if required


    When enabling the Google Ads in-app events mapping for an app for the first time, all the af_XXX events from the SDK are automatically mapped to Google's pre-defined event list. This automatic mapping saves you time and decreases mapping mistakes significantly.

  3. Toggle In-App Event Postbacks to ON
  4. Click Add Event to add an SDK Event to the list
  5. 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.


    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).
  6. 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 or the new conversions change status from “No recent conversion” to “recording conversion".

  1. Head back to your Google Ads account and click on the Tools icon

  2. Under the section labeled Measurement - click on Conversions
  3. Click the Plus button

  4. Select App from the list of conversion types

  5. Select Third-party app analytics, and click on Continue

  6. 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.
  7. Click Import and Continue, and then click Done

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

  9. Congratulations! You are 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:

  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 > Integrated partners > 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 with feeds 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 feeds:

  1. In Google, set up feeds.
  2. In AppsFlyer, Go to Configuration > Integrated Partners. Select Google Ads (Adwords).
  3. In the Integration tab, enable Deferred deep linking with Google feeds.
  4. Click Save integration.

Google Ads parameter mapping

  • The table below is the parameter mapping between Google Ads and AppsFlyer.
  • Advertisers can't add personalized parameters to any Google Ads campaigns.

Campaign type: app campaigns

 Until February 15, 2021 Starting February 23, 2021
Changes to campaign names by Google Ads

Note! Campaign name type is set according to the click or impression date, not the install date. 

Network type

Search Display Video
Channel (af_channel) ACI_Search ACI_Display ACE_Video
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)

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/
Keywords N/A N/A N/A
Google Ads parameter mapping

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

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.
  • Click Blocking - For Android, AppsFlyer blocks clicks from pid googleadwords_int, meaning they are counted in the system, but ignored for attribution.
Was this article helpful?