Click Tracking in AdWords

AdWords provides advertisers with information like the number of times your ads have served and the number of clicks on your ads. With additional setup, AdWords can provide conversion metrics like ad impressions or clicks. It can also provide information for third-party analytics systems through click-tracking URL parameters.

How click tracking works today

If you use AdWords click tracking, you specify your landing page URL in the finalUrls, finalMobileUrls or finalAppUrls field, depending on the ad type and network. When a user clicks your ad, they're taken directly to the landing page URL:

drawing

If you use custom click tracking (for instance, a third-party click measurement system), then you also need the trackingUrlTemplate field to specify a tracking server URL. At serving time, AdWords builds the landing page URL such that the click takes the user to the tracking server first, which then redirects the user to the landing page:

drawing

Parallel tracking

Parallel tracking is a new way of handling tracking requests when implementing custom click tracking. It takes advantage of the new sendBeacon browser function to perform tracking in the background and thereby accelerate the user to their final destination. This helps reduce lost visits when a user clicks on your ad but never sees your landing page because they navigate away before the redirect from your tracking URL completes.

As of May 2018, parallel tracking is optional and works only for Search and Shopping campaigns from the Chrome browser on Android. Later in the year parallel tracking will be the only method available. Over the next several months we will enable support for additional campaign types and browsers. If someone views your ad on a browser that doesn't support parallel tracking yet, AdWords will revert to sequential tracking.

With parallel tracking, the navigation experience is as follows:

drawing

Technical requirements for parallel tracking

There are a few technical requirements that must be met before enabling parallel tracking. Depending on how your system is currently setup for tracking and reporting, you may be impacted by one or more of these items.

Redirects

Parallel tracking only supports server-level redirects. In addition, every URL in the tracking redirect chain must support HTTPS. The tracking sequence will terminate at the previous URL when HTTP or on-page redirects like JavaScript or HTML are encountered. There will be no impact to the user experience as tracking happens in the background, but trackers that don't get called will not receive the click tracking information.

To ensure parallel tracking works correctly:

  1. Ensure that your tracking server uses the HTTPS protocol, and that any internal redirects you have set up at your end use HTTPS.
  2. Any redirect mechanism that uses an on-page method, like a JavaScript redirect, won't work. If you use any such redirection mechanisms in your tracking redirect chain, they need to be changed.

Auto HTTPs Rewrite

While we don't have control over the subsequent redirects, AdWords will always rewrite the first tracking call to HTTPS if it's not entered as such. The final URL can use either HTTP or HTTPS. However, ensure that your server is set up to handle the request if the protocol is switched to HTTPS for any of your URLs entered in AdWords.

For example, if your tracker URL is tracker.example.com, then it should respond to both http://tracker.example.com and https://tracker.example.com.

Per-click IDs

Some tracking servers include a per-click ID when redirecting to the landing page so that the parameter can be read (and stored) by the website for joining various measurements. This is not possible with parallel tracking since the call to the tracking server does not forward to the website.

As a workaround, you can turn on auto-tagging in the customer account. When auto-tagging is enabled, the Google Click Identifier (GCLID) parameter will be added to the end of the landing page URL and tracking template URL during serving time. This enables both on-page tags (for example, Google Analytics) and tracking servers to process it. This parameter can be used as a common key to join traffic information.

In addition to auto-tagging, we have launched a new {gclid} ValueTrack parameter. If you currently have a parameter that you use for inserting your unique identifier, you can use {gclid} as the value instead to potentially reduce the amount of changes required to your website. For example, if the final URL or tracking template in AdWords contains something like partner_Id=[Dynamically-generated click ID], you can now update it to partner_id={gclid}.

URL recomposition

At serving time, parameters attached to the {lpurl} ValueTrack parameter and its variants in your tracking template field will be parsed based on encoding rules and appended to the landing page call. In addition, when parallel tracking is applied, the {lpurl} parameter in the tracker call is replaced with a substitute URL that looks like https://google.com/asnc/dGVzdA.

