Google Ads

Click Tracking in Google Ads  |  AdWords API  |  Google Developers

Google Ads provides advertisers with information like the
number of times your ads have served and the number of clicks on your
ads. With additional setup, Google Ads 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 Google Ads click tracking, you specify your landing page URL
in the finalUrls,
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:


If you use custom click tracking (for instance, a third-party click
measurement system), then you also need the
field to specify a tracking server URL. At serving time, Google Ads 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:


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

With parallel tracking, the navigation experience is as follows:

Parallel Tracking

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


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, Google Ads 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 Google Ads.

For example, if your tracker URL is, then it should
respond to both and

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 Google Ads
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, e.g.,
Additionally, all parameters going to the landing page will be appended to this URL.

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:

Google Ads setup
Final URL
Tracking template{lpurl}%3Flpvar%3Dabc&src=google
Calls where parallel tracking is supported
Parallel tracker call
Calls where parallel tracking is not supported
Browser call
–> Sequential hop

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. The substitute URL includes 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 Google Ads 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

This parameter is supported in all entities where
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 Google Ads setup
Final URL
Final URL suffix  
Tracking template{lpurl}
Landing page parameter

(Added at click redirect
time by the click tracker)
Changes to make for parallel tracking:
Final URL suffix pvar=xyz
Calls where parallel tracking is supported
Parallel tracker call
Calls where parallel tracking is not supported
Browser load
–> Sequential hop

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 for Display

You can opt in to parallel tracking for Display campaigns by setting the
field to true.

The following tools can help in troubleshooting your parallel tracking

Enhanced Preview Ad Click tool

The preview feature next to the tracking template in the Google Ads 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. Note that the instant checks in
this tool will not show you specific errors related to parallel tracking
requirements (e.g., https://requirement).

Parallel Tracking Indicator

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

Testing individual campaigns

You can test individual campaigns without opting in the entire account for
parallel tracking. This enables you to perform end-to-end testing in a limited
capacity. Follow the steps below to enable parallel tracking for specific

  1. Go to the Settings page for the desired campaign.

  2. Under the Campaign URL options setting (you may have to expand
    Additional settings), create a custom parameter called {_beacon} and
    assign it the value true.

    You don’t need to use this custom parameter in any of your URLs.

    If Google finds the presence of this parameter, all clicks under that campaign
    will get parallel tracking treatment.

  3. Verify parallel tracking is enabled by looking for &gb=1 in your tracking
    calls (this indicates a background call from the browser).

Additionally for testing, you can force parallel tracking for any browser (even
ones which we’ve yet to announce support for) by starting the Google search
using this link. This will even work for
ad clicks from accounts or campaigns that haven’t opted-in to parallel tracking.

Getting additional support

If you need additional support, please email us at

Next Steps

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button