First Envision

Get in touch.

A few lines is enough. Links welcome. You can also write an email.

From our workshop

Cookie consent· Live

OrePretzel

Cookie consent that keeps the ads working.

Cookie consent that keeps the ads working. One config per site sets the banner, Google's consent signals and which scripts may run before the visitor chooses. It runs live on SaunaCentral.

Weight
Under 16 KB, compressed
Languages
Czech and English built in
Live on
SaunaCentral
Records
Kept in the EU
orepretzel.com
01— What it does
01

One config, the whole banner.

Categories, services, what each loads and stores, and every text in every language live in one file per site. The banner, the list of services and the clean-up of cookies all follow from it.

02

Google hears it first.

A small snippet at the top of the page sets Google's consent signals to denied before any tag runs, re-applies a stored choice before Tag Manager starts, and sends an update with every choice.

03

Nothing runs before a yes.

Scripts wait in four ways: in the config, as inert markup, in Tag Manager, or in the site's own code. Withdrawing consent removes the service's cookies and reloads the page.

04

A record of what the visitor saw.

Each choice is sent with a snapshot of the exact texts shown. The service stores no IP address or browser details, takes records only from the site's own address, and keeps them for three years.

05

Global Privacy Control, respected.

When the browser asks not to be tracked, Accept all leaves advertising off and says why in one line. The visitor can still switch it on, and that choice wins.

06

Out of the site's way.

It lives in its own shadow DOM, so the site's styles can't break it, and it follows the page's language as the page changes.

02— How we use it

On SaunaCentral, the venue's advertising depends on it.

  1. 01

    The audit.

    In September 2026 we found the old banner, an earlier version of our own, sent Google no consent signal at all.

  2. 02

    The tags.

    Its Tag Manager held 30 tags, none with a consent setting; eight third-party pixels would have fired before anyone agreed. We wrote the changes tag by tag.

  3. 03

    Published, then checked.

    The venue's agency published them, and we checked the live container from outside: every check passed. Two conversions that had never fired were fixed on the way.

  4. 04

    Live.

    The new banner has run on SaunaCentral since 2 October 2026.

03— Under the hood

Google ignores a plain array.

Consent commands must be pushed the way Google's own tag does it, as an arguments object; a plain array is silently ignored. Details like that decide whether a banner works at all.

A placeholder that breaks Meta.

Meta hears about consent only once its own script exists: a placeholder would stop Meta's snippet from loading at all.

A record that survives a reload.

Choices leave as plain text through the browser's beacon: no extra round trip, and the record still goes out when the page reloads after a withdrawal.

Small on purpose.

Under 16 KB compressed, no framework in the banner. The record service is a small app on Postgres, in the EU.

Where it is now

Live on SaunaCentral since October 2026. A record is sent once and not retried yet; that comes next.

More from the workshop

From our workshop
Get in touch

Still reading? Good sign.Write to us.

Work with people who keep their word.

  1. 01A few lines is enough.
  2. 02A short call. Questions, not a pitch.
  3. 03A written proposal with a clear price, or a straight no.