GDPRauditagency
How to Audit Website Cookies for GDPR Compliance (Step-by-Step)

How to Audit Website Cookies for GDPR Compliance (Step-by-Step)

CS
ConsentScope Team
April 3, 202613 min read

If you are a developer, agency owner or privacy consultant, you have probably been asked this question: "Is our website GDPR-compliant when it comes to cookies?" The honest answer is usually: "I need to check." Cookie compliance is not visible in the UI. It happens in headers, scripts and storage events that most stakeholders never see. This guide gives you a professional, repeatable process for auditing website cookies under GDPR.

What GDPR actually requires for cookies

Before we open DevTools, let us clarify the legal baseline. The GDPR itself does not mention cookies directly. The relevant rules come from the ePrivacy Directive (2002/58/EC) and the draft ePrivacy Regulation. Here is what matters in practice:

  • Consent is required for storing or accessing information on a user's device, unless it is strictly necessary.
  • Consent must be freely given, specific, informed and unambiguous. Pre-ticked boxes, implied consent or "by using this site" disclaimers do not count.
  • The user must be able to withdraw consent as easily as they gave it. If it takes one click to accept, it should take one click to reject.
  • You must document consent. Who consented, when, and what they agreed to.

That means your audit must answer three questions: Are non-essential cookies blocked before consent? Is the consent mechanism valid? And is the consent recorded properly?

Phase 1: Discovery and inventory

You cannot audit what you do not know exists. The discovery phase maps every cookie, storage entry and tracking script across the site.

Step 1: Crawl every major page template

A cookie set on the homepage might not appear on the product page, and vice versa. You need to test every unique template: homepage, category pages, product detail, blog post, checkout funnel, account pages, password reset, error pages and any microsites.

Step 2: Record every cookie and its context

For each page, record: cookie name, value (truncated), domain, path, expiration, Secure flag, HttpOnly flag, SameSite attribute and the exact moment it appears (before or after consent). We use a simple spreadsheet with these columns.

ColumnWhy it matters
Cookie nameIdentifies the vendor or purpose (e.g. _ga = Google Analytics)
DomainFirst-party vs third-party scope
PathWhether the cookie is restricted to a subsection
Expires / Max-AgeLong-lived cookies are higher risk
Secure + HttpOnlySecurity best practices
SameSiteCross-site request behavior
CategoryNecessary, functional, analytics, marketing
TimingBefore consent = potential violation
Source scriptWhich tag, plugin or inline script created it

Step 3: Check localStorage and sessionStorage

GDPR applies to all storage mechanisms, not just cookies. Many modern trackers use localStorage to bypass cookie blockers. In DevTools, go to Application > Local Storage and look for entries set by analytics, A/B testing or personalization scripts.

Phase 2: Timing analysis

This is where most violations hide. A cookie that appears at t0 (page load) when consent happens at t2 (user click) is a clear breach. You need to establish the exact timeline.

  1. Open a clean browser session. Guest mode, all storage cleared.
  2. Open DevTools > Application > Cookies before loading the page.
  3. Load the page and watch. Screenshot any cookie that appears before you touch the banner.
  4. Interact with the banner. Accept, reject or customize. Record the time.
  5. Check again. Only now should non-essential cookies appear.
  6. Repeat for "Reject All". If you reject, no non-essential cookies should ever fire.

Phase 3: Consent mechanism validation

Even perfect cookie timing is worthless if the consent itself is invalid. Your audit must verify the banner design and behavior.

RequirementPass criteriaCommon fail
Equal prominenceAccept and Reject buttons are same size, color intensity and positionReject is a tiny grey link below a green Accept button
Granular choiceUser can pick categories individuallyOnly "Accept All" or "Reject All", no middle ground
No nudgingNo pre-ticked boxes, no dark patternsAnalytics pre-ticked as "essential"
Withdrawal pathCookie settings accessible from every page footerNo way to change mind after closing banner
Policy linkLinks to cookie policy and privacy policy are visibleLinks hidden behind secondary tabs

Phase 4: Third-party scripts and tag managers

Cookies are often set by scripts loaded from external domains. Your audit must trace each cookie back to its source.

Google Tag Manager audit

GTM is the most common source of accidental violations. Open GTM Preview mode and verify that every non-essential tag has a consent-based trigger. Tags that fire on "All Pages" or "DOM Ready" without checking consent state are red flags.

Hardcoded scripts

Look for scripts directly in the HTML source. Marketing teams often paste pixels into CMS widgets, footer injection plugins or theme files. These bypass tag managers entirely and are invisible to CMP auto-blocking unless manually tagged.

Phase 5: Reporting and remediation

An audit without a report is just browsing. Your deliverable should be a clear document that technical and non-technical stakeholders can understand.

  1. Executive summary: Number of violations, risk level and recommended priority.
  2. Detailed findings: Each violation with cookie name, page URL, timestamp, source script and screenshot.
  3. Remediation steps: Specific code changes, tag manager updates or CMP configuration fixes.
  4. Retest instructions: How to verify the fix after implementation.
  5. Ongoing monitoring: Schedule for re-audits after every release.

Generate audit reports in one click

ConsentScope Pro creates professional PDF audit reports with all findings, screenshots and compliance scores. Perfect for client deliverables.

Upgrade to Pro

FAQ

How often should I run a cookie audit?

For active sites, every major release. For stable sites, quarterly. If you use continuous deployment, integrate automated cookie scanning into your CI pipeline.

Can I use free tools for GDPR cookie audits?

Yes. Chrome DevTools is free and sufficient for manual checks. However, scaling to multiple pages, repeated audits and client reporting requires automation. That is where tools like ConsentScope come in.

What is the difference between a cookie audit and a full GDPR audit?

A cookie audit covers the technical aspects of storage and consent. A full GDPR audit also includes data processing agreements, lawful basis documentation, data subject rights procedures and security measures.

CS

ConsentScope Team

Verified author

Privacy Engineers & Chrome Extension Developers

We build tools that help developers, agencies and privacy advocates detect GDPR cookie violations automatically. Our team analyzes consent banners, cookie behavior and third-party scripts across thousands of websites every month.

Published: April 3, 2026Updated: April 3, 2026