{"id":272351,"date":"2026-04-04T08:50:01","date_gmt":"2026-04-04T08:50:01","guid":{"rendered":"https:\/\/pl.wordpress.org\/plugins\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/"},"modified":"2026-06-20T14:18:18","modified_gmt":"2026-06-20T14:18:18","slug":"cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2","status":"publish","type":"plugin","link":"https:\/\/tw.wordpress.org\/plugins\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/","author":23424275,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.3.7","stable_tag":"3.3.7","tested":"7.0","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"CookieBoxs - GDPR\/CCPA Cookie Consent & Google Consent Mode v2","header_author":"VisionSolutions.pl","header_description":"Free cookie consent plugin with full Google Consent Mode v2. GDPR, CCPA, LGPD compliant. 25+ integrations. Auto Script Blocker. No limits, no cloud.","assets_banners_color":"cde8f4","last_updated":"2026-06-20 14:18:18","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/visionsolutions.pl\/","header_plugin_uri":"https:\/\/cookieboxs.com","header_author_uri":"https:\/\/visionsolutions.pl","rating":4.8,"author_block_rating":0,"active_installs":90,"downloads":669,"num_ratings":4,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.0.14":{"tag":"3.0.14","author":"visionsolutions","date":"2026-05-20 07:54:32"},"3.0.7":{"tag":"3.0.7","author":"visionsolutions","date":"2026-04-04 08:57:04"},"3.3.6":{"tag":"3.3.6","author":"visionsolutions","date":"2026-06-09 10:28:19"},"3.3.7":{"tag":"3.3.7","author":"visionsolutions","date":"2026-06-20 14:18:18"}},"upgrade_notice":{"3.2.0":"<p>Adds PRO features: tamper-proof Consent Records (CSV export, printable certificates, auto-retention), banner A\/B testing (accept rate, winner, lift) and granular per-service consent. Security-hardened consent logging. The free plugin is unchanged.<\/p>","3.1.0":"<p>Adds 29 new languages (40 total), RTL support (Arabic\/Hebrew\/Persian), automatic Polylang\/WPML\/TranslatePress language detection, and WordPress 7.0 compatibility. Recommended for all users, especially multilingual and non-English sites.<\/p>","3.0.14":"<p>Removes the sticky &quot;we disabled features for you&quot; admin notice that 3.0.9 shipped \u2014 the same information is now shown in-context on the Settings \u2192 Blockers card (red warning frame added in 3.0.13). Cleans up the leftover DB flag.<\/p>","3.0.13":"<p>Auto Script Blocker is now clearly marked as risky (red warning frame, &quot;NOT recommended&quot; label, multi-line warning about page builder\/cache conflicts) and is unchecked by default in the setup wizard. Warning text translated into all 11 languages.<\/p>","3.0.12":"<p>Trims overly long Upgrade Notice entries to satisfy the WordPress.org 300-character limit. No code changes.<\/p>","3.0.11":"<p>Security hardening release: every <code>echo<\/code> expression in the admin UI is now wrapped with the appropriate escaping function, and one <code>json_decode()<\/code> call that consumed scraped HTML is preceded by <code>sanitize_text_field()<\/code>. No user-visible changes; no behavior changes.<\/p>","3.0.10":"<p>Fixes silent failure of pasted tracker snippets (Microsoft Clarity, GA, Hotjar) in per-category custom code textareas \u2014 `` wrappers are now stripped before evaluation. Adds missing UI field for Google Ads conversion label.<\/p>","3.0.9":"<p>Critical update. Fixes &quot;empty hero \/ content area&quot; bug on Elementor + LiteSpeed \/ WP Rocket sites by auto-disabling Auto Script Blocker and YouTube\/Vimeo\/Maps embed blockers on upgrade. Cookie banner and integrations keep working. Strongly recommended for page builder users.<\/p>","3.0.8":"<p>Fixes &quot;only the footer renders&quot; \/ blank-page issue with some page builders and cache plugins. Auto script blocker now bails out safely on incompatible caches and defaults to OFF for new installs. All 11 languages now at 100% coverage.<\/p>","3.0.7":"<p>Adds two-phase cookie scanner (server + browser-based detection for GTM-loaded scripts), 55+ known cookie patterns, and optional PRO tools including geo-targeting, templates, analytics, declaration, and branding.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":1,"5":3},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3498650,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3498650,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.0.14","3.0.7","3.3.6","3.3.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3498650,"resolution":"1","location":"assets","locale":"","width":1620,"height":903},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3498650,"resolution":"2","location":"assets","locale":"","width":781,"height":902},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3498650,"resolution":"3","location":"assets","locale":"","width":763,"height":916},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3498650,"resolution":"4","location":"assets","locale":"","width":765,"height":925},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3498650,"resolution":"5","location":"assets","locale":"","width":755,"height":916},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3498650,"resolution":"6","location":"assets","locale":"","width":1382,"height":987},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3498650,"resolution":"7","location":"assets","locale":"","width":1362,"height":976},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3498650,"resolution":"8","location":"assets","locale":"","width":755,"height":891},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3498650,"resolution":"9","location":"assets","locale":"","width":1457,"height":937}},"screenshots":{"1":"Cookie consent banner","2":"Dark theme banner","3":"Settings panel","4":"General settings","5":"Integrations settings","6":"Google Consent Mode v2 settings","7":"Appearance settings","8":"Floating badge","9":"Content blocker placeholder"}},"plugin_section":[262246],"plugin_tags":[166295,20272,16626,131785,234433],"plugin_category":[],"plugin_contributors":[259408],"plugin_business_model":[],"class_list":["post-272351","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-ccpa","plugin_tags-cookie-banner","plugin_tags-cookie-consent","plugin_tags-gdpr","plugin_tags-google-consent-mode","plugin_contributors-visionsolutions","plugin_committers-visionsolutions"],"banners":{"banner":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/banner-772x250.png?rev=3498650","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/icon-256x256.png?rev=3498650","icon_2x":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/icon-256x256.png?rev=3498650","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/screenshot-1.png?rev=3498650","caption":"Cookie consent banner"},{"src":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/screenshot-2.png?rev=3498650","caption":"Dark theme banner"},{"src":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/screenshot-3.png?rev=3498650","caption":"Settings panel"},{"src":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/screenshot-4.png?rev=3498650","caption":"General settings"},{"src":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/screenshot-5.png?rev=3498650","caption":"Integrations settings"},{"src":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/screenshot-6.png?rev=3498650","caption":"Google Consent Mode v2 settings"},{"src":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/screenshot-7.png?rev=3498650","caption":"Appearance settings"},{"src":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/screenshot-8.png?rev=3498650","caption":"Floating badge"},{"src":"https:\/\/ps.w.org\/cookiebox-gdprccpa-cookie-consent-google-consent-mode-v2\/assets\/screenshot-9.png?rev=3498650","caption":"Content blocker placeholder"}],"raw_content":"<!--section=description-->\n<p>CookieBoxs is a cookie consent plugin for WordPress that helps site owners manage visitor consent preferences and configure consent-aware integrations.<\/p>\n\n<p>Free features include:<\/p>\n\n<ul>\n<li>Google Consent Mode v2 support<\/li>\n<li>Automatic script blocker and cookie cleaner<\/li>\n<li>25+ built-in integrations<\/li>\n<li>Content blockers for embedded media and maps<\/li>\n<li>40 interface languages<\/li>\n<li>Region presets<\/li>\n<li>Consent logging in WordPress<\/li>\n<li>Floating settings badge<\/li>\n<li>Self-hosted plugin files<\/li>\n<\/ul>\n\n<p>Optional PRO features include two-phase Cookie Scanner (server + browser-based detection), geo-targeting, additional templates, cookie declaration, consent analytics, tamper-proof consent records with CSV export and printable certificates, A\/B testing of banner variants, granular per-service consent, a live banner design editor, branding options, and custom CSS.<\/p>\n\n<p>Documentation: <a href=\"https:\/\/cookieboxs.com\">cookieboxs.com<\/a><\/p>\n\n<h3>Source Code<\/h3>\n\n<p>All JavaScript and CSS files included in this plugin are human-readable and not minified or compiled. No build tools (npm, webpack, composer) are required to work with this plugin's source code. All plugin-authored JavaScript and CSS is written directly and included as-is.<\/p>\n\n<p>Third-party libraries and embed snippets:<\/p>\n\n<ul>\n<li><p><code>assets\/js\/chart.min.js<\/code> \u2014 Chart.js library (MIT License). Source code and unminified version available at: https:\/\/github.com\/chartjs\/Chart.js<\/p><\/li>\n<li><p><code>assets\/js\/cookieboxs-consent-mode.js<\/code> \u2014 Contains standard third-party integration embed snippets (e.g., Google Tag Manager, Meta Pixel, TikTok Pixel, Microsoft Clarity, Hotjar, LiveChat, Intercom, etc.). These are the official JavaScript snippets provided by each service for website embedding, written in their standard compact form. Each snippet includes a source URL comment pointing to the official documentation. A full list of source URLs is also available in the file header comments. The surrounding plugin logic (consent state management, Google Consent Mode v2 setup, custom script injection) is authored by this plugin and is fully human-readable.<\/p><\/li>\n<\/ul>\n\n<p>Official documentation URLs for all embedded third-party snippets:<\/p>\n\n<ul>\n<li>Google Tag Manager: https:\/\/developers.google.com\/tag-platform\/tag-manager\/web<\/li>\n<li>Meta Pixel: https:\/\/developers.facebook.com\/docs\/meta-pixel\/get-started<\/li>\n<li>TikTok Pixel: https:\/\/ads.tiktok.com\/help\/article\/get-started-pixel<\/li>\n<li>Microsoft Clarity: https:\/\/learn.microsoft.com\/en-us\/clarity\/setup-and-installation\/clarity-setup<\/li>\n<li>Hotjar: https:\/\/help.hotjar.com\/hc\/en-us\/articles\/115011639927<\/li>\n<li>Heap Analytics: https:\/\/developers.heap.io\/docs\/web<\/li>\n<li>Mixpanel: https:\/\/docs.mixpanel.com\/docs\/tracking-methods\/sdks\/javascript<\/li>\n<li>PostHog: https:\/\/posthog.com\/docs\/libraries\/js<\/li>\n<li>LinkedIn Insight Tag: https:\/\/learn.microsoft.com\/en-us\/linkedin\/marketing\/integrations\/ads-reporting\/insight-tag<\/li>\n<li>Pinterest Tag: https:\/\/help.pinterest.com\/en\/business\/article\/install-the-pinterest-tag<\/li>\n<li>Snapchat Pixel: https:\/\/businesshelp.snapchat.com\/s\/article\/snap-pixel-about<\/li>\n<li>Twitter\/X Pixel: https:\/\/business.x.com\/en\/help\/campaign-measurement-and-analytics\/conversion-tracking-for-websites<\/li>\n<li>Microsoft Advertising UET: https:\/\/help.ads.microsoft.com\/apex\/index\/3\/en\/56682<\/li>\n<li>LiveChat: https:\/\/developers.livechat.com\/docs\/getting-started\/installing-livechat<\/li>\n<li>Crisp: https:\/\/docs.crisp.chat\/guides\/chatbox-sdks\/web-sdk\/<\/li>\n<li>Tawk.to: https:\/\/help.tawk.to\/article\/adding-a-tawk-to-widget-to-your-website<\/li>\n<li>Intercom: https:\/\/developers.intercom.com\/installing-intercom\/web\/installation<\/li>\n<li>Yandex Metrica: https:\/\/yandex.com\/support\/metrica\/code\/counter-initialize.html<\/li>\n<li>Matomo: https:\/\/developer.matomo.org\/guides\/tracking-javascript-guide<\/li>\n<\/ul>\n\n<h3>Privacy Policy<\/h3>\n\n<p>CookieBoxs does not send visitor consent records to the plugin author's servers.<\/p>\n\n<p>Consent records are stored in the WordPress database. Optional third-party integrations that you configure, such as analytics, advertising, chat, or embedded media services, connect directly from the visitor's browser to those third-party providers after the relevant consent conditions are met.<\/p>\n\n<p>Admin-only connections used for plugin news, optional deactivation feedback, or optional license validation are described below.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin uses external services only for user-configured integrations. Third-party integrations are optional, disabled by default, and only activated when the site administrator enables and configures them. The plugin does not offload any of its own assets (JavaScript, CSS, images) to external servers \u2014 all plugin files are included locally.<\/p>\n\n<h4>Plugin services<\/h4>\n\n<ul>\n<li><p><strong>VisionSolutions API - plugin news and updates<\/strong>: used in the admin area only; sends plugin version, WordPress version, and site language when an administrator opens the settings page. Provider: VisionSolutions, https:\/\/visionsolutions.pl\nTerms of use: https:\/\/visionsolutions.pl\/regulamin\/\nPrivacy policy: https:\/\/visionsolutions.pl\/polityka-prywatnosci\/<\/p><\/li>\n<li><p><strong>VisionSolutions API - deactivation feedback (optional)<\/strong>: sends selected reason, optional comment, site URL, WordPress version, and PHP version only if an administrator submits feedback during deactivation. Provider: VisionSolutions\nTerms of use: https:\/\/visionsolutions.pl\/regulamin\/\nPrivacy policy: https:\/\/visionsolutions.pl\/polityka-prywatnosci\/<\/p><\/li>\n<li><p><strong>VisionSolutions API - PRO license validation (optional)<\/strong>: sends license key, site domain, and plugin version on activation and periodic validation. Provider: VisionSolutions\nTerms of use: https:\/\/visionsolutions.pl\/regulamin\/\nPrivacy policy: https:\/\/visionsolutions.pl\/polityka-prywatnosci\/<\/p><\/li>\n<li><p><strong>ipapi.co geolocation API (optional, PRO)<\/strong>: used only when geo-targeting is enabled and fallback geolocation is needed; sends visitor IP address. Provider: ipapi\nTerms of use: https:\/\/ipapi.co\/terms\/\nPrivacy policy: https:\/\/ipapi.co\/privacy\/<\/p><\/li>\n<li><p><strong>Cookie Scanner (admin-initiated, PRO)<\/strong>: two-phase scan. Phase 1 (server): sends requests from your server to your own website pages to detect cookies and tracking scripts from HTML. Phase 2 (browser): loads the scanned page in a hidden iframe within the administrator's browser to detect cookies set by JavaScript (e.g. pixels loaded via Google Tag Manager). All scanning happens locally \u2014 no external provider is contacted.<\/p><\/li>\n<\/ul>\n\n<h4>Optional integrations (services)<\/h4>\n\n<p>These are third-party services that the site administrator can optionally enable. When enabled, the plugin loads the official embed snippet provided by each service, which connects the visitor's browser directly to that service provider. These are service integrations, not offloaded plugin assets. Each integration is disabled by default and only activates when the administrator provides their account ID.<\/p>\n\n<ul>\n<li><p><strong>Google Tag Manager<\/strong> - tag management service; may load on page view and use Consent Mode signals. Loaded from: www.googletagmanager.com. Provider: Google LLC.\nTerms of use: https:\/\/marketingplatform.google.com\/about\/analytics\/terms\/us\/\nPrivacy policy: https:\/\/policies.google.com\/privacy<\/p><\/li>\n<li><p><strong>Google Analytics 4<\/strong> - analytics service; loaded from www.googletagmanager.com\/gtag\/js via wp_enqueue_script. Provider: Google LLC.\nTerms of use: https:\/\/marketingplatform.google.com\/about\/analytics\/terms\/us\/\nPrivacy policy: https:\/\/policies.google.com\/privacy<\/p><\/li>\n<li><p><strong>Google Ads<\/strong> - conversion tracking and remarketing service; loaded from www.googletagmanager.com\/gtag\/js via wp_enqueue_script. Provider: Google LLC.\nTerms of use: https:\/\/ads.google.com\/intl\/en\/home\/terms\/\nPrivacy policy: https:\/\/policies.google.com\/privacy<\/p><\/li>\n<li><p><strong>Meta Pixel<\/strong> - advertising measurement service; loaded from connect.facebook.net. Provider: Meta Platforms, Inc.\nTerms of use: https:\/\/www.facebook.com\/legal\/terms\nPrivacy policy: https:\/\/www.facebook.com\/privacy\/policy\/<\/p><\/li>\n<li><p><strong>TikTok Pixel<\/strong> - advertising measurement service; loaded from analytics.tiktok.com. Provider: TikTok Inc. \/ ByteDance Ltd.\nTerms of use: https:\/\/ads.tiktok.com\/i18n\/official\/policy\/business-products-terms\nPrivacy policy: https:\/\/www.tiktok.com\/legal\/privacy-policy<\/p><\/li>\n<li><p><strong>Microsoft Clarity<\/strong> - session analytics and heatmaps service; loaded from www.clarity.ms. Provider: Microsoft Corporation.\nTerms of use: https:\/\/clarity.microsoft.com\/terms\nPrivacy policy: https:\/\/privacy.microsoft.com\/en-us\/privacystatement<\/p><\/li>\n<li><p><strong>Hotjar<\/strong> - heatmaps, recordings, and feedback service; loaded from static.hotjar.com. Provider: Hotjar Ltd.\nTerms of use: https:\/\/www.hotjar.com\/legal\/policies\/terms-of-service\/\nPrivacy policy: https:\/\/www.hotjar.com\/legal\/policies\/privacy\/<\/p><\/li>\n<li><p><strong>Matomo<\/strong> - analytics service; loaded from the site administrator's configured Matomo instance URL. Provider: InnoCraft Ltd. or the site owner's Matomo host.\nTerms of use: https:\/\/matomo.org\/matomo-cloud-terms-of-service\/\nPrivacy policy: https:\/\/matomo.org\/matomo-cloud-privacy-policy\/<\/p><\/li>\n<li><p><strong>Yandex Metrica<\/strong> - analytics service; loaded from mc.yandex.ru. Provider: Yandex LLC.\nTerms of use: https:\/\/yandex.com\/legal\/metrica_termsofuse\/\nPrivacy policy: https:\/\/yandex.com\/legal\/confidential\/<\/p><\/li>\n<li><p><strong>Heap Analytics<\/strong> - analytics service; loaded from cdn.heapanalytics.com. Provider: Heap Inc.\nTerms of use: https:\/\/heap.io\/legal\/heap-terms-of-service\nPrivacy policy: https:\/\/heap.io\/legal\/privacy<\/p><\/li>\n<li><p><strong>Mixpanel<\/strong> - analytics service; loaded from cdn.mxpnl.com. Provider: Mixpanel, Inc.\nTerms of use: https:\/\/mixpanel.com\/legal\/terms-of-use\/\nPrivacy policy: https:\/\/mixpanel.com\/legal\/privacy-policy\/<\/p><\/li>\n<li><p><strong>PostHog<\/strong> - analytics and feature flags service; loaded from the site administrator's configured PostHog host. Provider: PostHog, Inc.\nTerms of use: https:\/\/posthog.com\/terms\nPrivacy policy: https:\/\/posthog.com\/privacy<\/p><\/li>\n<li><p><strong>LinkedIn Insight Tag<\/strong> - advertising measurement service; loaded from snap.licdn.com. Provider: LinkedIn Corporation.\nTerms of use: https:\/\/www.linkedin.com\/legal\/l\/li-marketing-terms\nPrivacy policy: https:\/\/www.linkedin.com\/legal\/privacy-policy<\/p><\/li>\n<li><p><strong>Pinterest Tag<\/strong> - advertising measurement service; loaded from s.pinimg.com. Provider: Pinterest, Inc.\nTerms of use: https:\/\/policy.pinterest.com\/en\/terms-of-service\nPrivacy policy: https:\/\/policy.pinterest.com\/en\/privacy-policy<\/p><\/li>\n<li><p><strong>Snapchat Pixel<\/strong> - advertising measurement service; loaded from sc-static.net. Provider: Snap Inc.\nTerms of use: https:\/\/snap.com\/en-US\/terms\nPrivacy policy: https:\/\/snap.com\/en-US\/privacy\/privacy-policy<\/p><\/li>\n<li><p><strong>Twitter\/X Pixel<\/strong> - advertising measurement service; loaded from static.ads-twitter.com. Provider: X Corp.\nTerms of use: https:\/\/twitter.com\/en\/tos\nPrivacy policy: https:\/\/twitter.com\/en\/privacy<\/p><\/li>\n<li><p><strong>Microsoft Advertising UET<\/strong> - conversion tracking service; loaded from bat.bing.com. Provider: Microsoft Corporation.\nTerms of use: https:\/\/about.ads.microsoft.com\/en-us\/policies\/legal\nPrivacy policy: https:\/\/privacy.microsoft.com\/en-us\/privacystatement<\/p><\/li>\n<li><p><strong>Intercom<\/strong> - customer messaging service; loaded from widget.intercom.io and api-iam.intercom.io. Provider: Intercom, Inc.\nTerms of use: https:\/\/www.intercom.com\/legal\/terms-and-policies\nPrivacy policy: https:\/\/www.intercom.com\/legal\/privacy<\/p><\/li>\n<li><p><strong>LiveChat<\/strong> - support chat service; loaded from cdn.livechatinc.com. Provider: LiveChat, Inc.\nTerms of use: https:\/\/www.livechat.com\/legal\/terms-of-service\/\nPrivacy policy: https:\/\/www.livechat.com\/legal\/privacy-policy\/<\/p><\/li>\n<li><p><strong>Crisp<\/strong> - customer messaging and chat service; loaded from client.crisp.chat. Provider: Crisp IM SAS.\nTerms of use: https:\/\/crisp.chat\/en\/terms\/\nPrivacy policy: https:\/\/crisp.chat\/en\/privacy\/<\/p><\/li>\n<li><p><strong>Tawk.to<\/strong> - support chat service; loaded from embed.tawk.to. Provider: Tawk.to Ltd.\nTerms of use: https:\/\/www.tawk.to\/legal\/terms-of-service\/\nPrivacy policy: https:\/\/www.tawk.to\/legal\/privacy-policy\/<\/p><\/li>\n<\/ul>\n\n<h4>Script blocker safe domains<\/h4>\n\n<p>The automatic script blocker does not block scripts from essential service domains (payment gateways, CAPTCHAs, translation). These domains are whitelisted so the script blocker does not interfere with site-critical functionality provided by other plugins or themes. The CookieBoxs plugin itself does not load any files from these domains \u2014 they are only whitelisted to prevent breakage:<\/p>\n\n<ul>\n<li><p><strong>Stripe<\/strong> - payment processing service; loaded by other plugins from js.stripe.com and checkout.stripe.com. Provider: Stripe, Inc.\nTerms of use: https:\/\/stripe.com\/legal\/ssa\nPrivacy policy: https:\/\/stripe.com\/privacy<\/p><\/li>\n<li><p><strong>PayPal<\/strong> - payment processing service; loaded by other plugins from www.paypal.com and www.paypalobjects.com. Provider: PayPal Holdings, Inc.\nTerms of use: https:\/\/www.paypal.com\/us\/legalhub\/useragreement-full\nPrivacy policy: https:\/\/www.paypal.com\/us\/legalhub\/privacy-full<\/p><\/li>\n<li><p><strong>Google reCAPTCHA<\/strong> - spam protection service; loaded by other plugins from recaptcha.net. Provider: Google LLC.\nTerms of use: https:\/\/policies.google.com\/terms\nPrivacy policy: https:\/\/policies.google.com\/privacy<\/p><\/li>\n<li><p><strong>hCaptcha<\/strong> - spam protection service; loaded by other plugins from js.hcaptcha.com. Provider: Intuition Machines, Inc.\nTerms of use: https:\/\/www.hcaptcha.com\/terms\nPrivacy policy: https:\/\/www.hcaptcha.com\/privacy<\/p><\/li>\n<li><p><strong>Cloudflare Turnstile<\/strong> - bot protection service; loaded by other plugins from challenges.cloudflare.com. Provider: Cloudflare, Inc.\nTerms of use: https:\/\/www.cloudflare.com\/terms\/\nPrivacy policy: https:\/\/www.cloudflare.com\/privacypolicy\/<\/p><\/li>\n<li><p><strong>Google Translate<\/strong> - translation service widget; loaded by other plugins from translate.google.com and translate.googleapis.com. Provider: Google LLC.\nTerms of use: https:\/\/policies.google.com\/terms\nPrivacy policy: https:\/\/policies.google.com\/privacy<\/p><\/li>\n<\/ul>\n\n<h4>Content blockers<\/h4>\n\n<p>Content blockers are an optional feature that replaces embedded third-party media (YouTube, Vimeo, Google Maps) with a placeholder until the visitor grants consent. When consent is given, the embed loads normally from the service provider.<\/p>\n\n<ul>\n<li><p><strong>YouTube<\/strong> - video embeds can be blocked until consent; loaded from www.youtube.com and www.youtube-nocookie.com. Provider: Google LLC.\nTerms of use: https:\/\/www.youtube.com\/t\/terms\nPrivacy policy: https:\/\/policies.google.com\/privacy<\/p><\/li>\n<li><p><strong>Vimeo<\/strong> - video embeds can be blocked until consent; loaded from player.vimeo.com and vimeo.com. Provider: Vimeo, Inc.\nTerms of use: https:\/\/vimeo.com\/terms\nPrivacy policy: https:\/\/vimeo.com\/privacy<\/p><\/li>\n<li><p><strong>Google Maps<\/strong> - map embeds can be blocked until consent; loaded from www.google.com\/maps and maps.googleapis.com. Provider: Google LLC.\nTerms of use: https:\/\/cloud.google.com\/maps-platform\/terms\nPrivacy policy: https:\/\/policies.google.com\/privacy<\/p><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>cookieboxs<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin in WordPress.<\/li>\n<li>Go to Settings -&gt; CookieBoxs.<\/li>\n<li>Choose your language and region preset.<\/li>\n<li>Configure the integrations you want to use.<\/li>\n<li>Save your settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20include%20google%20consent%20mode%20v2%3F\"><h3>Does it include Google Consent Mode v2?<\/h3><\/dt>\n<dd><p>Yes.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20guarantee%20legal%20compliance%3F\"><h3>Does the plugin guarantee legal compliance?<\/h3><\/dt>\n<dd><p>No. CookieBoxs is a technical tool that can help with consent management and privacy-related configuration. Site owners remain responsible for reviewing their legal obligations, policies, and third-party services.<\/p><\/dd>\n<dt id=\"does%20it%20block%20scripts%20before%20consent%3F\"><h3>Does it block scripts before consent?<\/h3><\/dt>\n<dd><p>The plugin includes an automatic script blocker and cookie cleaner. Built-in integrations are designed to load according to their assigned consent category. Google Tag Manager may load earlier and rely on Consent Mode signals, depending on configuration.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20banner%20text%3F\"><h3>Can I customize the banner text?<\/h3><\/dt>\n<dd><p>Yes. Banner text, category labels, and descriptions can be customized in the plugin settings.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20custom%20scripts%3F\"><h3>How do I add custom scripts?<\/h3><\/dt>\n<dd><p>Go to Settings -&gt; CookieBoxs -&gt; Custom Scripts and assign the script to a consent category.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20caching%20plugins%20and%20page%20builders%3F\"><h3>Is it compatible with caching plugins and page builders?<\/h3><\/dt>\n<dd><p>CookieBoxs is designed to work with common caching plugins and standard WordPress themes and builders.<\/p><\/dd>\n<dt id=\"does%20it%20support%20multisite%3F\"><h3>Does it support multisite?<\/h3><\/dt>\n<dd><p>Yes.<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20a%20link%20to%20reopen%20cookie%20settings%3F\"><h3>How do I show a link to reopen cookie settings?<\/h3><\/dt>\n<dd><p>Use the shortcode <code>[cookieboxs_settings]<\/code> or enable the floating badge.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.3.7<\/h4>\n\n<ul>\n<li>Fixed (critical): enabling Google Maps under Blocking could blank the entire page content on posts\/pages that ran through the_content. An unescaped slash in the \"google.com\/maps\" match pattern broke the regex, so the content filter returned nothing. The pattern is now escaped correctly and the filter can never return empty content (it falls back to the original content if anything goes wrong).<\/li>\n<li>Fixed: the floating badge icon selector now actually works \u2014 Cookie, Gear, Shield, Lock and Fingerprint each render their own crisp icon, and the icon size is now protected against theme CSS that previously distorted it.<\/li>\n<li>Added (PRO): upload your own badge icon \u2014 paste custom SVG markup under Badge settings to replace the built-in icon. Sanitized through a strict allowlist (no scripts, event handlers or external references).<\/li>\n<li>Added (PRO): a <code>cookieboxs_banner_template<\/code> filter so developers can ship a fully custom banner template (your own markup\/classes, styled freely from your stylesheet). The path is validated and safely falls back to the bundled template.<\/li>\n<li>Added (PRO): \"Minimal CSS mode\" toggle (Design tab) \u2014 one switch for developer styling. When ON it applies your Custom CSS and strips the banner's built-in cosmetic !important (colors, borders, radius, shadow, spacing, fonts) so your CSS fully controls the look without swapping the template. When OFF the banner uses only its built-in design and the Custom CSS is ignored (clean revert). Positioning, stacking and visibility always stay protected. The live design preview reflects your Custom CSS in real time while this mode is on.<\/li>\n<li>Added (PRO): a built-in CSS selector cheat-sheet under the Custom CSS box (Design tab), so you can style the banner without opening the browser console.<\/li>\n<li>Fixed: the corner branding \/ white-label logo no longer overlaps the title text in some layouts \u2014 it now floats so the text wraps cleanly around it, and a wide company logo is scaled to fit (aspect ratio preserved).<\/li>\n<\/ul>\n\n<h4>3.3.6<\/h4>\n\n<ul>\n<li>Compliance: renamed the design editor's internal JavaScript globals to the cookieboxs- prefix (guideline: unique prefixes), sanitized the logging-toggle AJAX input, fully prepared all consent-record queries via the %i identifier placeholder (with explicit phpcs annotations), and escaped a banner output value at the point of output. No functional changes.<\/li>\n<li>Added (PRO): full banner design editor parity \u2014 one-click style presets (incl. a full-width bottom \"bar\", dark and sidebar layouts), a 3x3 position grid plus full-width Top\/Bottom bar buttons, a width slider, screen backdrop (none\/dim\/blur), and segmented controls for font, shadow, spacing, buttons and animation. Two-column layout with a sticky live preview and an in-panel \"Save changes\" button.<\/li>\n<li>Improved (PRO): the live preview now reproduces the frontend 1:1 (real template CSS), so the shadow and corner-radius controls are reflected immediately; \"Match my site\" normalizes the detected color and confirms when applied.<\/li>\n<li>Fixed (PRO): the frontend now honors the custom background and text colors from the design editor \/ presets (e.g. the Dark preset renders a dark banner), with light\/dark UI accents derived from the background.<\/li>\n<li>Fixed (PRO): the Sidebar layout is now a true full-height panel on desktop.<\/li>\n<li>Improved (PRO): A\/B testing \u2014 Variant B can now also override the banner description (text A\/B), and you can preview a specific variant on any page with ?cb_ab=A or ?cb_ab=B.<\/li>\n<li>Improved: clicking the floating settings badge now re-opens the preferences panel with the visitor's current choices, instead of clearing consent and reloading.<\/li>\n<li>Added: a one-time review request notice after ~30 days; other plugins' admin notices are hidden on the CookieBoxs settings screen to keep it clean.<\/li>\n<li>Added: consent-logging can be toggled directly from the Analytics tab (instant save), and the cookie scanner checklist now has tooltips and fix links.<\/li>\n<li>Security: custom-script fields are now editable only by users with the unfiltered_html capability \u2014 non-privileged saves (e.g. Multisite site admins) can no longer inject executable JavaScript that runs for visitors.<\/li>\n<li>Hardening: consent-record queries are fully prepared via the %i identifier placeholder, the logging-toggle AJAX input is sanitized, and a banner output value is escaped at the point of output.<\/li>\n<\/ul>\n\n<h4>3.2.0<\/h4>\n\n<ul>\n<li>Added (PRO): Consent Records \u2014 a tamper-proof proof-of-consent log. Each consent stores a unique token, the chosen categories, the banner and policy version it was given against, a hashed IP, country, language and timestamp. Browse with date\/method filters, export to CSV (with formula-injection protection), and open a printable consent certificate for any record. A configurable retention period deletes old records automatically (GDPR storage limitation), and records can be deleted individually or in bulk.<\/li>\n<li>Added (PRO): A\/B testing of the cookie banner. Visitors are split 50\/50 (sticky per visitor) between Variant A (your live banner) and Variant B (an override of the title, accept-button text and accept-button color). The variant is recorded with each consent and the dashboard shows the accept-all rate per variant, the winner and the relative lift \u2014 so you can optimise opt-in rates with real data.<\/li>\n<li>Added (PRO): banner design editor. A dedicated Design tab with a real-time live preview and an \"Appearance &amp; Buttons\" panel \u2014 choose a font (system\/geometric\/serif\/rounded\/mono\/condensed, no Google CDN), shadow depth, spacing, button style (filled\/outline\/soft\/pill), reject-button style (outline\/ghost\/link), button size, layout (row\/stacked\/full width), corner radius, uppercase, accept-button text color, and an entrance animation (fade\/slide\/scale, honoring prefers-reduced-motion). A one-click \"Match my site\" pulls a brand color from your theme (theme.json palette or Customizer). Every default reproduces the previous look exactly, so existing sites are unchanged until you edit something.<\/li>\n<li>Added (PRO): granular per-service consent. With it on, the \"Customize\" modal lists each configured integration with its own toggle under its category, so visitors can allow some services and deny others within the same category (e.g. allow Google Analytics but deny Hotjar). A category master toggle still selects\/clears all of its services at once. Gating is client-side, so it stays compatible with page caching, and old consent cookies keep working (category-level decision applies until the visitor updates their choice).<\/li>\n<li>Improved: automatic language detection (free). A fresh install now picks the banner language from your WordPress site language (Settings -&gt; General) instead of a fixed default, and on a single-language site (no Polylang\/WPML\/TranslatePress) the banner follows the WordPress site language automatically \u2014 e.g. a German WordPress shows a German banner out of the box. The \"Auto-detect language\" toggle on the General tab is now always available, so you can switch back to a fixed language at any time. Any banner wording you customized is always preserved.<\/li>\n<li>Security: the consent-logging endpoint is rate-limited per hashed IP; the banner\/policy version, consent token and A\/B variant are all stamped server-side (never trusted from the client); the method, language and A\/B variant are whitelisted; and the source URL is verified against your own site host.<\/li>\n<li>Note: Consent Records, A\/B testing and granular per-service consent are PRO features. Automatic language detection is free.<\/li>\n<\/ul>\n\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>Added: 29 new interface languages, bringing the total to 40. New languages: Turkish, Russian, Japanese, Chinese (Simplified), Danish, Finnish, Norwegian, Greek, Romanian, Hungarian, Slovak, Slovenian, Bulgarian, Croatian, Estonian, Latvian, Lithuanian, Irish, Indonesian, Arabic, Korean, Hebrew, Maltese, Vietnamese, Thai, Hindi, Persian (Farsi), Malay, Serbian. CookieBoxs now ships complete translations (392 strings each) for all 24 official EU languages plus major global languages (Asia, Middle East) \u2014 no cloud, no external translation service, all bundled locally.<\/li>\n<li>Added: right-to-left (RTL) layout support. When the banner language is Arabic, Hebrew or Persian, the banner and settings modal automatically render with dir=\"rtl\".<\/li>\n<li>Added: multilingual compatibility. When Polylang, WPML, TranslatePress or qTranslate-XT is active, the banner automatically follows the language of the page each visitor is viewing (e.g. \/fr\/ shows the French banner, \/de\/ the German one). The fixed language in settings becomes the fallback. A toggle on the General tab lets you turn auto-detection off, and a <code>cookieboxs_current_language<\/code> filter is available for custom setups.<\/li>\n<li>Tested: full compatibility with WordPress 7.0.<\/li>\n<li>Note: translations for smaller languages (Maltese, Irish, Baltic) are a best effort \u2014 community corrections are welcome via the support forum.<\/li>\n<\/ul>\n\n<h4>3.0.14<\/h4>\n\n<ul>\n<li>Removed: noisy \"we disabled features for you\" admin notice that 3.0.9 shipped after the auto-migration of <code>script_blocker<\/code> \/ <code>block_youtube<\/code> \/ <code>block_vimeo<\/code> \/ <code>block_maps<\/code>. The notice was sticky on every admin screen until dismissed, which became annoying. Settings \u2192 Blockers now carries a red warning card (added in 3.0.13) that explains the same information in-context, so the global banner is no longer needed.<\/li>\n<li>Cleanup: the <code>cookieboxs_show_3_0_9_migration_notice<\/code> option is now deleted on upgrade so leftover flags from previous installs don't accumulate. Removed <code>show_3_0_9_migration_notice()<\/code> and <code>maybe_dismiss_migration_notice()<\/code> methods together with their hooks (<code>admin_notices<\/code>, <code>admin_init<\/code> for dismiss).<\/li>\n<\/ul>\n\n<h4>3.0.13<\/h4>\n\n<ul>\n<li>UX: redesigned the Automatic Script Blocker card in Settings \u2192 Blockers and in the setup wizard. The card now has a red warning frame instead of the previous indigo \"recommended\" frame, the toggle label reads \"NOT recommended\" in red, and a prominent multi-line warning explains that the feature can prevent parts of the page from rendering (especially with page builders like Elementor or caching plugins like LiteSpeed\/WP Rocket) and that it must be tested on staging before enabling in production.<\/li>\n<li>Defaults: the wizard checkbox is now unchecked by default, the wizard form handler stores <code>script_blocker = false<\/code> for fresh installs, and the wizard summary screen no longer mis-reports the off state as a problem (it now shows \"\u2717 Off (recommended)\" in neutral grey).<\/li>\n<li>Translated: 2 new translation keys (<code>sb_warning<\/code>, <code>sb_not_recommended<\/code>) added to all 11 language files. The warning is fully localised in English, Polish, German, French, Spanish, Italian, Dutch, Czech, Portuguese, Swedish and Ukrainian.<\/li>\n<\/ul>\n\n<h4>3.0.12<\/h4>\n\n<ul>\n<li>Fixed: Plugin Check warning <code>upgrade_notice_limit<\/code> \u2014 the Upgrade Notice entries for 3.0.8, 3.0.9 and 3.0.10 exceeded the 300-character limit set by WordPress.org. The text has been trimmed without losing the essential information.<\/li>\n<\/ul>\n\n<h4>3.0.11<\/h4>\n\n<ul>\n<li>Hardening: wrapped 7 ternary-string <code>echo<\/code> expressions in <code>templates\/admin.php<\/code> with <code>esc_attr()<\/code> or <code>esc_html()<\/code> even though they return hardcoded literal CSS classes \/ glyphs. Defends against future code changes that might accidentally let user data flow into those expressions, and satisfies the strict \"escape every echo\" rule enforced by WordPress.org Plugin Check.<\/li>\n<li>Hardening: when the cookie scanner extracts a <code>cookieboxsIntegrations = {...}<\/code> JSON fragment from the homepage HTML (the homepage is fetched server-side via <code>wp_remote_get()<\/code>), the fragment is now passed through <code>sanitize_text_field()<\/code> before <code>json_decode()<\/code>. The output is still gated by an <code>is_array()<\/code> check and only scalar keys are read, but the extra sanitization makes the defensive intent explicit.<\/li>\n<\/ul>\n\n<h4>3.0.10<\/h4>\n\n<ul>\n<li>Fixed: per-category custom code textareas (Necessary \/ Functional \/ Analytics \/ Marketing) silently dropped any snippet that included the surrounding <code>&lt;script&gt;<\/code> tags. Site owners who copied the full official snippet from the provider's documentation (e.g. Microsoft Clarity, Google Analytics, Hotjar, Tawk.to) would see no error but the tracker would never run, because the JavaScript body was passed to <code>new Function()<\/code> together with literal <code>&lt;script&gt;<\/code> text which causes a SyntaxError. The plugin now strips the wrappers (and legacy HTML comment \/ CDATA markers) before evaluation, so BOTH formats \u2014 pure JS body OR full <code>&lt;script&gt;\u2026&lt;\/script&gt;<\/code> snippet \u2014 work.<\/li>\n<li>Added: Google Ads \"Conversion label\" input field under the Google Ads ID input on the Integrations tab. The <code>int_gads_label<\/code> option had been stored and passed to the frontend conversion event since earlier releases but there was no UI to set it. Translated label placeholder added to all 11 language files.<\/li>\n<li>Improved: custom-code textarea placeholders now show concrete copy-paste examples (Microsoft Clarity snippet on the Analytics card) and the category headings on the custom-scripts tab are properly translated instead of being hardcoded in Polish.<\/li>\n<\/ul>\n\n<h4>3.0.9<\/h4>\n\n<ul>\n<li>Fixed: Auto Script Blocker and the YouTube\/Vimeo\/Google Maps embed blockers were reported to break page rendering on sites that combine Elementor (4.x) with LiteSpeed Web Server \/ WP Rocket \/ other complex caching setups. The visible symptom was an empty hero \/ content area while the header and footer rendered normally.<\/li>\n<li>Migration: when a site updates from 3.0.7 or 3.0.8 to 3.0.9, the four problem options (<code>script_blocker<\/code>, <code>block_youtube<\/code>, <code>block_vimeo<\/code>, <code>block_maps<\/code>) are force-disabled. The cookie banner, Google Consent Mode v2, integrations and consent logging keep working as before. A one-time dismissible admin notice (translated to all 11 languages) explains the change and links to Settings where the options can be re-enabled after testing on staging.<\/li>\n<li>Added: <code>cookieboxs_db_version<\/code> option to track the last-migrated plugin version so future migrations run exactly once per upgrade, even when WordPress updates the plugin in place without firing <code>register_activation_hook<\/code>.<\/li>\n<li>Translated: 3 new translation keys (<code>migration_3_0_9_notice<\/code>, <code>migration_3_0_9_button_settings<\/code>, <code>migration_3_0_9_button_dismiss<\/code>) added to all 11 language files (389 keys total per file).<\/li>\n<\/ul>\n\n<h4>3.0.8<\/h4>\n\n<ul>\n<li>Fixed: site rendering as \"footer only\" or blank after activation when a page builder or full-page cache plugin was active. The automatic script blocker now records its output buffer level and verifies stack alignment on shutdown, so it never closes a buffer that belongs to another plugin or theme.<\/li>\n<li>Fixed: structural bug in 9 language files (cs, de, es, fr, it, nl, pt, sv, uk) \u2014 five wizard keys (wiz_gcm_enable, wiz_gcm_info, wiz_recommended, wiz_sb_enable, wiz_sb_info) were stored at top level but read from admin.* by the plugin, so existing translations were silently ignored. Keys moved to admin.* in all affected files.<\/li>\n<li>Translated: filled all missing translations in 8 language files \u2014 fr (83), es (119), it (119), nl (130), cs (135), pt (135), sv (135), uk (135). All 11 languages now ship at 100% coverage. Brand and industry-standard names (Google Maps, Google Consent Mode v2, White Label, Marketing, Retargeting, Powered by CookieBoxs) are preserved as-is.<\/li>\n<li>Fixed: 46 hardcoded Polish strings in PHP and JavaScript files (cookieboxs.php, templates\/admin.php, templates\/banner.php, templates\/news.php, assets\/js\/cookieboxs-admin.js) were appearing regardless of the user's language selection. Replaced with translation keys read from the language JSON files. 70 cookie scanner descriptions normalised to English (industry standard, matching Cookiepedia\/Termly conventions).<\/li>\n<li>Translated: 26 new translation keys added to all 11 language files (386 keys total per file). Covers license activation messages, badge appearance options, scanner UI, GCM notices, news widget and Pixel-plugin detection notice.<\/li>\n<li>Improved: cookie scanner now detects Facebook\/Meta Pixel installations made through dedicated manager plugins (PixelYourSite Free\/Pro, Pixel Manager for WooCommerce, Official Facebook Pixel, Meta for WooCommerce, Pixel Cat, Pixel Caffeine, WP Pixel Manager, Webby Pixel Master). When one of these plugins is active, _fbp, _fbc and fr cookies are added to the detected list \u2014 even if the Pixel snippet is loaded indirectly (via GTM or after consent) and would not appear in the HTML-only scan. Applies to both the free and PRO scanners.<\/li>\n<li>Added: post-scan notice that lists detected Pixel manager plugins so site owners know which plugin is responsible for the marketing cookies.<\/li>\n<li>Fixed: script blocker was corrupting its own <code>data-cookieboxs-src<\/code> attribute. The regex that strips the original <code>src=<\/code> from a blocked script tag also matched <code>src=<\/code> inside the freshly injected <code>data-cookieboxs-src=<\/code> attribute (because the hyphen counts as a word boundary in PCRE), leaving a truncated <code>data-cookieboxs-<\/code> and no URL. The result was that blocked third-party scripts (jsBarcode for WooCommerce product barcodes, TrustIndex review widget, etc.) could never be restored after the visitor accepted cookies \u2014 leading to \"the page is missing parts\" reports. Operations are now reordered: strip the original <code>src=<\/code> first, then inject the new attributes.<\/li>\n<li>Improved: cookie blocker now recognises common UI \/ functional JavaScript libraries served from generic CDNs (jsBarcode, QRCode, Swiper, Owl Carousel, Slick, jQuery, Lodash, Popper, Moment, lazysizes, Flickity, AOS, Lightbox\/Fancybox, Leaflet, Chart.js, etc.) and routes them to the <code>functional<\/code> consent category instead of the default <code>marketing<\/code> bucket. Visitors who decline marketing cookies will keep seeing product barcodes, sliders and other display features.<\/li>\n<li>Added: <code>cookieboxs_default_unknown_category<\/code> filter so site owners can change the fallback category for unknown external scripts (default remains <code>marketing<\/code> for GDPR safety).<\/li>\n<li>Added: automatic detection of incompatible output-filtering plugins (WP Rocket, W3 Total Cache, LiteSpeed Cache, WP Super Cache, Autoptimize, Hummingbird, WP-Optimize, Cache Enabler, Breeze, SG Optimizer, Powered Cache, FlyingPress, NitroPack, Perfmatters). When one of these is active, the automatic script blocker is skipped and consent is enforced through the standard category gating instead.<\/li>\n<li>Added: <code>cookieboxs_disable_script_blocker<\/code> filter so site owners and other plugins can opt out of the automatic blocker per request.<\/li>\n<li>Changed: automatic script blocker now defaults to OFF for new installs and for upgrades from versions that did not have the option. Existing users keep their current setting.<\/li>\n<\/ul>\n\n<h4>3.0.7<\/h4>\n\n<ul>\n<li>Added two-phase Cookie Scanner: server-side HTML detection + browser-based JavaScript cookie detection via hidden iframe.<\/li>\n<li>Browser scan detects cookies set by GTM-loaded scripts (Meta Pixel, TikTok Pixel, etc.) that server-side scanning cannot see.<\/li>\n<li>Expanded cookie detection patterns: 55+ known cookies from 30+ providers.<\/li>\n<li>Added PRO tools including geo-targeting, additional templates, declaration, analytics, branding controls, and custom CSS.<\/li>\n<li>Improved PRO settings UI.<\/li>\n<li>Bundled Chart.js locally for PRO analytics.<\/li>\n<li>Fixed settings-saving issues across PRO sub-tabs.<\/li>\n<li>Improved WordPress coding standards compliance.<\/li>\n<\/ul>\n\n<h4>3.0.6<\/h4>\n\n<ul>\n<li>Added automatic script blocker and cookie cleaner.<\/li>\n<li>Added optional PRO licensing, analytics, and export tools.<\/li>\n<li>Removed non-functional placeholder integrations from the admin UI.<\/li>\n<\/ul>\n\n<h4>3.0.5<\/h4>\n\n<ul>\n<li>Rebranded the plugin from CookieBox to CookieBoxs.<\/li>\n<li>Updated plugin naming, URLs, and internal handles.<\/li>\n<\/ul>","raw_excerpt":"Cookie consent plugin for managing visitor consent with Google Consent Mode v2, script blocking, content blockers, and optional integrations.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/272351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=272351"}],"author":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/visionsolutions"}],"wp:attachment":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=272351"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=272351"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=272351"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=272351"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=272351"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=272351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}