{"id":329219,"date":"2026-06-28T04:47:16","date_gmt":"2026-06-28T04:47:16","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/eu-cookie-consent-suite\/"},"modified":"2026-06-28T04:46:53","modified_gmt":"2026-06-28T04:46:53","slug":"privaro-cookie-consent-banner","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/privaro-cookie-consent-banner\/","author":18495891,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.3","stable_tag":"1.3.3","tested":"7.0","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"Privaro Cookie Consent Banner","header_author":"Evgenii Sasim","header_description":"EU\/GDPR cookie consent with CookieConsent UI, script blocking, scanner, and WP Consent API.","assets_banners_color":"003399","last_updated":"2026-06-28 04:46:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/profiles.wordpress.org\/evgenij347\/","header_author_uri":"https:\/\/www.instagram.com\/evgenii.sasim\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":23,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.3":{"tag":"1.3.3","author":"evgenij347","date":"2026-06-28 04:46:53"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3588448,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3588448,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3588448,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3588448,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3588448,"resolution":"1","location":"assets","locale":"","width":1280,"height":720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3588448,"resolution":"2","location":"assets","locale":"","width":1280,"height":720},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3588448,"resolution":"3","location":"assets","locale":"","width":1280,"height":720},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3588448,"resolution":"4","location":"assets","locale":"","width":1280,"height":720}},"screenshots":{"1":"The customizable cookie consent banner.","2":"Cookie inventory management in the admin dashboard.","3":"Consent logging for audit and compliance.","4":"Comprehensive integration settings including Google Consent Mode v2."}},"plugin_section":[],"plugin_tags":[16626,389,395,131785,396],"plugin_category":[54],"plugin_contributors":[269169],"plugin_business_model":[],"class_list":["post-329219","plugin","type-plugin","status-publish","hentry","plugin_tags-cookie-consent","plugin_tags-cookies","plugin_tags-eu","plugin_tags-gdpr","plugin_tags-privacy","plugin_category-security-and-spam-protection","plugin_contributors-evgenij347","plugin_committers-evgenij347"],"banners":{"banner":"https:\/\/ps.w.org\/privaro-cookie-consent-banner\/assets\/banner-772x250.png?rev=3588448","banner_2x":"https:\/\/ps.w.org\/privaro-cookie-consent-banner\/assets\/banner-1544x500.png?rev=3588448","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/privaro-cookie-consent-banner\/assets\/icon-128x128.png?rev=3588448","icon_2x":"https:\/\/ps.w.org\/privaro-cookie-consent-banner\/assets\/icon-256x256.png?rev=3588448","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/privaro-cookie-consent-banner\/assets\/screenshot-1.png?rev=3588448","caption":"The customizable cookie consent banner."},{"src":"https:\/\/ps.w.org\/privaro-cookie-consent-banner\/assets\/screenshot-2.png?rev=3588448","caption":"Cookie inventory management in the admin dashboard."},{"src":"https:\/\/ps.w.org\/privaro-cookie-consent-banner\/assets\/screenshot-3.png?rev=3588448","caption":"Consent logging for audit and compliance."},{"src":"https:\/\/ps.w.org\/privaro-cookie-consent-banner\/assets\/screenshot-4.png?rev=3588448","caption":"Comprehensive integration settings including Google Consent Mode v2."}],"raw_content":"<!--section=description-->\n<p>Privaro Cookie Consent Banner is a comprehensive solution for managing cookie consent on your WordPress site, designed for compliance with GDPR, ePrivacy, and other privacy regulations. It features a modern, accessible banner powered by vanilla-cookieconsent v3, automatic script blocking, and a built-in cookie scanner.<\/p>\n\n<p>Key features include:\n* <strong>Customizable Cookie Banner:<\/strong> Fully responsive UI with light\/dark modes and multiple layouts.\n* <strong>Consent Categories:<\/strong> Necessary, Preferences, Statistics, Marketing, plus optional custom categories.\n* <strong>Automatic Script Blocking:<\/strong> Blocks third-party scripts (GA, Pixel, etc.) and iframes (YouTube, Vimeo, Google Maps) until consent is granted.\n* <strong>Google Consent Mode v2:<\/strong> Native support for GCM v2, including integration with Google Site Kit.\n* <strong>WP Consent API Support:<\/strong> Fully compatible with the WordPress Consent API.\n* <strong>Cookie Scanner &amp; Inventory:<\/strong> Automatically discover cookies used on your site and maintain a categorized inventory.\n* <strong>Multilingual Support:<\/strong> Ready for translation and supports Polylang\/WPML.\n* <strong>Multisite Support:<\/strong> Network-wide default settings with per-site inherit or override.\n* <strong>Consent Logging:<\/strong> Optional local logging of consent events for audit purposes.<\/p>\n\n<h4>Privacy &amp; Data Collection<\/h4>\n\n<p>By default, the plugin does not collect or transmit any personal data to third-party servers. If the \"Consent Logging\" feature is enabled in settings, the plugin stores anonymized records of consent decisions in your local database. These records include a random UUID, the selected categories, the page URL, and (optional) an anonymized IP hash. This data is used solely for compliance accountability and is not shared with any third parties.<\/p>\n\n<h3>Credits<\/h3>\n\n<p>This plugin bundles vanilla-cookieconsent v3 (MIT). See the plugin source headers and bundled assets for license details.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin <strong>does not<\/strong> load third-party scripts by itself. It blocks or allows scripts that <strong>your theme or other plugins<\/strong> add to the page, based on the visitor's consent.<\/p>\n\n<p>When a visitor grants consent, the following <strong>may<\/strong> be loaded by your site configuration (not by this plugin directly):<\/p>\n\n<p><strong>Google Tag Manager \/ Google Analytics (Google LLC)<\/strong>\nUsed when your site enqueues gtag or GTM after statistics consent.\nData sent: page URL, browser data, and analytics events as configured on your site.\nTerms: https:\/\/policies.google.com\/terms\nPrivacy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p><strong>Google Fonts (Google LLC)<\/strong>\nUsed when your theme loads fonts from fonts.googleapis.com after marketing consent.\nData sent: IP address and browser user-agent to Google font servers.\nTerms: https:\/\/policies.google.com\/terms\nPrivacy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p><strong>Facebook Pixel (Meta Platforms, Inc.)<\/strong>\nUsed when your site loads connect.facebook.net after marketing consent.\nData sent: browsing events as configured in your Pixel setup.\nTerms: https:\/\/www.facebook.com\/legal\/terms\nPrivacy: https:\/\/www.facebook.com\/privacy\/policy<\/p>\n\n<p><strong>YouTube \/ Vimeo \/ Google Maps embeds<\/strong>\nUsed when marketing consent enables blocked iframes.\nData sent: per the embed provider when the iframe loads.\nYouTube terms: https:\/\/www.youtube.com\/t\/terms \u2014 privacy: https:\/\/policies.google.com\/privacy\nVimeo terms: https:\/\/vimeo.com\/terms \u2014 privacy: https:\/\/vimeo.com\/privacy<\/p>\n\n<p>The built-in cookie scanner fetches your own site URLs via WordPress HTTP API to detect cookies; no off-site scanner service is used.<\/p>\n\n<p>Script blocking patterns in <code>ScriptRegistry<\/code> match known third-party domains; the plugin does not fetch those URLs until consent is granted.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>privaro-cookie-consent-banner<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Navigate to 'Privaro Cookie Consent Banner' in the WordPress admin to configure your banner and settings.<\/li>\n<li>Run the Cookie Scanner to populate your cookie inventory.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20enable%20google%20consent%20mode%20v2%3F\"><h3>How do I enable Google Consent Mode v2?<\/h3><\/dt>\n<dd><p>Go to the 'Integrations' tab in the plugin settings and ensure 'Google Consent Mode v2' is enabled. The plugin will automatically inject the necessary default consent states.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20block%20youtube%20videos%3F\"><h3>Does this plugin block YouTube videos?<\/h3><\/dt>\n<dd><p>Yes, the plugin includes an Iframe Processor that automatically replaces YouTube, Vimeo, and Google Maps iframes with a placeholder until the user grants 'Marketing' consent.<\/p><\/dd>\n<dt id=\"where%20is%20the%20consent%20log%20stored%3F\"><h3>Where is the consent log stored?<\/h3><\/dt>\n<dd><p>The consent log is stored entirely within your WordPress database in a custom table (<code>wp_wpeu_consent_log<\/code>). No data is sent to external servers. You can manage the retention period in the settings.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20banner%20colors%3F\"><h3>Can I customize banner colors?<\/h3><\/dt>\n<dd><p>Yes. Use the Primary Color picker on the Banner settings tab. Light and dark themes are supported.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>WordPress.org review fixes: safer output buffering, sanitized preview settings, validated consent JSON cookie.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>WordPress.org review fixes: local-only blocking patterns, no silent plugin deactivation, escaped shortcode\/iframe output, explicit output buffer close.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fix multisite inherit toggle so subsites can disable network defaults.<\/li>\n<li>Limit read-only inherited UI to Banner and Integrations; keep Scanner, Cookies, and Consent Log editable.<\/li>\n<li>Network Admin overview tab, network language\/category management, and per-site consent logging while inheriting.<\/li>\n<li>Fix missing consent revision bump handler on Tools tab.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Consent log snapshots v2: banner texts, policy URLs\/intro, category labels, UI settings, and SHA-256 content_hash for accountability.<\/li>\n<li>Snapshot download JSON includes log record plus proof_snapshot bundle.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Fix Consent Log list table not rendering rows reliably (explicit WP_List_Table columns and admin screen binding).<\/li>\n<li>Keep Consent Log tab interactive when site inherits multisite network defaults.<\/li>\n<li>Horizontal scroll for wide consent log table in admin.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Restore full plugin name in Network Admin menu (Privaro Cookie Consent Banner).<\/li>\n<li>JSON export uses effective settings (respects multisite network inherit).<\/li>\n<li>Accept legacy export files from wp-eu-cookie-suite \/ eu-cookie-consent-suite slugs.<\/li>\n<li>Remove network default settings on uninstall from the main site.<\/li>\n<li>Documentation and dev docs aligned with Privaro Cookie Consent Banner branding.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fix fatal error on activation when a stale <code>vendor\/autoload.php<\/code> exists from a previous install; always register the includes autoloader.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>WordPress Multisite: network default settings and per-site inherit\/override toggle.<\/li>\n<li>SettingsRepository resolves effective settings for frontend and consent flows.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Prevent fatal error when legacy cookie plugins are still active during migration.<\/li>\n<li>Guard helper functions with function_exists for safe coexistence during upgrades.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fix banner not reappearing after revoke when reload on revoke is disabled.<\/li>\n<li>Add PHPUnit tests for scanner AJAX, consent log AJAX, admin sanitize, and uninstall.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fix CI PHPCS docblock on deprecated Banner method.<\/li>\n<li>Align admin menu title with plugin name.<\/li>\n<li>Update admin preview PHPUnit after custom CSS removal.<\/li>\n<li>Remove obsolete custom-category limit notice.<\/li>\n<li>Clear IP hash secret on uninstall when data is removed.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Rename to Privaro Cookie Consent Banner (distinctive slug for WordPress.org).<\/li>\n<li>Remove custom CSS field and raw analytics injection; use primary color and ACF filter only.<\/li>\n<li>Remove artificial cap on custom consent categories.<\/li>\n<li>Use site-specific secret for optional consent log IP hashing (not AUTH_SALT).<\/li>\n<li>Move inline scripts\/styles to wp_enqueue \/ wp_add_inline_script API.<\/li>\n<li>Fix namespace order fatal error on activation.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix ConsentLogger.php namespace order missed in 1.0.1.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix fatal error on activation (ABSPATH guard must come after namespace).<\/li>\n<li>Fix CookieConsent v3 callbacks (onConsent\/onChange via cc.run config).<\/li>\n<li>Defer consent UUID and sync cookies until valid user choice.<\/li>\n<li>Harden Google resource blocking before consent.<\/li>\n<li>BREAKING: plugin folder\/file\/text domain renamed to privaro-cookie-consent-banner \u2014 see BREAKING_CHANGES.md in the GitHub repo.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release on WordPress.org.<\/li>\n<li>Features: CookieConsent v3 UI, script blocking, cookie scanner, WP Consent API, Google Consent Mode v2.<\/li>\n<\/ul>","raw_excerpt":"GDPR and EU cookie consent banner with script blocking, cookie scanner, and Google Consent Mode v2.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/329219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=329219"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/evgenij347"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=329219"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=329219"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=329219"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=329219"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=329219"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=329219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}