Ad Consent Checker

What does your tag fire before the user says yes? We render it under seven consent states in isolated browser contexts and diff every network request, cookie, and storage write — and nothing real ever fires.

Check a Tag's Consent Behavior →

The seven consent states

The same creative runs once per state, each in its own isolated browser context, so behavior differences can be attributed to the signal.

State What it simulates
TCF consent granted IAB TCF present, user consent granted
TCF consent denied IAB TCF present, user consent denied
GPP opt-in GPP present, user opted in
GPP opt-out GPP present, user opted out
GPC enabled Global Privacy Control, the browser-level opt-out signal
DNT enabled The legacy Do Not Track browser signal
No-signal baseline No consent framework at all — the control run

How the diff works

Seven isolated renders

Your tag executes once per consent state, in a context that shares nothing with the others.

Every side effect recorded

Each run captures attempted network requests, cookies set, and storage writes.

States diffed against each other

The report shows what changed between states — and what didn't. A creative that behaves identically under "denied" and "granted" is telling you something.

Nothing real fires

External requests are aborted before they leave the sandbox, so a live production tag can be tested without generating a single real impression, tracker hit, or cookie. The attempt is recorded; the request never goes out.

What the report flags

Tracking without consulting consent APIs

Creatives that fire trackers without ever querying the consent APIs available on the page — identical behavior whether consent is granted, denied, or absent.

Pre-consent storage writes

Cookies and storage written before any consent was granted, surfaced per state.

Pixels that fire despite denial

Tracking pixels that go out even when the user has denied consent.

Creatives that behave

Respect for restrictive signals is flagged too, so you can document that a creative honors denial and opt-out.

Every rule cites its primary source — see the validation policy.

Frequently asked questions

Do real pixels fire during the test?

No. External requests are aborted before they leave the sandbox, so nothing reaches a real tracker.

What does "tracks without consulting consent APIs" mean?

The creative fires tracking requests without ever querying the consent APIs available on the page — it behaves identically whether consent is granted, denied, or absent. That's a creative that ignores consent entirely.

Why test GPC and DNT separately?

GPC and DNT are browser-level signals, independent of the TCF and GPP framework APIs. A creative can honor one and ignore the other, so each signal gets its own isolated run and its own diff.

See what your tag does before consent

Paste a tag — free, no signup →

Explore more tools

Heavy Ad Checker → Landing Page Checker → VAST Validator → Ad Ops Guides →