Beacon API – Parallel Tracking in Google Ads

The Beacon API has always been quite a handy technology when it comes to analytics and diagnostics, but browser support was always a major drawback (mainly due to Safari). I’ve talked about not-so-recent-now Safari update in this post which allowed for some tracking improvements, especially in the Google Analytics realm.

Tracking, however, does not stop with Google Analytics and Google Ads (formerly AdWords) recently announced that Parallel Tracking will soon be the default mechanism for conversion tracking, which is a big shift in terms of performance increase and tracking accuracy. The information Google Ads provides to advertisers is mainly around the number of ads served as well as conversion metrics like ad impressions or clicks. It can also provide information for third-party analytics systems through click-tracking URL parameters. As you can guess, behind the scenes of Parallel Tracking the Beacon API‘s navigator.sendBeacon() function is used to do the heavy lifting.

How it works?

Simply put, users are delivered directly to the landing page of the ad, while click measurement happens in the background (nicely illustrated by the gif below)

The current default way of click measurement is the sequential linear method, where re-directs occur before the user is presented with the landing page where the conversion should happen.

With Parallel Tracking, utilizing the navigator.sendBeacon(), the chain of events looks like this:

Tracking is performed in the background and data is transferred asynchronously to Google’s servers and thereby the user is accelerated to their final destination. This would reduce lost visits when a user clicks an ad but never sees the landing page because they navigate away before the redirect from the tracking URL completes.

It does sound like a no-brainer and considering the Beacon API was available for years, Parallel Tracking should’ve been introduced way back, but considering the support for the Beacon API in Safari is only available for a few months, it makes sense that it is being rolled out now.

Browser support

In terms of browser support, the coverage is not 100%, but with Safari on board, its close to that figure. According to the documentation in MDN (which is the underlying technology for Parallel Tracking) we are seeing the following:

Still pretty good coverage, and in the cases of an unsupported browser, Google Ads would revert-back to Linear Tracking, which should ensure no data is lost.

Technical requirements

With the switch to Parallel Tracking, however, there are a few technical requirements that must be met before enabling.

  • Redirects – Parallel tracking only supports server-level redirects. In addition, every URL in the tracking redirect chain must support HTTPS.
  • Auto HTTPs Rewrite – Google Ads will always rewrite the first tracking call to HTTPS if it’s not entered as such.
  • Per click IDs – Always use auto-tagging to allow the Google Click Identifier (GCLID) parameter to be added to the end of the landing page URL and tracking template URL during serving time
  • URL recomposition – Substitute {lpurl} with a Google substitute URL to ensures that the webpage doesn’t get pinged twice (once from the user click, and again from the parallel tracking redirect)

More information is available on the official Google Ads API Documentation page.

When is it released?
Parallel tracking is available at the moment and from 30 October 2018 will be the default and required mechanism for all Google Ads accounts.

That means that agencies and advertisers have a couple of weeks to make sure their accounts and setups are in order before the switch. The documentation here goes into a bit more detail in what steps need to be taken for activation, considering the above mentioned technical requirements are met.

Useful resources

Browser Support
About parallel tracking
Use parallel tracking

Gif and images through the article courtesy of Google Ads

Share this Post

Leave a Reply

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