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%
SKT Cookie Consent
SKT Cookie Consent is a lightweight, 100% self-hosted WordPress cookie consent plugin built to help your website comply with global privacy laws including GDPR (EU), CCPA / CPRA (California), LGPD (Brazil), and the ePrivacy Directive. No third-party SaaS account, no monthly fees, and no consent caps – all data stays on your own server. Whether you run a blog, business site, WooCommerce store, or multilingual website, the plugin lets you display a customizable cookie banner, block third-party scripts before consent, log proof of consent, and manage cookie declarations from one clean admin dashboard. Documentation: SKT Cookie Consent – Documentation Key features Banner designer – Banner, Popup, or Widget mode with multiple positions, full color, typography, and button controls. Mobile-responsive. Privacy law presets – GDPR, CCPA / CPRA, LGPD, or combined GDPR + CCPA mode with automatic banner text adjustments. Geo-targeting – Show the banner only in regions where it is required (Worldwide, EU + UK, US only, or custom country list) with cached IP lookups. Real script blocker – Blocks 22+ tracking scripts (GA4, GTM, Meta Pixel, Hotjar, YouTube, Vimeo, Google Maps, X, LinkedIn, Instagram, Pinterest, HubSpot, reCAPTCHA, AdSense, Matomo, Tawk.to, SlideShare, SoundCloud, ShareThis, AddToAny, and more) BEFORE consent is given. Cookie categories – Necessary, Marketing, Analytics, Preferences, Unclassified. Fully editable. Cookie declaration list – Document each cookie’s name, provider, duration, category, storage type, and purpose. Displayed in the “Manage Preferences” view. Consent log – Searchable record of every consent decision with anonymized IP (last octet removed), country, date, status, and proof-of-consent string. Indexed for performance. Dashboard insights – Total consents, acceptance rate, rejection rate, and activity charts. Developer friendly – Translation-ready (.pot included), WPML / Polylang / TranslatePress / Loco compatible, no jQuery on the frontend, works with WP Rocket / W3 Total Cache / LiteSpeed, and major page builders (Elementor, Divi, Gutenberg). Compliance disclaimer: This plugin provides the technical tools to help you meet GDPR, CCPA / CPRA, LGPD, and ePrivacy requirements. Installing it alone does NOT make your website automatically compliant – you are responsible for configuring it correctly, classifying your cookies accurately, and reviewing legal language with your own counsel. External services This plugin may connect to the following third-party services. These services are only loaded if explicitly enabled by the site administrator and/or after the visitor provides consent via the cookie banner. No data is sent to these services without user consent, except where strictly required for functionality (for example, IP-based geolocation used to determine whether the cookie banner should be displayed). ipapi.co (IP geolocation) This plugin connects to an external API to determine the visitor’s country based on their IP address. This is required to support geo-targeting rules (for example, displaying the cookie banner only in specific regions such as the EU or UK). It sends the visitor’s IP address to the ipapi.co service only when geo-targeting is enabled and the visitor’s country has not already been resolved. This request is performed server-side. The result is cached locally on the site (as a WordPress transient) for up to 24 hours per IP address to minimize repeated external requests. This service is provided by “ipapi.co”: terms of use, privacy policy. Instagram embeds This plugin connects to Instagram to load post embeds, it is needed to display Instagram posts that the admin has embedded on the site. It sends data as transmitted by the Instagram embed script itself (typically including IP address, user agent, and referring URL) only after consent to the matching category. This service is provided by “Meta Platforms, Inc.”: terms of use, privacy policy. Pinterest widget This plugin connects to Pinterest to load share / save widgets, it is needed to display Pinterest save and share buttons on the site. It sends data as transmitted by the Pinterest widget itself (typically including IP address, user agent, and referring URL) only after consent to the matching category. This service is provided by “Pinterest, Inc.”: terms of use, privacy policy. Tawk.to live chat This plugin connects to Tawk.to to load the live-chat widget, it is needed to display the live-chat box so visitors can chat with the site operators. It sends data as transmitted by the Tawk.to widget itself (typically including IP address, user agent, page URL, and any chat messages the visitor sends) only after consent to the matching category AND the admin has entered a Tawk.to ID. This service is provided by “tawk.to ltd.”: terms of use, privacy policy. HubSpot tracking This plugin connects to HubSpot to load the analytics / tracking script, it is needed to power HubSpot analytics and CRM tracking for the site administrator. It sends data as transmitted by the HubSpot tracking script itself (such as page URL, referrer, IP address, device/browser information, and visitor interaction events) only after consent to the matching category AND the admin has entered a HubSpot account ID. This service is provided by “HubSpot, Inc.”: terms of use, privacy policy. Google reCAPTCHA This plugin connects to Google’s bot-detection service, it is needed to protect forms on the site from spam and abuse. It sends standard reCAPTCHA telemetry (such as IP address, user agent, mouse and keyboard interaction signals, and a hardware/software identifier) only after consent to the matching category AND the admin has enabled reCAPTCHA blocking. This service is provided by “Google LLC”: terms of use, privacy policy. Google AdSense This plugin connects to Google’s ad-serving service, it is needed to display AdSense ads on the site. It sends standard AdSense telemetry (such as page URL, referrer, IP address, user agent, and ad interaction events) only after the visitor consents to the “Marketing” category AND the admin has enabled the corresponding script blocker. This service is provided by “Google LLC”: terms of use, privacy policy. Google Publisher Tag (GPT) This plugin connects to Google’s ad-management service, it is needed to deliver ads through Google Ad Manager on the site. It sends standard GPT telemetry (such as page URL, referrer, IP address, user agent, and ad interaction events) only after the visitor consents to the “Marketing” category AND the admin has enabled the corresponding script blocker. This service is provided by “Google LLC”: terms of use, privacy policy. Matomo analytics (self-hosted or cloud) This plugin connects to a Matomo analytics endpoint, it is needed to collect website analytics through the open-source Matomo platform configured by the site administrator. It sends standard Matomo telemetry (such as page URL, referrer, IP address, user agent, screen resolution, and visitor interaction events) only after consent to the “Analytics” category AND the admin has entered a Matomo URL and Site ID. This service is provided by “InnoCraft Ltd. (Matomo)”: terms of use, privacy policy. SlideShare embeds This plugin connects to SlideShare to load presentation embeds, it is needed to display SlideShare presentations that the admin has embedded on the site. It sends data as transmitted by the embedded SlideShare player itself (typically including IP address, user agent, and referring URL) only after consent to the matching category. This service is provided by “Scribd, Inc.”: terms of use, privacy policy. SoundCloud embeds This plugin connects to SoundCloud to load audio player embeds, it is needed to display SoundCloud tracks and playlists that the admin has embedded on the site. It sends data as transmitted by the embedded SoundCloud player itself (typically including IP address, user agent, and referring URL) only after consent to the matching category. This service is provided by “SoundCloud Global Limited & Co. KG”: terms of use, privacy policy. ShareThis widget This plugin connects to ShareThis to load the social sharing widget, it is needed to display ShareThis share buttons on the site. It sends data as transmitted by the ShareThis widget itself (typically including IP address, user agent, referring URL, and share interaction events) only after consent to the matching category AND the admin has entered a ShareThis Property ID. This service is provided by “ShareThis, Inc.”: terms of use, privacy policy. AddToAny This plugin connects to AddToAny to load the social sharing widget, it is needed to display AddToAny share buttons on the site. It sends data as transmitted by the AddToAny widget itself (typically including IP address, user agent, and referring URL) only after consent to the matching category. This service is provided by “AddToAny LLC”: terms of use, privacy policy. Google Maps This plugin connects to Google Maps to load embedded maps, it is needed to display maps that the admin has embedded on the site. It sends data as transmitted by the embedded Google Maps iframe itself (typically including IP address, user agent, and referring URL) only after consent to the matching category. This service is provided by “Google LLC”: terms of use, privacy policy. Bundled third-party library (no network calls) This plugin also bundles the open-source library “Chart.js” (version 4.5.1, MIT License, https://www.chartjs.org/) inside ‘assets/js/chart.umd.js’. It is loaded only on the plugin’s admin dashboard screen to render local charts of your own consent log. It does not call out to any external server. The library’s full license text is included in ‘THIRD-PARTY-LICENSES.txt’ shipped with the plugin.