FAZ Cookie Manager
Tired of cookie consent plugins that lock essential features behind paywalls, require cloud accounts, or send your visitors’ data to third-party servers? FAZ Cookie Manager is a WordPress plugin that helps you implement cookie consent and privacy workflows for international regulations — completely free, with no strings attached. No account to create. The plugin requires no cloud service connection. Basic features like consent logging and geo-targeting are included — no premium plan needed. Core consent features run on your own server, and you own all your data. Why FAZ Cookie Manager? Most cookie consent plugins follow the same pattern: a free version with crippled features, and a paid tier starting at $10-50/month that unlocks what you actually need (cookie scanning, consent logs, Google Consent Mode, IAB TCF). FAZ Cookie Manager breaks that model: Cookie scanner — scans your site directly from your browser. No external service, no API limits, no waiting. Finds the cookies a JavaScript scanner cannot see — cookies set by PHP before the page renders, including HttpOnly ones your browser hides from scripts, are captured from the server response itself: from pages, AJAX, REST calls and sub-resources, then replayed across the URLs the crawl actually visited. Those are exactly the cookies that get set before consent, so a declaration built without them is incomplete. Cookie Policy generator — a jurisdiction-aware policy page (GDPR / CCPA / LGPD / POPIA) built from your own company details and the scanner’s live cookie inventory, published with [faz_cookie_policy_complete]. Ships in en, it, fr, de, es, pt-BR, bg and cs, and every section can be rewritten per jurisdiction and language. Consent logging with CSV export — every consent is recorded locally in your database. Export anytime for audits. Google Consent Mode v2 — all 7 consent signals sent to Google tags. No premium required. IAB TCF v2.3 — full Transparency and Consent Framework API and UI. Operating as a recognised CMP needs your own registered IAB Europe CMP ID; without one the TCF interface stays inactive and no TC string is produced, so invalid signals are never broadcast to vendors. Script blocking — tag any script with data-faz-tag to hold it until its category is accepted. Geo-targeting and 180+ languages — serve the right banner per region and translate every string, or use a built-in translation. Guided setup wizard — a first-run wizard detects your environment (multilingual plugin, page cache, WooCommerce, existing consent data) and configures jurisdiction-appropriate defaults, explaining each choice in plain language. Existing sites are treated as already set up and are never nagged. A/B test your consent banner — run two or more existing banners with a persistent random split and read the accept rate per variant. Only active, independently compliant banners take part, so improving your wording can never quietly become a dark pattern. Off by default. Schrems II transfer disclosure — flag per cookie that a service sends personal data to a country without an EU adequacy decision, with the safeguard you rely on. Worded neutrally: it states the fact and your described safeguard, and never claims that safeguard is legally sufficient. Off by default. Age-appropriate consent (GDPR Art. 8) — an optional age-confirmation checkbox above the buttons. It gates only Accept, never Reject or withdraw, so the two keep equal weight. This is a self-declared affirmation and is not a substitute for the parental-consent verification Art. 8(2) requires. Off by default. Ad-blocker resilience — keeps the legally required notice visible when a cosmetic filter list hides elements whose class contains “cookie” or “consent”. A single deferred re-assert: no loop, no cookie wall. It protects a mandatory notice; it does not circumvent a privacy tool. Off by default. Editable “Do Not Sell” opt-out text — customise the title, description and toggle label of the CCPA / US State Laws opt-out popup, per language. E-commerce & payment friendly — a per-gateway opt-in (PayPal, Stripe, Square, Braintree, Klarna, Mollie, Amazon Pay) lets payment SDKs load before consent when you enable that gateway, so pre-consent blocking never breaks a payment button. Off by default; a real WooCommerce checkout/cart is exempt automatically. Cache & object-cache compatible — purges and bypasses FlyingPress, LiteSpeed, WP Rocket, W3 Total Cache and more on save, epoch-invalidates Redis / Memcached object caches, and keeps WPML, Polylang, TranslatePress and Weglot banners in the right language behind a full-page cache. Details in the FAQ. Microsoft UET/Clarity, revisit widget, accessibility — consent integration for Microsoft tags, a floating button so visitors can change their mind, and keyboard/screen-reader support throughout. Helps with these frameworks This plugin assists consent and privacy workflows. It does not itself create, provide, or guarantee legal compliance, and you remain responsible for the final configuration for your site and jurisdiction. GDPR (EU General Data Protection Regulation) — Opt-in consent, granular categories, right to withdraw CCPA / CPRA (California Consumer Privacy Act) — “Do Not Sell or Share” opt-out link ePrivacy Directive (EU Cookie Law) — Consent-based script blocking support Italian Garante Privacy — 6-month consent expiry setting and consent logging controls EDPB Guidelines — No scroll-as-consent, no pre-checked categories, equal button prominence options LGPD (Brazil General Data Protection Law) — Consent-based model POPIA (South Africa Protection of Personal Information Act) — Conservative consent-based preset under s.11(1)(a); other s.11(1)(b)-(f) justifications require separate assessment Try it Live Try FAZ Cookie Manager in WordPress Playground — no account, no install, runs entirely in your browser. How it works Install and activate — the cookie banner appears immediately with sensible defaults Scan your site to detect cookies automatically Customize the banner design, text, and colors to match your brand Enable Google Consent Mode or IAB TCF if you use advertising tools Monitor consent analytics on the dashboard Core banner functionality runs on your WordPress site. Optional update/download features may contact GitHub, IAB Europe, MaxMind, ipinfo.io (opt-in VPN detection), or the AMP CDN depending on which features you enable and use. Cookie Policy generator A dedicated Cookie Policy admin tab and the [faz_cookie_policy_complete] shortcode build a policy page from the cookies your site actually sets. Jurisdiction-aware — GDPR (EU/EEA/UK), CCPA/CPRA, LGPD or POPIA, each with the legal references and sections that framework requires. Auto-populated — the inventory renders live from the scanner, so a newly discovered cookie appears with its category, duration and description. Multilingual — en, it, fr, de, es, pt-BR, bg, cs; override per render with lang="it" or let the browser decide. Editable per jurisdiction and language — replace any section with your own Markdown, placeholders included; leave one empty and it keeps receiving reviewed updates. Your company data — name, address, DPO email, retention period. Never seeded from admin_email or blogname. Honest by default — a localised disclaimer states the templates are a starting point, not legal advice. The older [faz_cookie_policy] and [faz_cookie_table] shortcodes and the faz/cookie-table block are unchanged. Multi-banner geo-routing and multilingual content Two orthogonal features that combine freely: the visitor’s country decides which banner is served, the visitor’s browser language decides the translation shown inside it. Geo-routing picks a banner per country — typically a strict GDPR banner for the EU/EEA/UK and a CCPA opt-out banner for California — resolving the country from Cloudflare’s CF-IPCountry header (opt-in), then a server GeoIP module or extension, then the self-hosted MaxMind GeoLite2 database. All four are local to your server or your CDN edge; no visitor IP is sent to a third party for country resolution. When none of them is available the most-protective GDPR ruleset is applied to every visitor. Translations live inside each banner and are resolved client-side from navigator.languages, so a country-targeted banner still works behind a full-page cache. In practice that means two banner rows rather than eight: one EU banner holding English, Italian, German, French and Polish, one US banner holding English and Spanish. External Services Summary. This plugin is cloud-free: consent is stored on your own site and there is no vendor account, dashboard or telemetry. Below is the full outbound picture, one heading per item — the optional features that contact an external host (none run unless you enable them), the public REST endpoints this plugin exposes on your own domain, and a note on third-party domain strings that appear in the code as matching patterns and are never contacted. Each entry states its trigger, what leaves your server, and the provider’s terms. GitHub / Raw GitHubusercontent (Open Cookie Database) Used to refresh the built-in cookie definitions snapshot for the optional auto-categorize feature. Triggered when: you click the definitions update action in the Cookies screen. Data sent: your server IP address and standard HTTP request headers. Service URLs: * https://raw.githubusercontent.com/fabiodalez-dev/Open-Cookie-Database/master/open-cookie-database.json Terms of Service / Privacy Policy: * https://docs.github.com/en/site-policy/github-terms/github-terms-of-service * https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement IAB Europe / vendor-list.consensu.org Used to download the Global Vendor List and purpose translations for the optional IAB TCF feature. Triggered when: you manually update the vendor list, and weekly while IAB TCF is enabled. Data sent: your server IP address and standard HTTP request headers. Service URLs: * https://vendor-list.consensu.org/v3/vendor-list.json * https://vendor-list.consensu.org/v3/purposes-en.json Privacy Policy: * https://iabeurope.eu/privacy-policy/ MaxMind Used to download a GeoLite2 database for optional geo-targeting. You choose the edition in Settings → GeoIP Database: the smaller Country edition (default, country-level only) or the larger City edition (adds region/subdivision data for sub-national province/state routing such as Quebec Law 25). City is a much larger download; pick it only if you rely on region-level routing. Triggered when: you enter a MaxMind license key in Settings and start the database download. Data sent: your server IP address, the license key you provide, and standard HTTP request headers. Service URL: * https://download.maxmind.com/app/geoip_download Terms of Service / Privacy Policy: * https://www.maxmind.com/en/terms-of-use * https://www.maxmind.com/en/privacy-policy ipinfo.io (optional live VPN detection and admin preview) The live geo-ruleset runtime applies jurisdiction-specific consent defaults and mandatory controls. If an administrator explicitly enables ipinfo.io, the jurisdiction pipeline may use it to classify a visitor as VPN/proxy/Tor and apply the most-protective fallback; the Geo-routing admin preview uses the same detector. Leave this integration disabled to keep visitor geolocation entirely on trusted headers and the local GeoLite2 database. Triggered when: an administrator has configured an ipinfo API key, confirmed the transfer terms, and enabled the integration, then either a visitor-facing jurisdiction lookup or an admin preview runs the geo detector. Without that explicit opt-in, ipinfo is never called. Data sent: the visitor IP address or the IP entered/resolved for an admin preview, the configured API key, and standard HTTP request headers. The result is cached locally for 24 hours hash-keyed by IP. Service URL: * https://ipinfo.io/{ip}/privacy Terms of Service / Privacy Policy: * https://ipinfo.io/terms-of-service * https://ipinfo.io/privacy-policy * DPA (Data Processing Agreement) available on request: https://ipinfo.io/contact Plugin REST endpoint /faz/v1/banner (public) Serves the banner configuration to the visitor’s browser under Cache Compatibility Mode, so a full-page cache can store one visitor-invariant HTML document while the banner still resolves per request. Hosted by this WordPress install; no third-party host is involved. Triggered when: Cache Compatibility Mode is enabled and a visitor loads a page with no stored consent. Data sent: nothing about the visitor. The response carries banner text, categories and styling only. Service URL: * https://{your-site}/wp-json/faz/v1/banner Plugin REST endpoints /faz/v1/amp-consent/check and /update (public) Used by the plugin’s AMP banner to reconcile the AMP consent cache with the first-party FAZ consent cookie. Both are hosted by the same WordPress install. Requests must pass AMP CORS provenance checks — the publisher origin, or that publisher’s exact HTTPS Google AMP Cache origin with the matching __amp_source_origin. Arbitrary origins, another publisher’s cache subdomain, and requests without AMP provenance are rejected before consent can change. Sites on another registered AMP cache can add their own verified exact origin with the faz_amp_consent_allowed_cache_origin filter. Triggered when: an AMP page checks an existing decision, or the visitor saves AMP cookie preferences. Data sent: banner scope, consent state, per-category purpose choices, and the AMP-generated user ID that amp-consent includes. FAZ neither stores nor logs that ID, and does not derive its consent identifier from it. The update endpoint tries to synchronise the first-party cookie with SameSite=None; Secure; a browser that blocks third-party cookies may refuse it behind an AMP Cache, and the bridge then fails closed and asks again rather than claiming cross-origin parity it cannot guarantee. Service URLs: * https://{your-site}/wp-json/faz/v1/amp-consent/check * https://{your-site}/wp-json/faz/v1/amp-consent/update AMP Project CDN Used only on AMP pages when the AMP consent integration is active, to load the official amp-consent component required by AMP. Triggered when: an AMP page renders the AMP consent banner. Data sent: the visitor IP address and standard browser request data to the AMP CDN. Service URL: * https://cdn.ampproject.org/v0/amp-consent-0.1.js Documentation / Privacy: * https://amp.dev/documentation/components/amp-consent * https://policies.google.com/privacy Note on third-party domain strings inside the plugin codebase The source contains third-party domain names (js.stripe.com, connect.facebook.net, googletagmanager.com and others) purely as string patterns, for two purposes: Blocking detection — to recognise analytics, advertising and tracking scripts injected by the site’s other plugins, so they can be held until consent. This plugin loads none of them itself. Explicit exceptions — no whole third-party plugin is whitelisted and no profiling resource is: Google Fonts, Google Maps, OAuth endpoints and generic CDNs stay blocked until consent. The only defaults are four anti-abuse challenge endpoints (reCAPTCHA, its gstatic assets, Cloudflare Turnstile, hCaptcha), which gate a form the visitor is actively submitting and are therefore strictly necessary. An administrator can add a narrow audited exception in Settings, and can remove the CAPTCHA defaults too. Every outbound request documented above happens only when its feature is used. /faz/v1/banner is hosted by this plugin on the same site: no third-party call leaves the visitor’s browser. Cache Plugin Compatibility When multi-banner geo-routing is active, the rendered HTML can legitimately vary by visitor country. This plugin asks the page-cache layer to bypass caching on those requests by emitting: Cache-Control: no-store, no-cache, must-revalidate, max-age=0 Pragma: no-cache X-LiteSpeed-Cache-Control: no-cache CDN-Cache-Control: no-store and Cloudflare-CDN-Cache-Control: no-store (banner REST endpoint only, so an edge that overrides the browser directive still refuses to store the country-dependent payload) Vary: CF-IPCountry (when the trust filter faz_trust_cf_ipcountry_header is enabled). It is emitted for symmetry but is inert on these responses: nothing is stored, so there is no cache key to vary. Vary only does work on the storable responses — the banner REST endpoint’s non-country-dependent answers, which are served public, max-age=300 and carry the same header. DONOTCACHEPAGE, …
Top keywords
- consent38×1.53%
- cookie28×1.13%
- banner25×1.01%
- amp20×0.81%
- https20×0.81%
- faz19×0.77%
- data17×0.69%
- cache16×0.65%
- visitor15×0.61%
- service13×0.52%
- policy12×0.48%
- privacy12×0.48%
MaxtDesign Cookie Consent – Google Consent Mode v2
The MaxtDesign Cookie Consent Manager That Actually Works Most WordPress consent plugins either don’t actually control tracking (they just show a form) or they’re so bloated they slow down your site significantly. MaxtDesign Cookie Consent is different: proper Google Consent Mode v2 implementation in under 10KB. Why This Plugin? For Site Owners: You need CCPA/GDPR compliance but don’t want to sacrifice site performance or deal with complex configuration. For Developers: You want clean, efficient code that follows WordPress standards and doesn’t conflict with other plugins. For Agencies: You manage multiple client sites and need a reliable, lightweight solution that just works. Key Features ✓ Actually Controls Tracking Unlike “checkbox theater” plugins that only show forms, this plugin properly implements Google Consent Mode v2, ensuring GA4 and Google Ads respect user choices. ✓ Blazing Fast (<10KB) Zero performance overhead. No database queries during page load. Pure localStorage-based consent management. ✓ Three Style Presets Choose from Minimal, Modern, or Bold popup styles. Customize colors to match your brand. ✓ Works Everywhere Compatible with any theme. Works with Elementor (optional). Mobile responsive. Accessibility compliant (WCAG 2.1 AA). ✓ Developer-Friendly Clean code following WordPress standards. Two shortcodes for easy integration. No jQuery dependency. Vanilla JavaScript. ✓ WP Consent API Ready Acts as a provider for the WordPress Consent API standard. With the free WP Consent API plugin active, your visitors’ choices are respected site-wide by WooCommerce and other consent-aware plugins automatically. ✓ Privacy-First No server-side user tracking. No external API calls. User consent stored locally. GDPR/CCPA compliant by design. What is Google Consent Mode v2? Google Consent Mode v2 (GCM v2) became mandatory in March 2024 for GA4 and Google Ads in the EU. It’s Google’s framework for managing user consent signals across their advertising and analytics products. This plugin implements all four required consent types: analytics_storage – Google Analytics cookies ad_storage – Advertising cookies ad_user_data – User data for advertising ad_personalization – Personalized advertising Without proper GCM v2 implementation, your GA4 and Google Ads tracking may be unreliable or non-compliant. How It Works Visitor arrives → Consent popup appears (customizable position, style, timing) User chooses → Three options: Accept All, Analytics Only, or Decline All Consent stored → User choice saved in localStorage (privacy-friendly, no server tracking) GCM signals updated → Google Analytics and Ads respect the user’s choice immediately No repeat popup → Cookie remembers they’ve seen popup (configurable duration) Popup Customization Style Presets: * Minimal – Clean and subtle * Modern – Rounded and polished * Bold – Strong and prominent Position Options: * Top banner * Bottom banner * Center modal Animation Options: * Slide in * Fade in * No animation Color Customization: Primary color picker to match your brand Shortcodes Display Current Status: [mdcc_consent_status] Shows consent chips: “Analytics: On/Off” and “Ads: On/Off” Manage Consent Interface: [mdcc_manage_consent title="Your Privacy Choices"] Full consent management with Accept/Analytics/Decline buttons and current status display. Both shortcodes update in real-time when consent changes. Optional Elementor Integration Prefer to use a custom Elementor popup? Simply enter your Elementor Popup ID in settings, and the plugin will use your custom popup instead while maintaining proper GCM v2 functionality. Technical Specifications Size: <10KB total (CSS + JS combined, gzipped) Performance: Zero database queries during page load Storage: localStorage-based (no server-side user tracking) Dependencies: None (vanilla JavaScript, no jQuery) Compatibility: WordPress 5.8+, PHP 7.4+ Standards: WCAG 2.1 AA accessible, mobile responsive Perfect For WordPress sites using GA4 or Google Ads CCPA/GDPR compliance requirements Performance-conscious developers Agency client sites needing scalable consent management Anyone tired of bloated consent plugins What This Plugin Doesn’t Do Not a cookie scanner – Doesn’t automatically detect all cookies on your site Not a full compliance suite – Focuses on consent management for Google tracking Not multi-platform tracking – Free version handles GA4/Ads only (Pro version coming with Facebook, Hotjar, etc.) For comprehensive cookie auditing and multi-platform tracking control, consider our Pro version (launching 2025). Coming in Pro Version Facebook Pixel control Hotjar tracking control LinkedIn Insight Tag TikTok Pixel Custom script control Consent analytics dashboard Geolocation-based prompts White-label mode for agencies Privacy Policy MaxtDesign Cookie Consent does not collect, store, or transmit any user data. All consent preferences are stored locally in the user’s browser using localStorage. No information is sent to external servers. However, this plugin manages consent for third-party services (Google Analytics, Google Ads). Those services have their own privacy policies: Google Analytics Privacy Policy: https://policies.google.com/privacy Google Ads Privacy Policy: https://policies.google.com/technologies/ads It is your responsibility to include appropriate disclosures in your site’s privacy policy about the tracking services you use. Support For support, please use the WordPress.org support forum. Credits Developed by MaxtDesign – https://maxtdesign.com Special thanks to the WordPress community for feedback and testing.