The short answer
A cookie consent test is only meaningful in a real browser. SafeLaunch opens your site three times in clean sessions (before any choice, after clicking Reject, after clicking Accept) and records every cookie and tracking request in each. That shows whether trackers fire before consent and whether Reject is respected: the evidence regulators act on.
Key takeaways
- Static cookie checkers read HTML and guess. Tag managers, consent scripts and single-page apps decide what loads at runtime, so only a browser sees the truth.
- SafeLaunch records cookies and network requests in three clean sessions: before a choice, after Reject and after Accept.
- It flags advertising and session-replay tools (Meta Pixel, Google Ads, Hotjar, Microsoft Clarity, TikTok Pixel and others) as the most serious when they run without consent.
- It checks whether Reject sits on the first layer next to Accept, the point behind major EU enforcement against Google and Facebook in 2022.
- The same browser visit runs an automated WCAG 2.2 AA accessibility test.
On this page
- 1. What do regulators actually check on a cookie banner?
- 2. Why do static cookie checkers miss real violations?
- 3. How does SafeLaunch's real-browser cookie test work?
- 4. What does a finding from the browser test look like?
- 5. Does the real-browser test matter outside Europe?
- 6. What the browser test can't see
01
What do regulators actually check on a cookie banner?
European data protection authorities don't audit your source code. They open your website in a browser, often with developer tools, and look at three things: what is stored or loaded before the visitor chooses, whether refusing is as easy as accepting, and whether a refusal actually stops the tracking.
The legal basis is Article 5(3) of the ePrivacy Directive (implemented in the UK as PECR regulation 6): storing or reading information on a visitor's device requires consent unless it is strictly necessary for the service they asked for. GDPR defines what valid consent is: freely given, specific, informed and unambiguous. The Court of Justice confirmed in Planet49 (C-673/17, 2019) that pre-ticked boxes are not consent.
Refusing cookies should be as easy as accepting them.
In January 2023, the European Data Protection Board's cookie banner taskforce published the positions national regulators had agreed on: a missing Reject button on the first layer, pre-ticked boxes, deceptive colours and claiming 'legitimate interest' for tracking cookies were all considered problems. Every one of those is something you see in a browser, not in a code review.
02
Why do static cookie checkers miss real violations?
A static checker downloads your HTML and searches it for known script URLs. That made sense when every tracker was a hard-coded <script> tag. Modern sites don't work that way.
- Tag managers load trackers at runtime. Google Tag Manager or Segment pulls in the Meta Pixel after the page starts. The HTML shows one container script, not the ten tags inside it.
- Single-page apps render in JavaScript. Sites built with React, Vue or most AI builders ship an almost empty HTML shell. A checker that doesn't run JavaScript sees nothing.
- Consent tools change behaviour on click. Whether Reject works depends on the consent platform's configuration, its integration with your tags, and timing. None of that is visible in source.
- Cookies are set by the browser, not the HTML. Third-party scripts write cookies on other domains. Only the browser's cookie jar shows them all.
- Self-hosted and proxied tags look first-party. Analytics served from your own domain still tracks people, and still needs consent.
Static cookie checker
- Reads the HTML it downloads
- Matches known script URLs
- Can't click Reject or Accept
- Misses tags loaded by tag managers and SPAs
- Can't tell if consent is respected
SafeLaunch real-browser test
- Opens the live site in a real browser and runs its JavaScript
- Records every request and every cookie, on every domain
- Clicks Reject and Accept, each in a clean session
- Sees trackers however they're loaded, including first-party
- Shows exactly what still loads after Reject
03
How does SafeLaunch's real-browser cookie test work?
When SafeLaunch runs a paid audit (Launch Report or Launch Fix) on a website, it opens the page in a real browser and runs it through three separate phases. Each Reject and Accept run starts in a clean session, so one choice can't leak into the other. The free scan reads the page source and flags the trackers it can see there.
- 01
Before any choice
The page loads and the browser waits. SafeLaunch records every request the page makes and every cookie set on any domain, then identifies the services behind them: analytics, advertising, session replay, chat, fonts, payments and forms. It also looks for the banner and reads its buttons.
- 02
After Reject
In a fresh session, SafeLaunch clicks the Reject control and views the page again. Any non-essential tracker or tracking cookie still present is recorded as evidence that the refusal isn't being respected. If Reject is only reachable through a 'Settings' or 'Manage' layer, that is recorded too.
- 03
After Accept
In another fresh session, it clicks Accept. This confirms which services your consent actually enables, the inventory your cookie notice must describe.
- 04
Accessibility in the same visit
While the browser is open, the page is tested with axe-core against WCAG 2.2 AA. Missing labels, contrast failures and keyboard traps are reported alongside the consent results.
| Phase | What's recorded | The question it answers |
|---|---|---|
| Before choice | Requests, cookies, banner text and buttons | Does tracking start before the visitor agrees? |
| After Reject | Trackers and tracking cookies still present | Is a refusal actually respected? |
| After Accept | Services enabled by consent | Does the cookie notice list what really runs? |
| Banner layout | Whether Reject sits next to Accept | Is refusing as easy as accepting? |
04
What does a finding from the browser test look like?
Every finding carries the evidence the browser recorded, the law it relates to in each market you selected, and the fix. A typical example:
HIGH · Advertising tracker loads before consent
Evidence: Before any choice, the browser requested connect.facebook.net
and set the cookie _fbp (Meta Pixel). After Reject, _fbp was
still present.
Law: EU · ePrivacy Directive Art. 5(3); GDPR Art. 6(1)(a) & 7
UK · PECR Reg. 6; UK GDPR Art. 7
Fix: Load the Meta Pixel only after the visitor accepts marketing
cookies. Remove the hard-coded tag from <head> and fire it from
your consent tool's "marketing" category.Launch Fix turns that into the exact code change and a prompt for your AI builder. Read how findings become copy-paste prompts.
05
Does the real-browser test matter outside Europe?
Yes, in different ways. The EU, UK and Switzerland are opt-in markets: non-essential cookies need consent first. Much of the US works on an opt-out model, but the same evidence matters. California's privacy rules give consumers the right to opt out of the sale or sharing of personal information, which includes many advertising trackers, and the California Attorney General's 2022 settlement with Sephora centred on third-party trackers sharing data after people had tried to opt out.
Brazil's LGPD, India's DPDP Act and Quebec's Law 25 also turn on whether what you say about tracking matches what happens. In every market, a list of the services your site really contacts is the foundation of an accurate privacy and cookie notice.
06
What the browser test can't see
- Pages behind a log-in. URL scans don't sign in, submit forms or make payments.
- Behaviour that depends on location, device or A/B tests outside the run.
- Server-side tracking that never reaches the browser, such as conversion APIs. SafeLaunch can find these in code when you connect a repository.
- Automated accessibility checks find many WCAG problems but can't establish full conformance. Manual keyboard and screen-reader testing is still needed.
When the browser can't open a site, SafeLaunch falls back to reading the HTML and says so in the report, rather than presenting a guess as a test result.
One free fix in your inbox each week
A new copy-paste prompt for Lovable, Cursor or Claude Code every week, with the rule behind it and how to check it worked. No spam, unsubscribe in one click.
By signing up you agree to get this weekly email. We send it with Kit, and you can unsubscribe at any time. What we share with Kit is in our privacy notice.
FAQ
Frequently asked questions.
Sources and further reading
- ePrivacy Directive 2002/58/EC, Article 5(3)
- GDPR Article 7: conditions for consent
- CJEU, Planet49 (C-673/17)
- EDPB: Report of the work undertaken by the Cookie Banner Taskforce (2023)
- ICO: guidance on cookies and similar technologies
- California Attorney General: Sephora settlement (2022)
This article is general information, not legal advice. SafeLaunch is automated software, not a law firm; a report records what was checked on one version and is not a certificate of compliance. Read the disclaimer.
From the founder
SafeLaunch is built by Raghav R Handa, a lawyer-turned-builder in New Delhi. He writes about this topic in plain English:
See what SafeLaunch finds on your product.
Paste a link and get your score, the most serious problems and what already passes, in about a minute.
Keep reading