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
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 5.0 and PHP 7.4.
SourceWordPress plugins · Nov 4, 2026
01 / Source details
Aboutthistool.
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 — mark a script type="text/plain" data-faz-category="analytics" to hold it until that category is accepted; it runs on its own as soon as consent is granted, and on every later page load.
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
01Install and activate — the cookie banner appears immediately with sensible defaults
02Scan your site to detect cookies automatically
03Customize the banner design, text, and colors to match your brand
04Enable Google Consent Mode or IAB TCF if you use advertising tools
05Monitor 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, or once a week after explicitly enabling “Update cookie definitions weekly” in Settings. Automatic updates are off by default; disabling the option cancels scheduled downloads. Failed downloads retain the existing database. The bundled snapshot remains available without enabling network updates.
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/si
See it in action
Screenshots & previews.
Cookie consent banner on the frontend -- GDPR-ready banner in the bottom-left corner with "Customize", "Reject All" and equal-weight "Accept All" buttons. Shown only on the first visit until the visitor makes a choice.Preference center -- Category-level opt-in modal. Necessary cookies are always active; every other category (Functional, Analytics, Uncategorized, Marketing) is opt-in by default, with a clear description for each.Admin dashboard -- Overview of pageviews, banner impressions, accept rate and reject rate, with a 7/30/365-day pageviews chart and consent distribution.Banner editor -- Configure layout, position, colours, copy and behaviour with a live in-iframe preview. Ships with GDPR Strict, High Contrast and Light Minimal design presets.Cookies management -- Review and edit cookie categories, run the built-in scanner, and browse the bundled Open Cookie Database with 1,000+ definitions.IAB TCF v2.3 Global Vendor List -- Browse the Global Vendor List (downloaded from IAB Europe when you switch TCF on, and refreshed weekly), filter by purpose, and select which vendors your site works with. Full Transparency and Consent Framework v2.3 API and UI, no cloud required. Note: broadcastingConsent logs -- Local, tamper-resistant audit trail of every visitor consent: status, categories, hashed IP, URL and timestamp. Filter, search and export to CSV for DPIA / audits.Google Consent Mode v2 -- Default vs. granted state for ad_storage , analytics_storage , ad_user_data , ad_personalization , functionality_storage , personalization_storage and security_storage . Works with GTM and gtag.Languages -- Manage active languages and the default banner language. Works alongside WPML / Polylang. The admin interface ships translated into Italian, Dutch, German, French, Czech and Croatian; banner and cookie-category text ships in those plus Spanish, Finnish, Hungarian, Polish, Portuguese, BrSettings -- Global controls: enable/disable the banner, exclude specific pages, cross-domain consent forwarding, hide from bots, GTM dataLayer events, consent log retention and scanner limits.
02 / Source details
Gettingstarted.
From the WordPress.org plugin directory (recommended)
01In your WordPress dashboard go to Plugins > Add New Plugin
02Search for FAZ Cookie Manager
03Click Install Now , then Activate
04Go to FAZ Cookie in the admin sidebar to configure your banner
Manual installation
05Download the ZIP from wordpress.org/plugins/faz-cookie-manager
06In your WordPress dashboard go to Plugins > Add New Plugin > Upload Plugin
07Upload the ZIP and click Install Now , then Activate
08Go to FAZ Cookie in the admin sidebar to configure your banner
03 / Source details
Frequently asked questions.
Can I put a consent link in my footer?
Yes. Add a Shortcode block to your site-wide footer containing [faz_cookie_settings type="link" text="Cookie preferences"] . The link uses your theme’s styling. Omit type="link" for the existing banner-coloured button. Both support a custom text and additional CSS class .
To replace the floating widget, put the link on every page and disable Banner → Advanced → Show revisit consent widget . Jurisdiction routing may lock that widget on; in that case both controls remain available. The shortcode needs the banner runtime and does not work on pages excluded from the banner. Standard navigation menu labels do not execute shortcodes; custom HTML can use <a href="#faz-consent" data-faz-open-preferences="1" aria-haspopup="dialog">Cookie preferences</a> .
Do scheduled scans require WP-CLI?
No. A hosting cron that calls WordPress’s wp-cron.php runs the plugin’s scheduled events too. If your host already provides that job, do not add a duplicate. System Status → Cron Jobs includes a cPanel example and explains how to check the next scheduled times.
Why can I not see the banner after changing its privacy law?
A saved choice normally keeps the banner closed. Use the revisit control to reopen preferences. With Geo-Targeting on, visitors who need opt-in consent receive an opt-in version of your CCPA banner when no GDPR banner applies; an unknown country receives the protective fallback too. Its look and policy links are preserved.
The WordPress Dashboard and FAZ screens explain fallback coverage and offer Check the banner on your site . This reopens the real banner for your administrator account without clearing consent or changing other visitors’ choices. The global banner switch and configured page/region exclusions still apply. If a cache continues serving a banner-less page from an older version, purge that page cache and any external CDN cache after updating.
Why does the dashboard show — for pageviews?
Pageview and banner interaction metrics show -- when pageview tracking is disabled. This means unavailable, rather than zero visits. Consent logging is a separate setting and can remain enabled.
Does this plugin require a cloud account or subscription?
No required cloud account or subscription is needed. Core consent features run locally, while some optional refresh/download features can contact documented third-party services such as GitHub, IAB Europe, MaxMind, or AMP infrastructure.
Is it really free? What’s the catch?
It’s free and open source (GPL-3.0). There are no premium upgrades, no feature gates, and no upsells. The plugin is based on the GPL-licensed CookieYes v3.4.0 codebase, with cloud dependencies removed and all included features running locally.
Is it compatible with Google Consent Mode v2?
Yes. The plugin sends all 7 consent signals ( ad_storage , analytics_storage , ad_user_data , ad_personalization , functionality_storage , personalization_storage , security_storage ) and supports Google Additional Consent Mode (GACM) for ad technology providers.
Does the banner block cookies before consent?
Yes. Known third-party scripts are blocked automatically. To gate one of your own, give it a non-executable type and name the category it belongs to:
<script type="text/plain" data-faz-category="analytics">/* your code */</script>
Both parts are required. The type is what stops the browser from running it before consent; data-faz-category is what the plugin looks for when it runs it afterwards. A script with only the type never runs at all — including after consent — and a script with only the attribute runs immediately, before any consent is given.
The same pair works for iframes, images and stylesheets using data-faz-src or data-faz-href in place of the real attribute.
Once consent is granted the plugin runs the script itself, on that page and on every later page load. You do not need to listen for fazcookie_consent_update to start it; that event is for your own code that has nothing to do with these tags.
How does the cookie scanner work?
Go to FAZ Cookie > Cookies and click Scan Site . The scanner runs in your browser using iframes, crawling your site’s pages to detect all cookies. Choose from quick scan (10 pages), standard (100), deep (1000), or full scan. No external service involved.
Can I log consent for GDPR accountability?
Yes. Every consent action (accept, reject, customize) is recorded in a local database table with timestamp, consent ID, categories chosen, a pseudonymised IP (salted one-way hash), and page URL. Export to CSV anytime from the Consent Logs page.
Does it support multiple languages?
Yes. The Languages page lets you select from 180+ available languages. Each banner you create carries its own translations for every language you enable — the banner text (title, description, button labels) is stored per-language inside the banner row, and the language displayed to the visitor is resolved client-side from navigator.languages . WPML / Polylang URL-based language switching is auto-detected and always cache-safe.
Does it work with GTranslate or another translation proxy that serves my site on other domains?
Yes. GTranslate’s paid plans (and similar proxies, mirrors or CDN hosts) serve translated copies of your pages on other hosts — example.de , de.example.com — and forward every request made there, including the consent log and the Do-Not-Sell form, back to your WordPress site. Four things follow, and the plugin handles each one:
The banner itself. The proxy translates the page, banner included, so on a translated domain the banner shows in that language. The banner markup travels in a <template> element the proxy can translate without breaking its structure. (Up to 1.35.0 it travelled in a script element the proxy also read as HTML, which on the translated domains left the consent bar nested inside the revisit button with no buttons.)
The consent cookie on a translated domain. A browser cannot share a cookie between different registrable domains, so on example.de the consent is stored for that domain only, even when “Share consent across subdomains” is on for example.com . The visitor makes their choice once per domain. (Earlier versions wrote the cookie for the configured domain, which the browser rejects on another domain, so the banner came back on every page.) A cookie the server itself sets, such as the Do-Not-Sell confirmation, is host-only too.
Consent records and Do-Not-Sell submissions from those domains. They arrive with the translated domain as their origin and used to be refused as “cross-origin”. The domains GTranslate’s own settings describe (Enterprise plan: custom domains or language sub-domains) are now trusted automatically while GTranslate is active. Any other domain is added under Settings → Trusted Alternate Domains (one per line: a bare domain, or a full URL when the scheme or port matters), or with the faz_trusted_origins filter. System Status lists the effective domains and where each came from.
“Rate-limited” consent records. Every visitor of the translated domains reaches your server from the proxy’s few addresses, so they share one rate-limit window. The plugin never believes a forwarded address from an unknown sender, because anyone can send one. Ask GTranslate support for the proxy’s address ranges, then declare them and name the header the proxy forwards the visitor’s address in: add_filter( ‘faz_trusted_proxy_cidrs’, function ( $cidrs ) { return array_merge( $cidrs, array( ‘203.0.113.0/24’ ) ); } ); add_filter( ‘faz_proxy_forwarded_header’, function () { return ‘HTTP_X_GT_CLIENTIP’; } );
Replace 203.0.113.0/24 with the ranges you were given; GTranslate publishes its current list at https://gtranslate.net/ips.txt. The filter takes the server variable name of the header: GTranslate forwards the visitor’s address in X-GT-ClientIP , which PHP exposes as HTTP_X_GT_CLIENTIP . See “My site is behind Cloudflare or a reverse proxy” below for how these two filters work.
Does multi-banner mean one banner per language?
No — multi-banner routing is per visitor country (e.g. GDPR vs CCPA, EU vs US), not per language. Each banner row carries its OWN multilingual content: title, description and button labels translated for every language you support. The visitor’s country selects the banner; the visitor’s browser language then selects which translated strings to render inside that banner. So an install with one EU-targeted GDPR banner (carrying English + Italian + German + French translations) and one US-targeted CCPA banner (carrying English + Spanish translations) needs only TWO banner rows, not eight. See the “Multi-banner geo-routing vs multilingual content” section in the Description for the full architecture.
Can users change their consent after accepting?
Yes. A floating revisit widget appears on every page, letting visitors reopen the preference center and change their choices at any time.
Is the banner accessible?
Yes. The banner supports full keyboard navigation (Tab, Enter, Escape), proper ARIA labels, and is responsive down to 375px viewports. Buttons have equal visual prominence to avoid dark patterns.
Does it work with caching plugins?
Yes. See the Cache Plugin Compatibility section below for the verified plugins, emitted cache-control signals, automatic FlyingPress handling and known CDN limitations.
Short answer
Yes. The consent banner is rendered via JavaScript from a cached template, so it works with all major caching plugins (WP Super Cache, W3 Total Cache, LiteSpeed Cache, etc.).
Does the plugin send any data home or collect telemetry?
No. The plugin contains no telemetry, no analytics beacon, and no “phone home”. Dashboard numbers are computed locally from your own wp_faz_pageviews and wp_faz_consent_logs tables. Every outbound request that can happen is documented in the “External services” section and is gated behind an explicit admin action.
Where is the source of the bundled minified JavaScript?
The minified files we ship are frontend/js/script.min.js , fronte
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati