Cookie Wall vs. Consent Banner: Which is Compliant in 2025?
Rachel Torres, Privacy CounselOctober 24, 202510 min de lectura
Cookie WallsConsent BannersLegalGDPR
TLDR: "Accept cookies or leave" violates GDPR in most EU jurisdictions. The EDPB's 2024 opinion cracked down on "Pay or Consent" models too—large platforms now need a third option. Cookie walls are regulatory landmines.
Read full summary
Legal analysis of cookie walls versus consent banners across European jurisdictions. Includes the critical April 2024 EDPB Opinion on "Consent or Pay" models, which recommends a third "free with less data" option for large platforms. Includes technical implementation patterns for compliant consent interfaces.
*Summary by Claude AI*
## The €5 Subscription That Changed Everything
In 2023, Meta introduced a new model in Europe: pay €9.99/month for an ad-free Facebook and Instagram, or accept personalized advertising.
The theory was elegant. GDPR says consent must be "freely given." Cookie walls fail because users have no choice—accept tracking or leave. But if users can pay to avoid tracking, they do have a choice. Problem solved?
The EDPB disagreed. In April 2024, they issued Opinion 08/2024 on "Consent or Pay" models. For large platforms (and Meta certainly qualifies), offering only two options—tracking or payment—isn't enough. The EDPB recommends a third option: free access with less data processing. Some baseline service without tracking *and* without payment.
This opinion didn't outright ban pay-or-consent. But it signaled that regulators view these models skeptically, especially when the platform has market power that limits user alternatives.
The lesson extends beyond Meta: if "accept cookies or leave" is coerced consent, "accept cookies or pay" might be too—depending on your market position and whether alternatives exist.
## Two Interfaces, Opposite Legal Status
A **consent banner** presents a genuine choice. Accept all cookies. Reject non-essential cookies. Customize preferences. Access the website regardless of your decision. The banner informs; it doesn't block.
A **cookie wall** blocks access until users agree. No consent, no content. Click "Accept" or leave. There's no third option, and that's exactly the problem—under GDPR, consent must be "freely given," and choice under coercion isn't free.
```typescript
// Architectural comparison of consent mechanisms
interface ConsentBanner {
type: 'banner';
behavior: 'non-blocking';
userOptions: {
acceptAll: boolean; // Accept all cookies
rejectAll: boolean; // Reject non-essential
customize: boolean; // Granular control
accessWithoutConsent: boolean; // TRUE - can still use site
};
compliance: 'high';
}
interface CookieWall {
type: 'wall';
behavior: 'blocking';
userOptions: {
acceptAll: boolean; // Accept all cookies
rejectAll: boolean; // Often hidden or absent
customize: boolean; // Often hidden or absent
accessWithoutConsent: boolean; // FALSE - cannot use site
};
compliance: 'contested'; // Legal in few jurisdictions
}
interface PayOrConsentWall {
type: 'pay_or_consent';
behavior: 'blocking';
userOptions: {
acceptTracking: boolean; // Free access with tracking
payForAccess: boolean; // Paid access without tracking
accessWithoutConsent: boolean; // Only if paid (or free alternative offered)
};
compliance: 'jurisdiction_dependent';
}
```
The legal question at the heart of this distinction is whether consent given under a cookie wall constitutes "freely given" consent under GDPR. Article 4(11) defines consent as "any freely given, specific, informed and unambiguous indication of the data subject's wishes." Recital 42 elaborates: "Consent should not be regarded as freely given if the data subject has no genuine and free choice or is unable to refuse or withdraw consent without detriment."
## The European Regulatory Landscape
European data protection authorities have taken varying positions on cookie walls, creating a complex regulatory patchwork that organizations must navigate carefully.
### The EDPB Position
The European Data Protection Board's Guidelines 05/2020 on consent under the GDPR provide the authoritative guidance. The EDPB states clearly:
> "Access to services and functionalities must not be made conditional on the consent of a user to the storing of information, or gaining of access to information already stored, in the terminal equipment of a user (so called cookie walls)."
This position reflects the fundamental principle that consent cannot be freely given when it's the price of admission. If users must accept tracking to access a website, they have no genuine choice—and without genuine choice, consent is invalid.
However, the EDPB acknowledges one potential exception: where there's a genuine equivalent alternative that doesn't require consent. This exception has created significant debate about what constitutes a "genuine" alternative.
### The "Pay or Consent" Model: The 2024 Shift
A variation of the cookie wall has emerged that attempts to address the "genuine alternative" requirement: the pay-or-consent model (sometimes called "Pur" after the French term). Under this model, users face two options:
1. Accept tracking and access the site for free
2. Pay a subscription fee and access the site without tracking
**The EDPB Opinion 08/2024:**
In April 2024, the European Data Protection Board (EDPB) issued a landmark opinion on "Consent or Pay" models. This opinion significantly altered the landscape, particularly for **large online platforms**.
The EDPB concluded that for large platforms, offering only a binary choice between "consent to tracking" and "pay a fee" is often **insufficient** to ensure valid consent. To be compliant, the EDPB recommends a **third option**: a free alternative that does not require consenting to behavioral advertising (e.g., contextual advertising or less data-intensive ads).
**Key Takeaways from EDPB Opinion 08/2024:**
- **Binary Choice is Risky:** A simple "pay or consent" model is likely invalid for dominant platforms because the "free" consent is not considered "freely given" due to the imbalance of power and lack of genuine choice.
- **The Third Way:** Platforms should offer a "free equivalent with less data" (e.g., contextual ads) to ensure users who refuse tracking are not locked out or forced to pay.
- **Granularity:** Fees, if charged, must be modest and not effectively penalize privacy.
This opinion has rippled across jurisdictions, causing DPAs to scrutinize "Pay or Consent" models more closely, even for smaller publishers.
```typescript
class PayOrConsentImplementation {
private pricingEngine: PricingEngine;
private consentManager: ConsentManager;
private subscriptionService: SubscriptionService;
async presentOptions(user: User): Promise {
// Calculate pricing based on jurisdiction and content
const pricing = await this.pricingEngine.calculatePrice(user);
// UPDATED for 2025: Compliance with EDPB 08/2024
// Recommending a 3-tier approach for maximum safety
return {
options: [
{
id: 'free_with_tracking',
title: 'Free with personalized ads',
description: 'Access all content for free. We use cookies to show you relevant advertisements.',
price: 0,
trackingEnabled: true,
type: 'consent'
},
{
id: 'free_with_contextual',
title: 'Free with basic ads (Recommended)',
description: 'Access content with non-personalized, contextual ads. Less data collection.',
price: 0,
trackingEnabled: false,
type: 'privacy_preserving_free'
},
{
id: 'paid_without_ads',
title: 'Premium (Ad-Free)',
description: 'Support us directly. No ads, no tracking.',
price: pricing.monthlyAmount,
currency: pricing.currency,
trackingEnabled: false,
type: 'paid'
}
],
requirements: {
equalProminence: true,
clearComparison: true,
noDarkPatterns: true
},
compliance: this.assessCompliance(pricing, user.jurisdiction)
};
}
private assessCompliance(
pricing: Pricing,
jurisdiction: string
): ComplianceAssessment {
// Jurisdiction-specific compliance checks
const rules = this.getJurisdictionRules(jurisdiction);
const issues: ComplianceIssue[] = [];
// Check if price is reasonable
if (pricing.monthlyAmount > rules.maxReasonablePrice) {
issues.push({
severity: 'high',
issue: 'Price may be considered unreasonable',
recommendation: `Consider pricing below ${rules.maxReasonablePrice} ${pricing.currency}`
});
}
// Check for equivalent functionality
if (!this.hasEquivalentFunctionality()) {
issues.push({
severity: 'critical',
issue: 'Paid version must offer equivalent functionality',
recommendation: 'Ensure all features available to paying users'
});
}
return {
isCompliant: issues.filter(i => i.severity === 'critical').length === 0,
riskLevel: this.calculateRiskLevel(issues),
issues,
jurisdiction,
assessmentDate: new Date()
};
}
private getJurisdictionRules(jurisdiction: string): JurisdictionRules {
// Updated indicative rules post-2024
const indicativeRules: Record = {
'FR': {
maxReasonablePrice: 3,
requiresEquivalentFunctionality: true,
requiresClearComparison: true,
allowsPayOrConsent: true
},
'DE': {
maxReasonablePrice: 2,
requiresEquivalentFunctionality: true,
requiresClearComparison: true,
allowsPayOrConsent: false // Hostile to pay-or-consent without 3rd option
},
'EU-Wide (EDPB)': {
maxReasonablePrice: 0, // For large platforms, free alternative expected
requiresEquivalentFunctionality: true,
requiresClearComparison: true,
allowsPayOrConsent: false // Requires 3rd option
}
};
return indicativeRules[jurisdiction] || indicativeRules['FR'];
}
// ... methods ...
}
```
### Jurisdiction-by-Jurisdiction Analysis
```typescript
interface JurisdictionPosition {
country: string;
authority: string;
cookieWallPosition: 'prohibited' | 'restricted' | 'permitted_with_alternative';
payOrConsentPosition: 'prohibited' | 'permitted_with_conditions' | 'unclear';
keyGuidance: string[];
enforcementExamples: EnforcementAction[];
}
const europeanPositions: JurisdictionPosition[] = [
{
country: 'EU-Wide',
authority: 'EDPB',
cookieWallPosition: 'prohibited',
payOrConsentPosition: 'restricted',
keyGuidance: [
'Opinion 08/2024: Large platforms must offer free, non-tracking alternative',
'Binary "Pay or Consent" insufficient for dominant players',
'Contextual ads suggested as the compliant third option'
],
enforcementExamples: []
},
{
country: 'France',
authority: 'CNIL',
cookieWallPosition: 'prohibited',
payOrConsentPosition: 'permitted_with_conditions',
keyGuidance: [
'Cookie walls violate freely given consent',
'Pay-or-consent acceptable if alternative is genuine',
'Price of alternative must be reasonable',
'Clear information about both options required'
],
enforcementExamples: [
{
target: 'Google LLC',
fine: 150000000,
year: 2022,
issue: 'Difficult rejection process, not equally easy to refuse'
}
]
},
{
country: 'Germany',
authority: 'DSK (Conference of DPAs)',
cookieWallPosition: 'prohibited',
payOrConsentPosition: 'restricted',
keyGuidance: [
'Strict interpretation of freely given consent',
'Cookie walls incompatible with GDPR',
'Alternative must be economically viable for users',
'Market power considerations apply'
],
enforcementExamples: []
},
{
country: 'Netherlands',
authority: 'Autoriteit Persoonsgegevens',
cookieWallPosition: 'prohibited',
payOrConsentPosition: 'permitted_with_conditions',
keyGuidance: [
'Clear prohibition on cookie walls',
'Pur models acceptable under conditions',
'Focus on whether user has genuine choice',
'Proportionality of alternative matters'
],
enforcementExamples: []
},
{
country: 'Spain',
authority: 'AEPD',
cookieWallPosition: 'prohibited',
payOrConsentPosition: 'unclear',
keyGuidance: [
'Access cannot be conditioned on consent',
'Focus on genuine free choice',
'Cookie walls invalidate consent',
'Dark patterns enforcement priority'
],
enforcementExamples: []
}
];
```
## Why Cookie Walls Fail the Legal Test
Understanding why cookie walls are problematic requires examining the consent requirements in detail. GDPR's consent requirements aren't arbitrary—they reflect a considered view of what meaningful consent requires.
### The "Freely Given" Requirement
Consent must be freely given, meaning the data subject must have genuine choice and control. The EDPB has identified several factors that indicate consent is not freely given:
1. **Conditionality**: When consent is bundled with accepting terms and conditions
2. **Imbalance of power**: When there's a clear imbalance between the data subject and controller
3. **Granularity failure**: When consent is requested for multiple purposes as a package
4. **Detriment for refusal**: When refusing consent leads to negative consequences
Cookie walls trigger several of these factors. They condition access on consent (conditionality), create a take-it-or-leave-it situation (imbalance), often bundle multiple tracking purposes together (granularity), and explicitly create negative consequences for refusal (detriment).
### The "Specific" Requirement
Consent must be specific to particular purposes. Cookie walls typically present an all-or-nothing choice, failing to provide granular control over different types of processing.
### The "Informed" Requirement
Users must understand what they're consenting to. While cookie walls can technically provide information, the pressure to accept undermines whether users actually engage with that information.
### The "Unambiguous" Requirement
Consent must be a clear affirmative act. Cookie walls do produce an affirmative act (clicking accept), but the quality of that act is compromised by the coercive context.
## Building Compliant Consent Banners
Given the legal constraints, what does a compliant consent banner look like? The following implementation demonstrates key principles:
```typescript
class CompliantConsentBanner {
// ... (existing banner implementation remains valid) ...
private createBannerElement(): HTMLElement {
const banner = document.createElement('div');
banner.className = 'consent-banner';
// ...
banner.innerHTML = `
We value your privacy
`;
// ...
return banner;
}
}
```
### CSS Styling for Equal Prominence
One of the most common compliance failures is styling the "Accept" button more prominently than "Reject." Regulators have explicitly cited this as a dark pattern that undermines free consent.
```css
/* Compliant styling - equal prominence for all options */
.consent-banner {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: white;
border-top: 1px solid #e0e0e0;
box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
padding: 24px;
}
.consent-actions {
display: flex;
gap: 12px;
justify-content: flex-end;
flex-wrap: wrap;
margin-top: 16px;
}
.consent-button {
padding: 12px 24px;
border-radius: 6px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: background-color 0.2s, border-color 0.2s;
min-width: 120px;
}
/* COMPLIANT: All buttons have equal visual weight */
.consent-button-primary,
.consent-button-secondary {
/* Same size, same padding, same font */
background: white;
border: 2px solid #1a73e8;
color: #1a73e8;
}
.consent-button-primary:hover,
.consent-button-secondary:hover {
background: #f0f7ff;
}
```
## Making the Right Choice for Your Organization
The cookie wall vs. consent banner question isn't really a technical one—it's a question about how your organization views the relationship with users. Cookie walls prioritize data extraction over user autonomy. Consent banners acknowledge that users have rights that deserve respect.
From a purely practical standpoint, the regulatory trajectory is clear. **The EDPB's 2024 opinion has tightened the noose around "Pay or Consent" models**, especially for dominant platforms. Building your data strategy on compliant consent mechanisms—where rejection is as easy as acceptance—isn't just legally prudent; it's the foundation for sustainable business practices in an era of increasing privacy awareness.
The organizations that thrive in this environment will be those that view privacy compliance not as an obstacle to work around but as an opportunity to build genuine trust. Users who freely choose to share their data are more valuable than users who were coerced into it—and they're far less likely to generate regulatory risk.
R
Rachel Torres, Privacy Counsel
Redactor en GetCookies, especializado en cumplimiento de privacidad, gestión de consentimiento y optimización de marketing digital.