Open Tracked/Guides/Consent mode server Google tag manager

Consent mode server Google tag manager

The browser tells the server what the visitor allowed. The server must obey, for Google tags and for everyone else.

4 min read · Updated October 26, 2026

CConsent state in browserSSent with requestsSServer tags obey
In this guide
Key takeaways
  • The web container sends the consent state to the server in request parameters such as gcs and gcd.
  • Google's server tags adapt to it. Non-Google tags need explicit consent checks on the tag or trigger.
  • Server-set cookies and stored data should follow the same choice.

Consent Mode is easy to picture in the browser: a banner, a few signals, tags that adjust. A server container adds a second place where consent must be respected, and many set-ups forget it. This page explains how the consent state reaches the server, what Google's tags do with it and how to apply it to everything else. It extends Consent Mode v2 and consent update events, and fits with GTM and GDPR.

When the Google tag in your web container sends an event to your tagging subdomain, it includes the current consent state in the request. In GA4 requests this appears in parameters such as gcs (a compact consent state) and gcd (the detailed state, including defaults and updates). The server container's GA4 client reads them and makes them available to tags and triggers.

Try it

Works with your stack

Grab a logo and throw it. These are the tools Open Tracked already talks to.

Grab one. Throw it.

What Google tags do

TagBehaviour
GA4 tag in the server containerRespects the consent state it received: with analytics storage denied, it sends without identifiers and does not set analytics cookies, depending on settings
Google Ads tagsRespect ad storage and ad user data signals
Conversion LinkerStores the click ID only if ad storage allows

Non-Google tags need your help

Meta, TikTok, Snapchat, LinkedIn and other tags do not read Google's signals unless the template does. Add consent settings on the tag (Additional consent checks) or a trigger condition that checks the consent state. For example: fire the Meta Conversions API tag only when ad_storage and ad_user_data are granted.

For online stores

Orders from your store, back to the ad that earned them

Your store sends the order once. Open Tracked passes it on to each ad platform, cleaned and deduplicated.

Cookies and stored data

  • Do not set advertising cookies from the server when consent is denied.
  • Do not restore cookies for visitors who declined. With Open Tracked, tie Cookie Keeper and the Enricher to consent with their switches.
  • Do not remember identifiers in a data store without consent where it is required. See the Data Store.

Set it up

1

Make the web side right first

Defaults before the container, updates on choice. See consent updates.

2

Check the state arrives

In server Preview, open an event and read the consent state variables.

3

Add consent settings to Google server tags

They are on by default for some; check.

4

Add consent checks to every other tag

With a trigger exception or built-in check.

5

Check cookies

Decline and verify that no advertising cookie is set by the server.

6

Test partial choices

Analytics yes, ads no, and the reverse.

Common mistakes

SymptomMeta tag fires with consent denied
Likely causeNo consent check.
FixAdd one.
SymptomConsent state is missing on the server
Likely causeThe web tag does not send it.
FixCheck the Google tag settings and consent platform.
SymptomCookies restored without consent
Likely causeThe restore ignores consent.
FixUse the consent switches.
SymptomDefaults are granted by mistake
Likely causeWrong default.
FixDefault to denied where required.
0 of 5 done
Check your setup

Check your tracking in one pass

This is an example. Run the check on your own site to see where yours stands.

Frequently asked questions

How does consent get to a server container?

The web container sends it in request parameters such as gcs and gcd, and the GA4 client makes it available.

Do non-Google tags respect Consent Mode?

Not automatically. Add consent checks to their tags or triggers.

Should server-set cookies follow consent?

Yes. The law follows the purpose, not where the cookie is written.

How do I test consent on the server?

In server Preview, read the consent state and decline and accept in a private window.

Does Open Tracked help?

The Enricher has consent switches, and Cookie Keeper only restores what you allow.

Do I need spreadsheets to read my results?

No. Once tracking is live, the Open Tracked analytics shows spend, revenue, ROAS and profit, and you can ask Ari, the built-in AI assistant, questions about your own numbers in plain words. Ari's allowance depends on your analytics plan.

Is Open Tracked different from Open Track or Open Space Track?

No. Open Tracked is the official name of our server-side tracking platform, and the website is opentracked.io. Many people search for it as Open Track, OpenTrack or Open Space Track. All of them lead to the same product: server-side Google Tag Manager hosting, first-party analytics and a CRM pipeline.

Fix your tracking at the source

Open Tracked hosts your server-side Tag Manager, keeps first-party cookies alive and shows what each ad is really worth.

Open Tracked
Written by

The Open Tracked team

We build Open Tracked: server-side tracking hosting, analytics and the tools around them, for stores that spend on ads. Questions about this guide, or an idea for the next one?

Write to us Read the docs

Was this article helpful?

Comments

Loading comments...

Turn better tracking into better marketing performance

Start free