Cookie consent banner

  • Home
  • Cookie consent banner

GDPR-COMPLIANT COOKIE CONSENT BANNER TEXT

==============================================
VERSION 1: DETAILED (Recommended)
==============================================

We use cookies to improve your experience on our site. Essential cookies are necessary for the site to function, while analytics and advertising cookies help us understand how you use our site and show you relevant content. You can manage your preferences at any time.

By clicking "Accept All", you consent to our use of cookies. By clicking "Reject Non-Essential", only essential cookies will be used.

[Learn more in our Privacy Policy] [Cookie Policy]

Buttons: [Cookie Settings] [Reject Non-Essential] [Accept All]

==============================================
VERSION 2: CONCISE
==============================================

We use cookies to enhance your experience. Essential cookies are required for site functionality. Optional cookies help us analyze usage and personalize content.

[Privacy Policy] [Cookie Policy]

Buttons: [Customize] [Reject Optional] [Accept All]

==============================================
VERSION 3: MINIMAL (EU COMPLIANT)
==============================================

This website uses cookies. Some are essential for functionality, others help us improve your experience and show relevant content. Choose your preferences below.

[More Info]

Buttons: [Settings] [Essential Only] [Accept All]

==============================================
COOKIE SETTINGS MODAL (Detailed Options)
==============================================

Title: Cookie Preferences

Introduction:
We use different types of cookies to optimize your experience on our website. You can choose which categories to allow. Note that blocking some cookies may impact your experience.

---

[✓] ESSENTIAL COOKIES (Always Active)
These cookies are necessary for the website to function and cannot be disabled.

What they do:
• Enable basic website functionality
• Remember your login session
• Maintain security
• Store your cookie preferences

---

[ ] FUNCTIONAL COOKIES
These cookies enable enhanced functionality and personalization.

What they do:
• Remember your language preference
• Store your customization settings
• Enable social media features
• Support video playback

---

[ ] ANALYTICS COOKIES
These cookies help us understand how visitors use our website.

What they do:
• Count visits and traffic sources
• Measure website performance
• Identify popular content
• Help us improve user experience

Third parties: Google Analytics

---

[ ] ADVERTISING COOKIES
These cookies are used to deliver relevant advertisements.

What they do:
• Show personalized ads
• Measure ad effectiveness
• Build interest profiles
• Limit ad frequency

Third parties: Google AdSense

---

Buttons at bottom:
[Reject Non-Essential] [Save Preferences] [Accept All]

Links: [Privacy Policy] [Cookie Policy]

==============================================
IMPLEMENTATION NOTES FOR DEVELOPER
==============================================

1. BANNER PLACEMENT
   - Show on first visit (check if cookie consent not set)
   - Position: Bottom of page (recommended) or top
   - Should overlay content (modal style) or push content down
   - Must be dismissable only through explicit choice

2. REQUIRED ELEMENTS (GDPR)
   - Clear explanation of cookie types
   - Separate consent for different cookie categories
   - "Reject" option must be as easy as "Accept"
   - Link to detailed Cookie Policy
   - Link to Privacy Policy
   - Ability to change preferences later

3. COOKIE CONSENT STORAGE
   - Store user's consent preferences in a cookie
   - Cookie name: cookie_consent
   - Value: JSON object with categories and timestamp
   - Example: {"essential":true,"functional":false,"analytics":true,"advertising":false,"timestamp":"2026-02-06T10:30:00Z"}
   - Expiry: 12 months
   - Re-prompt after expiry or on privacy policy changes

4. JAVASCRIPT IMPLEMENTATION
   
   // Check if consent exists
   function getCookieConsent() {
       const consent = getCookie('cookie_consent');
       return consent ? JSON.parse(consent) : null;
   }

   // Only load third-party scripts if consented
   if (consent && consent.analytics) {
       // Load Google Analytics
   }
   
   if (consent && consent.advertising) {
       // Load advertising scripts
   }

5. ACCESSIBILITY
   - Keyboard navigable
   - Screen reader friendly (ARIA labels)
   - Clear focus indicators
   - High contrast mode support
   - Readable font sizes (minimum 14px)

6. MOBILE CONSIDERATIONS
   - Responsive design
   - Touch-friendly buttons (min 44x44px)
   - Don't block entire screen on mobile
   - Easy to close/dismiss

7. LEGAL REQUIREMENTS
   - Essential cookies can be set without consent
   - All other cookies require explicit opt-in (not pre-checked)
   - "Reject" must be equally prominent as "Accept"
   - Consent must be freely given, specific, informed
   - Must provide way to withdraw consent later

8. COOKIE SETTINGS LINK
   - Add "Cookie Settings" link in footer
   - Clicking opens the preferences modal
   - User can change preferences anytime

==============================================
DATABASE SETUP
==============================================

Add these settings to your settings table:

1. cookie_consent_text (GDPR compliant text for banner)
2. cookie_policy_link (URL to cookie policy page)
3. privacy_policy_link (URL to privacy policy page)
4. show_cookie_banner (boolean: enable/disable)

==============================================
TESTING CHECKLIST
==============================================

□ Banner appears on first visit
□ Banner doesn't appear if consent already given
□ "Accept All" button works and stores consent
□ "Reject Non-Essential" button works
□ "Cookie Settings" opens detailed modal
□ Individual category toggles work
□ Essential cookies can't be disabled
□ Preferences are saved correctly
□ Analytics scripts load only if consented
□ Advertising scripts load only if consented
□ Links to policies work
□ Mobile responsive
□ Keyboard accessible
□ Works in all major browsers
□ Consent persists across sessions
□ Can withdraw consent later

==============================================