Good practice: cookies under Czech law

The Czech Republic switched to strict opt-in in 2022. Here is everything you need to know — and how Waulter helps you comply.

What Czech law requires

  • Strict opt-in — no pre-checked boxes, no implied consent.
  • Equal-prominence buttons — Accept and Reject must be visually equal.
  • Granular choice — visitors must be able to select cookie categories individually.
  • Cookie walls prohibited — you cannot gate content behind consent.
  • 12-month renewal — consent is valid for a maximum of 12 months.
  • Audit-ready logs — every consent must be recorded with a timestamp and an ID.

How Waulter ensures compliance

  • Correct opt-in implementation — Waulter's default settings meet all Czech requirements.
  • Equal-prominence buttons — the banner design does not favor one button over the other.
  • Granular consent — visitors see categories and choose individually.
  • Automatic renewal — Waulter tracks consent expiration and prompts for renewal.
  • Audit logs — every consent is stored server-side with a transaction ID, timestamp, and choice detail.

Common mistakes and how to avoid them

  • Pre-checked consent — not allowed. Waulter cannot do this even by accident.
  • Hidden Reject button — commonly considered a dark pattern.
  • Missing cookie information — Waulter automatically generates a cookie overview.
  • Unrecorded consents — without logs you have no proof. Waulter stores everything automatically.

Permission Transaction — consent as a transaction

Every cookie consent is a transaction. You are asking the visitor for something valuable — access to their data. In return, you should offer transparency, trust, and value.

Two sides of the transaction

You (website operator)The visitor
Ask for data accessDecides whether to grant it
Offer transparent informationExpects clarity
Document every consentExpects control and revocability
Use data for the declared purposeTrusts you to keep your word

Transparency as the foundation

A Permission Transaction only works when both parties understand the terms. That means:

  • Clear language — not a legal template, but an understandable explanation. "We want to measure how many people read our articles" instead of "processing of analytical cookies for the purpose of statistical analysis."
  • Visible overview — the visitor can see what they consented to at any time and change their decisions.
  • Versioning — every change to the banner configuration is versioned. If you change processing purposes, the visitor is prompted for fresh consent.

A documented transaction

Every consent interaction in Waulter is a documented transaction:

  • Transaction ID — a unique identifier for every consent.
  • Timestamp — the exact moment of granting or withdrawing consent.
  • Configuration version — which banner was shown, with which purposes.
  • Choice detail — exactly what the visitor allowed and what they rejected.
  • Context — from which page, which scenario was active.

This record is your proof during an audit. Without it, "consent" is just a claim with no evidence.

For a detailed technical description of the transaction model, see the Waulter documentation.

Business Activity as Purpose — understandable consent categories

Most cookie banners display technical categories: "analytics cookies," "marketing cookies," "functional cookies." The visitor has no idea what that means. They click "Reject All" and move on.

Waulter approaches consent differently. Instead of technical categories, it uses business activities as processing purposes — exactly as GDPR requires.

Technical categories vs. business activities

Technical categoryBusiness activity (Waulter)
Analytics cookiesTraffic evaluation
Marketing cookiesOffer personalization
Remarketing cookiesShowing relevant ads
Functional cookiesRemembering preferences
A/B testing cookiesImproving user experience

Why this works better

For the visitor: They understand what they are consenting to. "Traffic evaluation" makes sense. "Third-party analytical cookies for the purpose of statistical processing" does not.

For the business: Business activities match what the company actually does with data. A marketing manager understands "offer personalization" — no translation from technical jargon needed.

For compliance: GDPR requires processing purposes to be specific and understandable. Business activities meet this naturally — they are real processes, not abstract categories.

Automatic mapping

Waulter automatically maps business activities to:

  • Purpose codes (PU046, PU047, PU072...) — internal identifiers for technical processing.
  • Google Consent Mode signals — analytics_storage, ad_storage, ad_personalization.
  • Cookie categories — which specific cookies fall under which activity.
  • Legal documents — linking to the cookie policy and privacy policy.

