Server-side tracking

Server-side tracking runs a Google Tag Manager server container on a subdomain of your own site, hosted by Spectacle. Your tags load from your domain instead of Google's, so browsers and ad blockers treat them as part of your site and more of your events reach Google Analytics and your ad platforms. You keep building tags in Tag Manager; Spectacle hosts, scales and updates the server, in the EU.

It is an add-on to a paid Spectacle plan. You'll find it under Settings → Server-side tracking, and the report under Reporting → Server-side tracking.

How it works

Today, a tag on your page sends events straight to Google. A browser with an ad blocker, or with strict tracking protection, stops that request and the event is lost.

With server-side tracking, the page sends events to track.yoursite.com instead. That is your own domain, so the request goes through. Your server container then forwards each event to Google Analytics, your ad platforms and whatever else you have configured in Tag Manager, from the server rather than the browser.

Plans

Each plan includes a number of requests a month. A request is every call your tracking server answers: events, script loads and bot traffic alike, the way every hosting provider counts them. Requests over the allowance are billed per 10,000.

PlanRequests a month
Small1 million
Medium3 million
Large10 million

Prices are shown in the app, in the currency and billing period of your subscription. You can move between plans at any time; a step up starts right away, a step down takes effect at the end of the billing period.

Setting it up

Setup takes four steps. The settings page walks you through them in order and updates on its own as each one completes.

1. Choose a subdomain and your Google Analytics property

Pick a subdomain for your tracking server, such as track.yoursite.com, and the Google Analytics property your events go to. If you connect Google Tag Manager first, Spectacle reads your containers and fills these in for you.

2. Add two DNS records

Spectacle issues a certificate for your subdomain and shows you two records to add at your DNS provider: one that proves you own the domain, and one that points the subdomain at your tracking server. Add both and keep them in place; the first one is also what keeps your certificate renewing.

If somebody else manages your DNS, you can send them the records from the settings page. They receive both records, what each is for, and your email address as the sender.

Spectacle checks for the records every few minutes. Once they are seen, your tracking server starts on its own, usually within a few minutes.

3. Point Tag Manager at your server

Your web container has to send events to your new server rather than to Google, and your server container has to be the one Spectacle hosts. Spectacle looks both containers up in your Tag Manager and tells you what is missing: the server container URL on your Google tag, a server container that is not published, and so on. Fix what it lists in Tag Manager and check again.

4. Replace the snippet on your site

Last, replace the Tag Manager snippet on your pages with the one from the settings page. It loads your tags from your own domain. Until it is in place, your pages keep sending events to Google directly and nothing reaches your tracking server.

Ad-blocker recovery

Some ad blockers filter tracking requests by their shape rather than their destination, and catch them even on your own domain. Ad-blocker recovery is a setting on your tracking server that masks those requests so a filter list has nothing to match, and checks whether each visitor is running a blocker, which is what the report below is built on.

It is off for a new tracking server. Turn it on in Settings → Server-side tracking, then replace the snippet on your site, since turning it on or off changes the snippet. Only an admin of your organization can change it. Recovered requests count towards your monthly requests.

The report

The report under Reporting → Server-side tracking shows what your tracking server collected, who sent it, what they consented to, and how much would otherwise have been lost. Every figure counts browser traffic only: bots that say what they are, such as crawlers and uptime monitors, are left out and reported separately.

What you saved

  • Events measured: every named event that reached your tracking server from a browser. Hits without an event name are not counted, so this sits a little below the total in Google Analytics.
  • Saved from ad blockers: events from visitors running an ad blocker. They reached your tracking server; sent straight to Google Analytics they would almost certainly have been lost. Read it as a floor: it counts only the blockers Spectacle positively spotted.
  • Conversions saved: the same count for your conversions.
  • Events we could check: the share of events Spectacle reached a verdict on. The rest fired before the check had finished, came from a page the snippet is missing from, or looked like a bot. The saved share is always a share of what could be checked, never of everything, so it stays a floor rather than a guess.

The chart shows the same figures per day, as counts or as the saved share, and the What we could check panel shows every event by verdict so you can see what the saved share is a share of.

These figures need ad-blocker recovery. With it off, the report still shows what your server collected, who sent it and what they consented to, and tells you what turning recovery on adds.

Visitors and bots

The traffic your tracking server handled, split into visitors, bots that said what they were, and suspected bots: requests that claim to be a browser but skip images the way a crawler does. Suspected bots are kept apart so they are never mistaken for a visitor with an ad blocker.

What your visitors chose about cookies, read from Google Consent Mode. A visitor who declined still sends a cookieless event under Consent Mode advanced, so you keep the measurement even when the cookie is gone. If none of your events carry a consent answer, your consent banner is not passing the visitor's choice on to Google, and the panel says so.

Once you have marked your conversions, each consent state also shows how many of your conversions landed in it.

Events and conversions

Every event name your tracking server saw, busiest first, with how many were checked, how many were saved and the saved share of each.

Hover an event and mark it as a conversion. The rest of the report then reports on those: the Conversions saved figure, the conversion split in the Consent panel, and a chart of your conversions per day. Your picks are kept in the page's address, so a link to the report carries them. If your workspace has a published tracking plan, the plan's conversions are marked to start with, and you can follow the plan again after changing them.

Events whose name could not be read, usually because it is longer than Google Analytics allows, are added together under other. It is a bucket rather than an event, so it cannot be marked as a conversion.

What the report does not show

Browsers also limit how long a first-party cookie lives, which shortens how long a returning visitor is recognised. That is a different loss from a blocked request, and server-side tracking does not change it, so the report does not claim it.