Skip to content

Google Adwords Overview



With Branch, you can integrate with AdWords, improving conversion rates and letting you measure the impact of your campaigns right on the Branch dahsboard.

This document covers the new AdWords experience. If you are using the old experience, be sure to switch to the new experience.

Once you have completed set up below, you will be able to track Universal App Campaigns and forward events to AdWords for optimization. You will also be able to create links for non Universal App Install campaigns on AdWords.

In all cases, Branch will forward in-app events to AdWords for campaign optimization. In addition, Branch will receive attribution data for rich analysis in the Branch dashboard.


Before you begin, be sure the following is confirmed.

  1. First, the Branch SDK must be integrated into your app, for both iOS and Android.
  2. You must also collect the IDFA on iOS, or the AAID on Android. For specifics, refer to the set up guide for iOS and Android respectively.
  3. Make sure to track all necessary events through the SDKs, with instructions here

You must also have admin access to your AdWords account. You will generate Link IDs in AdWords.


The first step is connecting Branch & AdWords together. By connecting these accounts, Branch will have read-only access to import click and impression data at the aggregate level. This will also let Branch track metrics across your different AdWords accounts, which means your manager (MCC) and children accounts.

It is not necessary to connect all AdWords accounts. However, you must connect the AdWords account that owns in-app conversions for your mobile app. Often, this is the MCC account.


Inside an MCC, it is possible to configure which account (the MCC or the child account) is responsible for conversions. Ensure that you create link IDs with the account that is noted as the Conversion Account under the MCC > Management tab.

MCC Accounts

If you only have access to the child account (but that account is attached to an MCC), you can see which account is recording conversions within the child account as well, by going to Tools > Conversions > Settings > Conversion Account in AdWords.

OAuth AdWords Setup

  1. Log in to your AdWords dashboard account that is responsible for conversions (usually the highest level account). You will have the ability to connect all your AdWords accounts with Branch.
  2. Go to Settings > Linked Accounts. Linked Accounts
  3. Create a new link ID: Go to Third Party App Analytics > +.
  4. Add a new provider: Select "other" in the drop down. Input Branch's provider ID: 3404357870.
  5. Select iOS or Android.
  6. Create Link IDs for all platforms you run campaigns on. Link IDs


  • You must be an admin in your AdWords account in order to generate link IDs.
  • If you are creating link IDs in an MCC, you must share those link IDs with the child account to record conversions. Do this by going to Options > Share with another account and enter the child account ID.

Store these Link IDs for easy access. The next step requires you to input them.

OAuth Branch Setup

Once you're done with AdWords, navigate to the partner management tab and click Connect with Google. Choose the email address that is tied to the AdWords accounts you want to connect.

Connect Google

Select all the necessary accounts, and continue.

Connect Accounts

Finally, paste the Link IDs from earlier.

Create Link IDs

Set Attribution Windows

After you hit save, go to your Partner Management dashboard, and navigate to Attribution Windows.

For example, if a user clicked an ad 8 days ago, and Google claims credit, we would not count attribution, because our default is 7 days from click. However, it is ultimately up to you which attribution window you would like to use. Below is simply a recommendation:

  • Click to Install : 30 days
  • Click to Conversion Event : 90 days
  • Click to Open : 90 days

Import Events In AdWords

All that remains is importing Branch events into AdWords. After you have set both Branch & AdWords up, wait ~20 minutes, and go back to the AdWords dashboard. You can expedite this process if you open your app and simulate the events you want forwarded. Navigate back to the AdWords dashboard.

  1. Go to Conversions. Linked Accounts
  2. Add a new conversion: + > App > Third Party App Analytics. Linked Accounts
  3. Import your Branch specific events. Click Import and Continue.
  4. For any first open event conversions, mark Include in Conversions to YES.

That's it! All of your campaigns with mobile conversions will be tracked in Branch's dashboard. You can now track as many Universal App Campaigns as you want, automatically.

Data Mapping

Branch maps the following data fields from AdWords to Branch.

Google Data Branch Data
Campaign ID ~campaign_id
Campaign Name ~campaign
ad_type ~ad_type
network_type ~channel
network_subtype ~secondary_publisher

Forward Events to AdWords

Once you begin tracking events through the Branch SDK, you can select which events to import in AdWords. AdWords has pre-defined events that map to pre-defined Branch events, listed below. Reference this doc for more information.

Google Event Branch Event
first_open install
session_start open
in_app_purchase purchase
view_item_list view_items
view_item view_item
view_search_results search
add_to_cart add_to_cart
ecommerce_purchase purchase
custom any custom event tracked through Branch

In order to track these events, please refer to this document for further information.

Other Campaigns

The above guide covered what was necessary to track Universal App Campaigns. If you are looking to track non app-install campaigns, click through below.

Google Campaign Campaign Type/Objective Branch Documentation Link Branch Ad Format
Search Network Standard link Cross-platform Search
Search Network Dynamic Search Ads link Cross-platform Search
Display Network Others (Visit your website, Influence, etc.) link Cross-platform Display
Video Standard link Cross-platform Display
Shopping Web and App Purchases link Cross-platform Display

Cost Data

Branch provides the following cost metrics for this ad partner:

Analytics Tag Description Used for
Cost Total cost (spend) for those dimensions (analytics tags, user data, time range), regardless of cost model Understanding the total amount spent
eCPI cost / installs Normalizing spend per install, to understand the average price of an install across networks or over time
eCPC cost / clicks Normalizing spend per click, to understand the average price of an click across networks or over time
eCPM cost / (impressions / 1000) Normalizing spend per thousand impressions, to understand the average price of 1000 impressions across networks or over time
eCPA cost / purchases [includes web and app purchases] Normalizing spend per purchase, to understand the average price of a purchase across networks or over time
Return On Investment (ROI) (revenue-cost / cost) * 100 Deriving return on investment, to understand the percentage "profit" made on ad spend
Return On Ad Spend (ROAS) (revenue / cost) * 100 Deriving return on investment by understanding the percentage revenue multiple for a given unit of spend


All cost data is ingested in local currency and then translated to USD on the dashboard using the exchange rate for that currency on the day the data is stored. In effect, this means the dashboard shows the amount that campaign cost converted to USD at the time it ran.


Adwords Campaign Limitations

Product Listing Ads (PLA) - Attribution

  • Branch's dashboard will attribute app events to PLA campaigns via the click tracking links used in the adwords_redirect field of the product catalog. However, Google's Conversion API currently does not support app attribution data for PLA/Shopping campaigns, so the data in AdWords dashboard may not show app conversions such as installs or app purchases.
  • Deep linking is supported

App Extensions - Deep Linking through Install

  • App Extensions currently do not allow Deep Linking, as the setup only accepts app store links link
  • Attribution is supported

Universal App Campaigns (UAC) - Deep Linking through Install

  • Deferred deep linking is currently not possible with UAC, as it does not accept any links
  • Attribution is supported

Universal App Campaigns (UAC) - Click Reporting

  • As links are not accepted into the AdWords UAC UI, we will only report on clicks in aggregate (via Google's reporting API)
  • Individual UAC clicks will not appear in Branch's liveview dashboard, webhooks, or exports
  • 'Unique' UAC data cannot be viewed on the ads analytics dashboard (Non-UACs, like regular Search campaigns, will report on clicks in all Branch dashboards)
  • Reporting on UAC clicks is done every 3 hours
  • Branch only reports on clicks from an AdWords campaign that led to an install or app engagement


Q: I'm seeing a discrepancy between conversion counts in Branch and Google Adwords

A: While we should always expect around a 5% discrepancy due to time zone differences and the like, if you are seeing significant discrepancies, it could be an indication of a broader problem.

The first thing to do is to make sure your attribution window in Branch lines up with Google. Go to Link Settings, and navigate down to the Attribution Windows section. Here, you should set the attribution window for click to install, click to session start, and click to conversion event to be 30, 90, and 90 days respectively. This aligns with Google's default attribution windows, but if you'd like to make them shorter, feel free.

Another source of discrepancies is the fact that attribution is based upon click time in AdWords, whereas it is based upon install time in the Branch dashboard. This isn't a discrepancy per se, but will sometimes show different numbers in the two dashboards.

Finally, AdWords can delay reporting up to 24 hours. It's best to measure campaigns in a trailing manner.

Q: Post-install events are attributed to AdWords in the Branch dashboard but are not appearing in AdWords

A: Ensure that, in the AdWords dashboard, you have imported all Branch events that you want to see in AdWords.

Q: My UAC data looks misaligned when I compare by certain filters

A: Google installs should have the full range of compare by options in the dashboard. However, clicks, impressions and cost data for UAC are imported via the AdWords Reporting API, as noted above. The AdWords Reporting API does not necessarily provide the same breakdowns that Branch can create with raw install events, so there may be cases where the Branch Dashboard cannot compare by the same dimensions for clicks vs installs.

Q: My click data is missing or duplicated for my web campaign

A: Click data for web campaigns is available with full breakdowns, but there are specific requirements for setting up web campaigns. Please see the SAN Web Tracking guide for more information on setting up web campaigns.

Q: My campaign is reporting a number of conversions much higher than the number of conversions shown in the conversion table in Adwords

A: When viewing a campaign, it shows the sum of all conversion events that apply to it. To view by conversion, navigate to Segment > Conversions > Conversion name, in order to clearly see the breakdown of your campaign's conversions.

Adwords Conversion Segment

Branch Cost data not matching the Ad Partner dashboard

Please ensure that you've selected the same time zone in your Ad Partner's dashboard and your Branch dashboard.

CPI metric doesn't match between Ad Partner and Branch, although cost metric does

Branch's last-click attribution model can lead to differences in install counts for Branch vs self-attributing networks (SANs) that in turn cause differences in CPI metrics. Verify whether your cost and install metrics match the Ad Partner's dashboard. If there is an install discrepancy, it is likely legitimate and due to differences in install counts, where Branch's number is more accurate. If the discrepancy is very large, investigate causes of install discrepancies through the usual troubleshooting steps.

Cost, click and impression data is all missing

Cost, click and impression data for SANs are generally sourced from Partner APIs (unless Branch impression pixels or links are being intentionally used for attribution, for example, in web campaigns). When you enable a SAN, you authenticate with your provider. Branch uses this authentication to retrieve click, cost and impression data. If the authentication token expires (for example, if you reset your password, or the partner force resets your token), then you may not see click, impression or cost data. In this case, simply reauthenticate and that will refresh your token.

Cost data is missing or incorrect for certain "compare by" breakdowns

Downstream events, such as installs, should always have the full range of compare by options in the dashboard. However, clicks, impressions and cost data for SAN are often imported via Partner APIs. These APIs do not necessarily provide the same breakdowns for cost data that Branch supports with raw install events, so there may be cases where the Branch Dashboard cannot compare by the same dimensions for cost data vs install data.