The result: you set up business activities once and Waulter handles the rest. The visitor sees understandable purposes, the tech stack gets correct signals, and legal documents are generated automatically.

Practically automatable

Because business activities directly correspond to processing purposes in the GDPR sense, the entire chain is automatable:

  1. You define a business activity (what you do with data).
  2. Waulter assigns the correct purpose codes and cookie categories.
  3. The cookie banner shows an understandable purpose to the visitor.
  4. Google Consent Mode receives the correct signals.
  5. Legal documents update automatically.

No manual mapping, no risk of inconsistency between the banner and the documentation.

Marketing banners — social proof and campaign codes

A cookie banner does not have to be just a compliance obligation. With Waulter, it is a marketing tool that actively increases consent rates.

Social proof: real-time consent rate

Attach your real-time consent rate to the cookie banner: "92% of visitors trust us." (example)

  • A real number — this is not a made-up statistic. Waulter calculates the actual consent rate from your data.
  • Automatically updated — the number changes in real time. You do not need to configure or update anything.
  • Your text — you control the wording. "92% of visitors trust us," "Most of our readers consent to cookies" — your brand, your voice.
  • Protected — it only appears when the consent rate is high enough to serve as a positive signal.

Why it works: people follow what others do. When a visitor sees that, for example, 92% of people before them consented, trust grows and consent rates continue to increase. A positive feedback loop.

Custom incentive banners

Attach custom marketing to the cookie banner:

  • "Consent gives you access to personalized content."
  • "You help us improve the services you use."
  • "Thanks to analytics, we bring you more relevant content."

Each banner is configurable via marketingMessage in the CCID configuration — text, color, link.

Measurable links with campaign codes

Every link in the marketing banner can be:

  • Tagged with a campaign code — a campaign identifier for precise attribution.
  • Measured — clicks and conversions tracked automatically.
  • Signaled to the datalayer — the campaign code automatically appears as an event in Google Tag Manager.
  • Connected to your analytics pipeline — data flows directly into your dashboards.

The result: the cookie banner is not a dead compliance element, but a measurable marketing touchpoint with real data.

For implementation details, see the Waulter documentation.

Crawler and monitoring — what Waulter checks

Good practice is not a one-time setup. It is ongoing oversight. The Waulter crawler regularly scans your website and checks six key areas — together, they give you a documented picture of the consent setup on your website.

1. Where your data flows

We scan network traffic (HAR files) to see which external services and third parties your website communicates with. In simple terms: we check who your site talks to behind the scenes. Every service, every request — you know exactly where data goes.

2. External services and scripts

Detection of all third-party scripts, trackers, and services loaded on your pages. Facebook Pixel, Google Analytics, ad networks, chat widgets — Waulter finds them all. Do you know every script running on your site?

3. Visual verification

We take screenshots of your cookie banner on different devices and browsers. Desktop, tablet, mobile — visual proof that your consent banner looks correct, renders properly, and works across all platforms.

4. Cookie banner presence

Automatic verification that your consent banner actually displays on every page — not just the homepage. A surprisingly common issue: the banner works on the main page but fails to appear on campaign landing pages.

5. Google Consent Mode settings

We verify your Google Consent Mode 2.0 signals are correctly configured and firing. Default state denied before consent, granted after — exactly as Google requires. We check all four signals: analytics_storage, ad_storage, ad_user_data, ad_personalization.

6. Detailed logging

Every consent interaction is logged with a timestamp, configuration version, user decision, and page context. A transaction ID for every consent. Audit-ready records for regulatory inspection — proof, not claims.

A protective shield, not a checkbox

Together, these checks give you a documented picture of the cookies, scripts and consents your website uses. This is not a one-time audit — it is ongoing monitoring that alerts you to problems before the regulator finds them.

Be compliant from day one