Substituting {lpurl} with a Google substitute URL ensures that your webpage doesn't get pinged twice (once from the user click, and again from the parallel tracking redirect). The tracker should continue to redirect to this substitute URL as it would normally handle the {lpurl} ValueTrack parameter. The Google substitute URL will return an HTTP status code 204 upon redirection.

Consider the following example:

AdWords setup
Final URL http://mywebsite.com?something=foo
Tracking template https://redirect.com?url={lpurl}%3Flpvar%3Dabc&src=google
Calls where parallel tracking is supported
Navigation http://mywebsite.com?something=foo&lpvar=abc
Parallel tracker call https://redirect.com?url=https%3A%2F%2Fgoogle.com%2Fasnc%2FdGVzdA&src=google
Calls where parallel tracking is not supported
Browser call https://redirect.com?url=http%3A%2F%2Fmywebsite.com%3Fsomething%3Dfoo%3Flpvar%3Dabc&src=google
--> Sequential hop http://mywebsite.com?something=foo&lpvar=abc

As shown, when parallel tracking is applied:

  1. The lpvar=abc parameter is parsed and appended to the landing page URL.
  2. The {lpurl} parameter in the tracker call is replaced with a substitute URL.
  3. Once the finalUrlSuffix field is launched (see below), the substitute URL will include all parameters sent to the landing page so that the tracking server can process it as needed.

Landing Page Parameters

Since we retrieve the final URL from AdWords and load it directly in the browser in response to a user click, it is no longer possible for any click trackers to add or modify landing page URL parameters during the click time redirect. Those parameters need to be entered directly in the finalUrlSuffix field.

This parameter is supported in all entities where trackingUrlTemplate is supported. The string entered in this field will be appended to the landing page call, as well as the Google substitute URL. This will enable the tracking server to process these parameters as needed. This field will allow tracking parameters (Custom and ValueTrack) similar to the tracking URL template field.

Consider the following example:

Current AdWords setup
Final URL http://mywebsite.com?something=foo
Final URL suffix  
Tracking template https://redirect.com?url={lpurl}
Landing page parameter
(Added at click redirect time by the click tracker)
pvar=xyz
Changes to make for parallel tracking:
Final URL suffix pvar=xyz
Calls where parallel tracking is supported
Navigation http://mywebsite.com?something=foo&pvar=xyz
Parallel tracker call https://redirect.com?url=https%3A%2F%2Fgoogle.com%2Fasnc%2FdGVzdA
Calls where parallel tracking is not supported
Browser load https://redirect.com?url=http%3A%2F%2Fmywebsite.com%3Fsomething%3Dfoo%26pvar%3Dxyz
--> Sequential hop http://mywebsite.com?something=foo&pvar=xyz

With sequential tracking, browser cookies are set in the first-party context for the tracker's domain. With Beacon functionality, the cookies are written to the main browser jar in a third-party context. If your service depends on cookies being written in first-party context, make any needed changes on your end.

Enable parallel tracking

Starting with v201802, you can opt in to parallel tracking by setting the Customer's parallelTrackingEnabled field to true. In the future, parallel tracking will be the only form of tracking supported by AdWords, and this field will be sunset.

Troubleshooting tools

The following tools can help in troubleshooting your parallel tracking setup.

Enhanced Preview Ad Click tool

The preview feature next to the tracking template in the AdWords UI (Test button) has been enhanced to show the following URLs:

  • When parallel tracking is available:
    • Landing page URL that will be loaded in the browser
    • Tracking URL that will be loaded in the background
  • When parallel tracking is unavailable:
    • Tracking URL that will be loaded in the browser (sequential tracking)

You can review these URLs to verify that the parameters are transmitted to the landing page and tracker as intended.

Parallel Tracking Indicator

If the tracker URL is called using the parallel tracking option, AdWords will append a gb=1 parameter to the URL. You can use this parameter to identify parallel tracking calls in tracking solutions.

Getting additional support

If you need additional support, please email us at ads-clicktracking-support@google.com.

Next Steps

Send feedback about...

AdWords API
AdWords API
Need help? Visit our support page.