Skip to content

Troubleshooting & FAQs

What is Parallel Tracking?

Since October 30, 2018, parallel tracking is required for all Google Ads accounts.

In the past, Google Ads' non-UAC campaign clicks were tracked through “sequential tracking” (i.e. a client-side redirect). When an ad was clicked, the customer’s browser would go to the tracking URL, and then the tracking URL was responsible for forwarding the browser on to the Final URL.


With the change to “parallel tracking”, Google sends the customer directly to the Final URL, and uses the new Beacon API to "click" the Tracking URL (including following any server side redirects) in the background. The key here is that the Tracking URL (and redirects) are still being visited by the end user's browser, but because this happens “in parallel” (i.e., not visible to the customer), the user experience is better. For browsers without Beacon API support, Google will fall back to legacy sequential tracking.


How Does Parallel Tracking Work?

If you are running a Universal App Install Campaign, parallel tracking does not come into play as this campaign type directs users solely to the respective app store and does not include a third party link.

If you are running a non-UAC Web-based Ad (Display, Search, Shopping, Video), and using a Branch link as either the Final URL or Tracking Template, parallel tracking ensures your users are directly routed to the final destination while also allowing Branch to properly measure and attribute the resulting actions/conversions.


How Does This Impact Me?

Attribution is unaffected because, although the Branch link is no longer the referring URL to the domain, parallel tracking still allows Branch link clicks to happen. This means the Branch Match ID parameter is still appended to the link that is being "clicked", and Branch can still store (and access) the Match ID in local storage because the web SDK can still load and read query parameters, even in the background.

Furthermore, this is in line with Google & Safari’s expectations of how clicks should be tracked (i.e., using query parameters instead of third-party cookies), and is compliant with current policy.

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 Google Ads 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 Google Ads campaign that led to an install or app engagement

Universal App Campaigns (UAC) - Limited Campaign Information

These campaign parameters are not supported by UAC and will not be available in reports:

Google parameter Branch parameter
keyword ~keyword_id
placement ~placement
ad_group_id ~ad_set_id
creative_id ~creative_id

Google Adwords Valuetrack Parameters

Branch utilizes Google's Valuetrack parameters to collect more detailed information on the source of an ad click. Furthermore, we dynamically map Adword's campaign id and network parameters to a Branch link's campaign analytics Campaign and Channel tags respectively. Leave these tags blank to have them dynamically mapped.

See below for a table of Valuetrack parameters collected by default through Branch's Ad links and refer to the table in Google's Valuetrack docs for more parameters to append.

Default Valuetrack Parameters on Branch Ad links What it returns
{campaignid} The ad's campaign ID
{adgroupid} The ad's ad group ID
{keyword} For the Search Network: the keyword from your account that matches the search query, unless you are using a Dynamic Search ad, which returns a blank value. For the Display Network: the keyword from your account that matches the content.
{placement} The content site where your ad was clicked (for keyword-targeted campaigns), or the matching placement targeting criteria for the site where your ad was clicked (for placement-targeted campaigns)
{network} Where the click came from: "g" for Google search, "s" for a search partner, or "d" for the Display Network
{lpurl} The final URL of the ad link clicked


I'm seeing a discrepancy between conversion counts in Branch and Google Ads

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 you have enabled the Use Ad Partner Attribution Windows setting for Google Ads. 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 Google Ads, whereas it is based upon conversion time in the Branch dashboard. This isn't a discrepancy per se, but will sometimes show different numbers in the two dashboards. This usually does not affect install numbers (because install usually happens same day as click) but will especially have impact on downstream events, where events can sometimes occur and be attributed up to 90 days after click.

Google will send attribution data for almost every app conversion that they count on their end, with the exception of iOS Search traffic within UAC, and they also do not currently confirm standalone (outside of UAC) YouTube TrueView conversions to Branch - this is estimated to be available Q4 2019.

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

Post-install events are attributed to Google Ads in the Branch dashboard but are not appearing in Google Ads

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

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 Google Ads Reporting API, as noted above. The Google Ads 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.

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.

My campaign is reporting a number of conversions much higher than the number of conversions shown in the conversion table in Google Ads

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.

Google Ads Conversion Segment

Why is my advertisement being disapproved on Google Ads?

A: For Video Campaigns, sometimes your ad may be disapproved if the Branch link does not re-direct to Google Play or App Store when clicked on a desktop. Please ensure that for the Branch link you're using to track installs, Deepviews are disabled and a desktop redirect is set to either the App / Play store.

For Cross Platform campaigns, sometimes your ad may be disapproved if the Branch link does not re-direct to your Final destination URL specified in the ad. Please ensure that your Branch link redirects to your Final URL specified in your ad. To ensure install tracking is functional please ensure that for the Branch link you're using to track installs, Deepviews are disabled and your Branch link's iOS/Android redirects are set to their respective App / Play Store.

A: As of June 2017, Google Ads does not support Tracking Templates on Video discovery ads. This means Branch links won't work for this specific ad type. However, we're working on support in the future and will update these docs accordingly.

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

Generally, reauthenticating a partner and waiting 24 hours will re-enable cost data.

When you reauthenticate, double check that you have selected the correct accounts. We will only pull cost data for accounts that you select as part of the authentication process.

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