Google Ads (AdWords) integration setup

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:

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.

 Watch

 Read

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.

    google-ads-linked-accounts_en-us.png
  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

    gads-search.png

  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.

     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.

    google-ads-integration-tab_en-us.png

  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.

     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.

  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.

       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.

    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.

    IntegrationGoogle_us-en.png

  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.

 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)

(Any member attached to the AppsFlyer's account)

google-ads-in-app-postbacks.png
  1. 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.
  2. Turn on In-App Event Postbacks.
  3. Click Add Event to add an SDK Event to the list
  4. 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).
  5. 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".

  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

    googleadsimport_en-us.png
  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:

    Import_Conversions_new__1_.png
  9. 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:

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

  1. Make sure to use GCD to receive the af_dp parameter in the AppsFlyer SDK. 
  2. In Google, set up feeds.
  3. In AppsFlyer, Go to Configuration > Integrated Partners. Select Google Ads (Adwords).
  4. In the Integration tab, enable 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 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
Google Ads parameter mapping

*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 with Networksubtype (For example, channel=mGDN).
  • If the Google Ads campaigntype is 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
UAC ACI
UACE ACE
UACPre ACPRE
Changes to campaign names by Google Ads

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.

    gbraid-campaign-example_en-us.png

 

 

Was this article helpful?