At a glance: Create web campaigns to attribute web-to-app conversions from Google Ads
Note
This article focuses on web campaigns that promote mobile apps. If you want to create campaigns that promote PC or Console apps, see Google Ads Web—Integration for PC and console apps.
Overview
AppsFlyer supports integration with Google Ads (googleads_int) for web-based campaigns and reports the campaigns' attribution and conversion data through the Google Offline Conversion API (OCI).
In this article, you'll learn how to set up mobile web campaigns in AppsFlyer and Google Ads, targeting Web users who interact with Google ads.
The campaigns are based on a user journey that starts when a user clicks on an ad and is redirected to a landing page. This page includes AppsFlyer Smart Script or Smart Banners, which create attribution links.
Once clicked, these links take the user to the app store to download and install the app. The install and subsequent in-app events are recorded in AppsFlyer and reported to Google Ads via OCI.
Google uses this data to optimize ad targeting, measure performance, and build custom audiences.
Prerequisite
Before activating the Google Ads integration for web campaigns, make sure you have the following:
- A mobile app
- An AppsFlyer account
- AppsFlyer users with appropriate roles or permissions and access to the relevant apps
How to create a Google Ad Web Campaign
This article contains information and steps to set up a web campaign in Google Ads for Mobile, PC, and console apps with AppsFlyer. The setup involves defining the integration between Google Ads and AppsFlyer and setting the campaign attribution links.
- Set up Google Ads integration in AppsFlyer (Required)
- Set up Google Ads integration in Google Ads (Required)
After setting up the attribution links in step one through the Google Ads and AppsFlyer integration, step two focuses on creating the landing page. Here, OneLink Smart Script or Smart Banners will use the attribution links to generate call-to-action buttons, directing users to the app stores.
Create a Google Ads integration in AppsFlyer
Start by activating the integration with Google Ads for web campaigns and setting the postbacks that AppsFlyer sends to the OCI.
1. Activate the Google Ads for web campaigns integration
- In AppsFlyer, from the side menu, go to Collaborate > Partner Marketplace.
- Search for Google Ads Web and select it.
- Click Set up integration. You’re directed to the Active Integrations setup page.
- In the Integration tab, turn on Activate Partner. Note: The toggle must stay on (activated) for as long as you work with your partner.
-
Turn off Advanced Privacy (if you are setting an iOS app integration).
Note
The Missing token error message will stop appearing once you’ll sign in with Google and allow AppsFlyer to fetch the token in the step below. If the error persists after you sign in, verify that your token has the required permissions.
-
In First open conversion ID, enter the ID of the
First openconversion action you set in Google Ads. To find the ID, go to Google Ads and open the Details tab of the First open conversion action page. Then, copy the value of thectid=*query parameter from the page URL. For example, ifctid=123456789, insert123456789to the First open conversion action ID box.Tip
If you still need to set the 'First open' action in Google Ads, you can enter a placeholder value temporarily until the action is fully set up.
- Enter your Customer ID. You can retrieve it from your Google Ads Manager:
- Sign in to your Google Ads account.
- In the top right corner, click the Google account icon and scroll down to where the Customer ID is displayed.
- If you have multiple Google Ads accounts running campaigns for your app, you must use the Customer ID from a manager (MCC) for cross-account conversion tracking. Paste the MCC ID (and not a specific account’s Customer ID) in the Customer ID text box and also in the MCC Customer ID text box (same ID in both boxes).
If you only use a single Google Ads account to run ads, simply paste the account ID in the Customer ID text box and leave the MCC Customer ID text box empty. See Google instructions on configuring an MCC account. - Click Allow.
2. Enable view-through attribution
AppsFlyer supports view-through attribution for Google Web campaigns using a Smart Script or Smart Banner-enabled landing page. This allows probabilistic modeling (PMOD) attribution of app installs triggered by ad impressions, even when users don’t click the ad directly.
When a user sees a Google ad and lands on a Smart Script or Smart Banner-enabled landing page, AppsFlyer can attribute the resulting app install, including cross-platform, back to the original web impression.
When available, AppsFlyer includes the gclid in the postback to Google.
To enable view-through attribution:
- In AppsFlyer, from the sidebar, open Active Integrations > Google Ads Web
- In the Integration tab, scroll to the Install attribution section.
- Turn on Install view-through attribution.
- [optional] Turn on Cross-platform equal attribution priority and set its lookback window. For more information, see Enable equal priority for cross-platform impressions.
- Open the Attribution tab.
- Scroll to the View-through attribution section and set the preferred view-through lookback window (up to 24 hours).
- Click Save integration to apply the changes.
3. Set in-app event postbacks
Installs are currently the only events that trigger automatic default postbacks to Google Ads for Web via the OCI API. For other event types, you can create custom postbacks by mapping AppsFlyer events to Google Ads conversion action IDs (”Conversion action” is the term Google Ads uses for attribution events.) Consult Google Ads Manager to learn about the Google Ads Web event you need to map to AF events.
- Turn on In-app event postbacks.
- If required, set the In-app event postback window (read more about in-app event postback window configuration in general in this article).
- Click Add event to add an SDK or server-to-server event to the list.
- In the AppsFlyer event column, select the event name from the drop-down box. AppsFlyer receives the event's name from the SDK integrated into your app or server-to-server events.
-
In the mapped to partner event column, you must map the AppsFlyer event to a corresponding Google conversion action ID. Before you can do that, you need to set up the required Google conversion actions in Google Ads. To learn how to set conversion actions in Google Ads, see create custom conversion actions.
To find the conversion action ID in Google Ads:
- Go to Google Ads.
- Open the page of the conversion action you want to map.
- Open the Details tab.
- From the page URL, copy the value of the
ctid=*query parameter. - Go back to AppsFlyer.
- Paste it into the mapped to partner event column. For example, if
ctid=123456789, paste123456789.
- In the For Users From column, select This Partner Only.
- In the including column, select whether all event parameters, including the revenue value (if it exists in the event), are sent in the postback.
- [Optional] Click the Add condition icon to set conditions for an event.
- Click Save integration.
- [Optional] After saving the integration, while remaining on the configuration page, you can integrate more of your apps with the partner:
- From the top-left corner, click the app name under the partner name to open the list of apps.
- Select a different app from the drop-down list.
- Repeat the integration steps for the selected app.
4. Configure the OneLink template
Before creating a OneLink attribution link for your Google Ads campaign, you need to set its template. Then, you can create a OneLink attribution URL based on the template and use it as the Google Tracking template URL.
Note
The instructions below focus on creating a OneLink template for Google web campaigns with Smart Script. For a comprehensive guide on how to set up OneLink templates, see the How to create OneLink templates section of the OneLink templates article.
- Under the Redirection section of the New template or Edit template page, configure the following settings:
-
When app isn’t installed > Redirect to: Select your preferred option. The redirection value you set here is overridden by the
{lpurl}value of the redirection parameters (af_android_url,af_ios_url) you place in the Google Tracking Template; see here. - When app is installed: Make sure not to set up Universal Links, URI scheme, or All Links for launching the app since Google does not allow any redirection apart from the redirection to the Final URL.
-
When link is clicked on desktop web page > Redirect to: Select your preferred option. The redirection value you set here is overridden by the
{lpurl}value of the redirection parameters (af_web_dp) you place in Google's Tracking Template, see here).
-
When app isn’t installed > Redirect to: Select your preferred option. The redirection value you set here is overridden by the
- Click Create template.
Create a web campaign in Google Ads
Perform the following steps in Google Ads.
1. Set the campaign type, objective, and goals
Google Ads uses the campaign type objective and goals you select here to set the right bidding strategy and optimize campaign performance.
- Log in to Google Ads and create a campaign.
-
Select the campaign objective.
- All objectives are applicable, except "App promotion" (which can only be used for mobile app campaigns).
- We recommend setting the "Sales" campaign objective for optimization based on specific in-app events.
-
Select the conversion goals.
- By default, you see the predefined account-level campaign goals. You can keep those or remove ones that aren't relevant to your campaign.
-
If you don’t see the goal you want Google to optimize for,
- You can also edit your predefined goals on the Conversions page.
-
Select the campaign type.
- All campaign types are applicable, except "Shopping," which requires a product catalog and is limited to verified domains.
2. Create custom conversion actions
Next, for each in-app event you set in AppsFlyer, you must create a corresponding conversion action in Google Ads. After you complete creating the conversion action, you will need to copy the ID of the newly created action and map it to the AppsFlyer in-app event.
To create custom Google Ads conversion actions and goals:
- In your Google Ads account overview page, from the side menu, select Goals > Conversions > Summary.
- Click + New conversion action.
- Select Conversions offline as your conversion actions data source.
-
Select Import from the list of conversion types, then select either:
- Manual import using API or uploads > Track conversions from clicks.
OR
- CRM, files, or other data sources > Track conversions from clicks, and under Data source, select Skip this step and set up data source later.
- Click Continue.
- In Conversion goal, select a conversion action category.
-
In Enter a conversion name, type the name of the conversion action.
Important!
To use the Offline Conversions API with GBRAID/WBRAID (in addition to GCLID), make sure the Count field in the conversion action is set to Every (default) and NOT One.
- Enter a Conversion name and then click Add. Note: If you only want your campaigns to optimize to a single action, include only that action in this category. For example, if you want your campaign to optimize towards the First open conversion action, make sure that it is the only one in its category. You’ll then be able to select this category as the conversion goal for performance optimization when creating the campaign.
- Click Save and continue, and then Done without setting up data sources. Your new conversion action may initially appear as “Inactive”, but it will change to “Active” once actual data is sent.
-
To map the new Conversion action to the AppsFlyer postback event, retrieve the new conversion action ID. In the conversion goals Summary page, click the conversion action you created and copy the value of the
ctid=*query parameter from the conversion action page URL. - In AppsFlyer, paste the
ctidvalue in the mapped to partner event column of the postback event you want Google to optimize for; see: Set in-app event postbacks.
3. Set the campaign URLs
Google Web Ads campaigns utilize two URLs for each engagement: the Final URL and the Tracking Template URL. These URLs are activated simultaneously when the ad is clicked, a feature Google refers to as Parallel Tracking. More information on Parallel Tracking is available in the Google documentation.
Set the Final URL
Google defines the Final URL as "the URL address of the webpage in your website that people reach after they click your ad. Also known as the 'landing page.'"
To set the Final URL
- In Google Ads, open the Campaigns > ads page.
-
In the ad row, click the edit icon.
-
In Final URL, enter the URL of the web landing page.
Important!
The Final URL can't be an AppsFlyer URL—OneLink or a single platform attribution URL—as this may cause your campaign to be rejected. Only use a direct web address with no redirects, such as a web page URL, the Google Play store URL, or the App Store URL.
This must be the final web location to which you want to redirect your users. It can be either:
-
A landing page URL pointing to a page that prompts the user to click a CTA button to download the app from Google Play, App Store, or any other app store. The landing page includes Smart Script or Smart Banners, which automatically generate the CTA button URLs. To learn how to create the landing page with Smart Script or Smart Banners.
You can add AF attribution parameters to the Final URL and map them to Google ValueTrack parameters, for example,
af_c_id={campaignid}. Once the Google ad is clicked and the landing page is loaded, Smart Script or Smart Banners can copy the parameters to the landing page's outgoing URL. To learn about the available ValueTrack parameters, see the Google documentation.For example,
https://example.com?product=1234&af_c_id={campaignid} -
A store URL such as the App Store or Google Play.
Important!
Suppose you use the store URL as your Final URL. The only way to send attribution and custom parameter information to AppsFlyer is to insert and map AF parameters to the Tracking Template URL.
https://play.google.com/store/apps/details?id=.com.app.id&hl=en&gl=US&referrer={gclid}&gclid={gclid}&campaignid={campaignid} - A direct download link to the app APK file if you want users to download the app directly without being redirected to a store.
-
Set the Tracking Template URL
Since Google Ads, by default, uses Parallel Tracking, the Tracking Template URL—an AppsFlyer attribution link in our case—is loaded in the background, and the click is registered at AppsFlyer. It is not mandatory to use tracking template URLs, especially when using Smart Banners or Smart Script, see Using the Tracking Template URL with Smart Script or Smart Banners in this article.
-
In Google Ads, open the Campaigns > Campaigns page. In the campaign row, click the settings icon
-
Expand the Settings > Additional Settings > Campaign URL options
-
In Tracking template, use the following (BaseURL + Redirection parameters):
-
Base URL: Set the Base URL according to the ad click destination:
- Single platform attribution link if the ad click destination is either Google Play or the App Store (see example below).
- A OneLink attribution link if the ad click destination is a Web page (see example below).
-
The PID parameter: Add the mandatory
pid=googleads_intparameter.Tip
To simplify campaign analysis, include the campaign type, web or mobile, as a prefix or suffix in the campaign name (e.g,
campaign-name_web) -
The site ID parameter: Add the mandatory
af_siteidparameter. You can manually assign any value to it. - The campaign name parameter: Add the mandatory c parameter and assign manually it's value (There is no ValueTrack parameter for this parameter).
-
The force transparent parameter: Add the mandatory
af_force_transparent=trueparameter. This parameter is designed to enhance security in redirection behavior, ensuring compliance with Google’s requirements. Please note that if you do not add the required parameter, Google may disapprove your ad. -
Redirection parameters for a OneLink attribution link: For parallel tracking to function as intended, set the AF redirection parameters in one of the following combinations:
- The parameters
af_android_url,af_ios_url, andaf_web_dpmust be set to the{lpurl}Google ValueTrack parameter. Important: Ensure all three are populated to guarantee the attribution link works in all scenarios.
Or - The
af_rparameter must be set to the{lpurl}Google ValueTrack parameter.
- The parameters
-
Redirection parameter for a single platform attribution link: For parallel tracking to function as intended, set the
af_rparameter to the{lpurl}Google ValueTrack parameter.Important!
To comply with Google requirements, ensure that the {lpurl} value is a valid redirect URL:
- It uses the HTTPS protocol.
- It must be encoded.
- The URL domain is included in your redirect allowlist.
-
AppsFlyer attribution parameters mapped to Google ValueTrack parameters, for example,
af_c_id={campaignid}. To learn about the available ValueTrack parameters, see the Google documentation. - Don't include any of the following parameters. Requests that contain these parameters are not supported in the Parallel Tracking flow and will be rejected:
af_dpaf_android_store_cslaf_ios_store_cppaf_og_titleaf_og_descriptionaf_og_image
- Don’t include any parameters that alter the value of the redirection parameter {lpurl}. This includes
af_base_params_forwardandaf_param_forwarding.
Note
For additional limitations relating to the tracking template URL, see the Traits and limitations section in this document
-
Base URL: Set the Base URL according to the ad click destination:
Google Tracking Template URL examples
An example of a OneLink in a Google Tracking Template URL:
https://subdomain.onelink.me/aAB1?pid=googleads_int&af_force_transparent=true&af_android_url={lpurl}&af_ios_url={lpurl}&af_web_dp={lpurl}&c=summer_sale24&af_siteid=123456&af_c_id={campaignid}&af_adset=sum24A&af_adset_id={adgroupid}&af_sub1={gclid}&af_sub2={gbraid}
An example of a single platform link in a Google Tracking Template URL:
https://app.appsflyer.com/id1510557250?pid=googleads_int&af_force_transparent=true&c=examplecamp&af_siteid=123456&af_adset=exampleadset&af_adset_id={adgroupid}&af_c_id={campaignid}&af_ad_id={creative}&af_click_lookback=7d&af_r={lpurl}
Using the Tracking Template URL with Smart Script or Smart Banners
You don't need to populate the Tracking Template URL with an AppsFlyer attribution link when the ad redirects to a landing page that uses a Smart Script or Smart Banners. This is because these tools automatically create an attribution link that gets registered in AppsFlyer when the user clicks the landing page CTA button. However, there are considerations for and against leaving the Tracking Template URL field empty:
- If you don’t populate the Tracking Template URL with an attribution link, you run the risk of missing installs that occur when the user clicks the ad but does not click any of the landing page CTA buttons. If the user goes directly to the app store to download the app within the lookback window, the subsequent install will not be attributable.
- If you populate the Tracking Template URL with an attribution link and the user clicks the ad and subsequently clicks the landing-page CTA buttons, two clicks will be registered instead of one, which may impact conversion-rate data.
Create a landing page with OneLink Smart Script
User journey: The user clicks on a Google ad and is directed to your mobile website. They land on a page with CTA buttons urging them to download your app. Clicking the button will redirect the user to the store.
End-to-end data flow
The W2A Smart Script use case is comprised of the following phases:
- The user clicks on a Google ad, Google automatically appends to the Final URL the following:
- a
gclidparameter for Android devices and for consenting users on iOS devices. - a
gbraidandwbraidfor iOS device non-consenting users. - all the query parameters set in the ad Google Tracking Template URL, except the redirection parameters.
- a
- The Final URL redirects the user to the landing page.
- Simultaneously, the ad Google Tracking Template URL which also contains the auto-appended
gclid,gbraid,wbraid, and thepid=googleads_intparameters, is fired in the background, and the click is registered with AppsFlyer. - When the landing page loads, the Smart Script fires an impression event to AppsFlyer, which includes the incoming URL parameters. This impression enables view-through attribution for the landing page. To learn about impressions and view-through attribution, see here.
- Smart Script generates the outgoing URLs for the CTA buttons on the page based on the incoming URL parameters, including the
gclid,gbraid, andwbraidparameters. The buttons can lead to:- Google Play and App Store via a OneLink attribution link.
- Multiple platform stores (for example, CTV, Epic and Steam). In this use case, Smart Script generates an outgoing single platform attribution link for each platform, leading to the specified platform’s store.
- Downloading an APK file to the user’s device.
- When the user clicks the CTA button, the click is fired and registered in AppsFlyer.
- The user is redirected to the store and downloads the app.
- The install event is registered in AppsFlyer when the user opens the app.
- AppsFlyer attributes the install based on probabilistic modeling or deterministically if an install referrer is available.
- A postback containing the
gclidor thegbraidandwbraidand additional event parameters is generated and sent to Google Ads via the OCI API. Google Ads uses thegclidorgbraidandwbraidparameter to identify the specific click, while the other parameters help optimize the campaign.
Set up a Smart Script landing page
To set up your smart script, Google web campaigns perform the following:
-
Create a smart script.
Note
The instructions below focus on the steps needed to set up a Google web campaign with Smart Script. For a comprehensive guide on how to set up Smart Script campaigns, you can see the How to create a OneLink Smart Script section of the OneLink Smart Script V2 setup article.
- Make sure all relevant URL parameters (that are later captured by the Smart Script) are appended to the incoming URL. To review the parameters appended to the incoming URL, open Google Ads and check the URL parameters set as part of creating the Final URL or Tracking Template URL; see: Set the campaign URLs.
- Map the incoming URL parameters required for the campaign to the outgoing URL parameters that will be sent to AppsFlyer when the user clicks the CTA button:
-
PID: Make sure that Smart Script takes the
pid=googleads_intparameter value from the incoming URL and maps it to the corresponding parameters in the outgoing URL. -
GCLID: The
gclidparameter is essential for successfully sending in-app events postbacks to Google Ads. The outgoing URL GCLID parameter mapping depends on your Smart Script version:- Version 2.8.1 and above: The
gclidparameter is forwarded automatically to the outgoing URL parameter when present in the incoming URL, eliminating the need for manual mapping. - Version 2.8.0 and below: The
gclidparameter should be mapped manually in the URL parameter mapping section of the Smart Script page:- In Mapping for, select Custom parameter.
- In Outgoing URL parameter and Incoming URL parameters enter gclid.
- Version 2.8.1 and above: The
-
GBRAID and WBRAID: The
gbraidandwbraidparameters are essential for successfully sending in-app event postbacks to Google Ads for non-consenting iOS device users. The mapping of thegbraidandwbraidparameters in the outgoing URL depends on your Smart Script version:- Version 2.9.0 and above: The
wbraidandgbraidparameters are forwarded automatically to the outgoing URL parameter when present in the incoming URL, eliminating the need for manual mapping. - Version 2.8.1 and below: The
wbraidandgbraidparameters should be mapped manually in the URL parameter mapping section of the Smart Script page:- In Mapping for, select Custom parameter.
- In Outgoing URL parameter and Incoming URL parameters enter wbraid.
- Repeat the above steps for the
wbraidparameter.
Note
To display in AppsFlyer raw data reports, the incoming
gclid,gbraid, andwbraid, parameters must each be mapped to a dedicated outgoingaf_sub[1-5]parameter (in addition to the outgoing URLgclid,gbraid, andwbraidparameters). - Version 2.9.0 and above: The
-
PID: Make sure that Smart Script takes the
Set up a Smart Script cross-platform landing page
For non-cross-platform landing pages, the marketer is typically responsible for auto-generating the Smart Script via the AppsFlyer Smart Script page. However, when it comes to cross-platform landing pages, the developer creates the script based on the parameters sent by the marketer.
To set up your smart script, Google web campaigns perform the following:
- Enable your OneLink template for cross-platform attribution; see here.
- Make sure all relevant URL parameters are appended to the incoming URL. To review the parameters appended to the incoming URL, open Google Ads and check the URL parameters set as part of creating the Final URL or Tracking Template URL; see: Set the campaign URLs.
- Decide for each incoming parameter the outgoing parameter to which it will be mapped. For example,
af_site_idin the incoming URL will be mapped toaf_site_idin the outgoing URL. - Decide the default value for the mandatory outgoing parameters that cannot be empty.
- Send your developer the following information:
- Your incoming - outgoing parameter mapping. The developer will create a script that generates an outgoing direct URL based on the incoming-outgoing parameter mapping.
- The parameters' default values. The script will populate the outgoing URL parameters with the default values whenever there are no corresponding incoming URL parameter values.
- If using a OneLink attribution link, send your developer the domain and template ID. The developer uses this to create the outgoing OneLink URL. For example,:
your_brand.onelink.me/A1b2or Branded domain example:click.yourbrand.com/A1b2 - Send your developer the following Dev Hub links:
- Instruction and code examples on how to create the outgoing direct URLs to the non-mobile platforms.
- A demo and instructions for creating a cross-platform landing page.
- When present in the incoming URL, the
gclidparameter is forwarded automatically to the outgoing URL parameter, eliminating the need for manual mapping (Starting from Smart Script version 2.8.1). Your developer still has the option to map thegclidto one of theaf_subparameters, making it available in raw data reports; see Google Ads GCLID.
Create a landing page with OneLink Smart Banners
User journey: The user clicks on a Google ad and is directed to your mobile website. They land on a page, and a Smart Banner with a CTA to download the app from the app store is displayed.
End-to-end data flow
- The user clicks on a Google ad, Google automatically appends to the Final URL the following:
- a
gclidparameter for Android devices and for consenting users on iOS devices. - a
gbraidandwbraidfor iOS device non-consenting users. - all the query parameters set in the ad Google Tracking Template URL, except the redirection parameters.
- a
- Simultaneously, the Google Tracking Template URL behind the ad, which contains the auto-appended
gclidparameter and thepid=googleads_intparameter, is fired in the background, and the click is registered with AppsFlyer. - When the landing page loads, the Smart Banner fires an impression event to AppsFlyer, which includes the incoming URL parameters. This impression enables view-through attribution for the landing page. To learn about impressions and view-through attribution, see here.
- The Smart Banner generates the outgoing URL for the CTA button on the banner based on the incoming parameters, including the
gclidparameter. The Smart Banner can generate only OneLink-based links. - When the user clicks the Smart Banner CTA button, the click is fired and registered in AppsFlyer.
- The user is redirected to the store and downloads the app.
- The install event is registered in AppsFlyer when the user opens the app.
- AppsFlyer attributes the install based on probabilistic modeling or deterministically if an install referrer is available.
- A postback containing the
gclidand other event parameters is generated and sent to Google Ads via the OCI API. Google uses thegclidparameter to identify the specific click, while the other parameters help optimize the campaign.
Set up a Smart Banners landing page
Note
The instructions below focus on the steps needed to set up a Google web campaign with Smart Banners. For a comprehensive guide on how to set up Smart Banners campaigns, see the setup section of the Smart Banners—mobile web-to-app (for marketers) article.
To set up your Smart Banners Google web campaigns, perform the following:
- Create a Smart Banner. For instructions, see the setup section of the Smart Banners—mobile web-to-app (for marketers) article.
- Make sure that the incoming URL includes the following:
- The
pid=googleads_intis available in the incoming URL. - The
gclidparameter is available in the incoming URL. Smart Banners automatically forwardsgclidthe parameter to the outgoing banner URL. Thegclidparameter is necessary for the successful delivery of in-app postbacks to Google OCI. - The
gbraidandwbraidparameters are available in the incoming URL when sending postbacks for non-consenting iOS device users. Smart Banners automatically forwards these parameters to the outgoing banner URL. In this case, thegbraidandwbraidparameters enable Google to get aggregated event data in the absence of thegclidparameter. - All relevant URL parameters are appended to the incoming URL. To review the parameters appended to the incoming URL, open Google Ads, and check the URL parameters set when creating the Final URL or Tracking Template URL; see: Set the campaign URLs.
- The
- (Optional) In the banner group setting page under the Dynamic attribution parameters section, select the first checkbox. This setting ensures that all parameters on the incoming link are added to the link on the Smart Banner.
View web-to-app attribution data
Although web-based conversion events are sent to Google under the original googleads_int PID, they are reported in the AppsFlyer dashboard and raw data reports under the googleadwords_int PID. This applies both to primary conversion events and to conversion assist events.
This unified reporting view lets you analyze both web and app campaign performance in one place, including full mobile and web cost reporting.
View in the dashboard
All Google web-to-app attributions appear under googleadwords_int in the Overview and Activity dashboards. This provides a single, consolidated view of campaign results across platforms. Use standard filters and breakdowns to compare app and web traffic within your Google Ads data.
View in raw data and API reports
-
Raw data exports and API responses include the
googleadwords_intPID in themedia_sourcefield for Google web activity. To verify web campaign setup details, refer to theoriginal_urlfield that showsgoogleads_intas the PID used during the creation of web campaigns. -
Postback reports show
googleads_intas the original media source to which the postback was sent.
Troubleshooting in-app events postbacks
If in-app event data is not displayed in Google Ads or Google Analytics, or if you get the Missing token error, make sure the following settings are correct before contacting support:
Set token permissions
In Google Ads, make sure that your access token has the necessary permissions to upload offline conversions:
- Go to the Google Developers Console.
- Make sure that
uploadClickConversionshas the following OAuth scope:https://www.googleapis.com/auth/adwords - In AppsFlyer in the integration tab, click Sign in with Google.
- Select the admin account of the MCC account.
- Click Allow.
MCC Customer ID
If you have multiple Google Ads accounts running campaigns for your app, you must use the Customer ID of an MCC account. See Google instructions on configuring an MCC account.
Conversion Action ID
Make sure the postback in-app events are mapped to the correct conversion action ID. To find the conversion action ID in Google Ads, see here.
GCLID, GBRAID, WBRAID parameters
The Smart Script or Smart Banners outgoing URL must include either gclid, wbraid, or gbraid for the postback to Google OCI to register properly in Google Ads.
Traits and limitations
| Trait | Remarks |
|---|---|
| Dashboard | Attribution data for Google web-based campaigns on iOS is viewed and analyzed in the AppsFlyer Classic Dashboard. In most cases, the SKAN Dashboard is not relevant for web-to-app campaigns. |
| Re-engagement attribution |
Users may observe installs attributed to
|
| Cost, clicks, and impressions data |
Cost, clicks, and impressions data for Google Ads Web (
googleads_int) is supported through the Google Ads integration (googleadwords_int).
|
| Tracking template URLs |
Tracking template URLs must comply with the limitations below. Failing to do so will result in a broken link.
|
| Unexpected SRN attribution | In some cases, installs from Google Ads web-based campaigns may be attributed to googleadwords_int via SRN (self-reporting network), even in web-based campaigns. This occurs when Google claims the install. AppsFlyer attributes the install accordingly when Google makes the claim. This behavior is expected and may become more common as Google expands support for web campaign install attribution. |
| Plan availability | The googleads_int integration is only available for Growth and Enterprise plans. Customers on the Zero and Welcome plans cannot use this integration. |