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
,
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:
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, 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 completes.
With parallel tracking, the navigation experience is as follows:
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:
- Ensure that your tracking server uses the HTTPS protocol, and that any internal redirects you have set up at your end use HTTPS.
- 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 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 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., https://google.com/asnc/dGVzdA/
.
Additionally, all parameters going to the landing page will be appended to this
google.com 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 | 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%2F%3Fsomething%3Dfoo%26pvar%3Dxyz |
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:
- The
lpvar=abc
parameter is parsed and appended to the landing page URL. - The
{lpurl}
parameter in the tracker call is replaced with a substitute URL. - 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
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 Google Ads 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%2F%3Fsomething%3Dfoo%26pvar%3Dxyz&src=google |
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 |
Cookie Context
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
Customer's
parallelTrackingEnabled
field to true
.
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 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 campaigns.
Go to the Settings page for the desired campaign.
Under the Campaign URL options setting (you may have to expand Additional settings), create a custom parameter called
{_beacon}
and assign it the valuetrue
.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.
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
ads-clicktracking-support@google.com
.
Next Steps
- Check out the implementation checklist for parallel tracking.