/** * GDPR Tracking Consent - Integration Example * * This file shows how to integrate the GDPR tracking consent button * into your existing website or application. */ // Standalone JavaScript snippet (minified version for production) const gdprTrackingSnippet = ` `; // Integration examples for different scenarios // 1. WordPress Integration const wordPressIntegration = { // Add to functions.php php: ` ${gdprTrackingSnippet} `, // Or as a WordPress shortcode shortcode: ` ` }; // 2. React Integration const reactIntegration = ` import React, { useEffect, useState } from 'react'; const GDPRTrackingConsent = () => { const [isTrackingEnabled, setIsTrackingEnabled] = useState(false); const [showModal, setShowModal] = useState(false); useEffect(() => { const consent = localStorage.getItem('gdpr-tracking-consent') === 'true'; setIsTrackingEnabled(consent); if (consent) { enableEnhancedTracking(); } else { enableMinimalTracking(); } }, []); const enableTracking = () => { localStorage.setItem('gdpr-tracking-consent', 'true'); setIsTrackingEnabled(true); setShowModal(false); enableEnhancedTracking(); }; const disableTracking = () => { if (window.confirm('Disable enhanced tracking?')) { localStorage.setItem('gdpr-tracking-consent', 'false'); setIsTrackingEnabled(false); enableMinimalTracking(); } }; const enableMinimalTracking = () => { console.log('🔒 GDPR Mode: Minimal tracking'); if (typeof window.gtag !== 'undefined') { window.gtag('consent', 'update', { 'analytics_storage': 'denied', 'ad_storage': 'denied' }); } }; const enableEnhancedTracking = () => { console.log('📊 Enhanced tracking enabled'); if (typeof window.gtag !== 'undefined') { window.gtag('consent', 'update', { 'analytics_storage': 'granted', 'ad_storage': 'granted' }); } }; return ( <>
{showModal && (

Optional Enhanced Tracking

We respect your privacy! Enable enhanced tracking to help us improve.

)} ); }; export default GDPRTrackingConsent;`; // 3. Vue.js Integration const vueIntegration = ` `; // 4. Google Analytics Integration const googleAnalyticsSetup = ` `; // 5. Cookie Management Integration const cookieManagement = ` // Cookie utility functions for GDPR compliance class GDPRCookieManager { static setCookie(name, value, days = 365, sameSite = 'Lax') { const expires = new Date(Date.now() + days * 864e5).toUTCString(); document.cookie = \`\${name}=\${value}; expires=\${expires}; path=/; SameSite=\${sameSite}\`; } static getCookie(name) { return document.cookie.split('; ').reduce((r, v) => { const parts = v.split('='); return parts[0] === name ? decodeURIComponent(parts[1]) : r; }, ''); } static deleteCookie(name) { document.cookie = \`\${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/\`; } static cleanupTrackingCookies() { const trackingCookies = ['_ga', '_gid', '_gat', '_fbp', '_fbc', '_hjid']; trackingCookies.forEach(cookie => this.deleteCookie(cookie)); } }`; // Export all integration examples module.exports = { gdprTrackingSnippet, wordPressIntegration, reactIntegration, vueIntegration, googleAnalyticsSetup, cookieManagement };