Everything you need to know about ShieldConsent — from installation to audit-ready compliance.
ad_storage, analytics_storage, ad_user_data, ad_personalization, functionality_storage, personalization_storage, security_storage) to GA4, Google Ads, and Tag Manager. Required since March 2024 for EU ad measurement. Zero configuration needed.window.__tcfapi) and the TC string required by participating vendors.navigator.globalPrivacyControl = true), ShieldConsent automatically enforces an opt-out for marketing and analytics — as required by CCPA §999.315(d) and similar US state privacy laws.[shieldconsent_cookie_policy].fr_FR but you wrote the banner texts in English, French visitors see the English base texts. Fix: write your base texts in French, or change your site language to match.Accept-Language header sent by the browser. If your banner shows in an unexpected language, the issue is in your browser's language settings — not the plugin.Set-Cookie headers from the HTTP response) and client-side Deep Scan (opens the page in a hidden iframe to capture cookies set by JavaScript). Every detected cookie is matched against the Open Cookie Database (2,200+ entries from 350+ platforms) for automatic identification and categorization.wp_footer. It periodically polls document.cookie and batches new cookie names to the server via sendBeacon. Only cookie names and page paths are collected — never values, never visitor identity. The script self-disables when the configured window expires.gtag('config', 'G-...') or gtag('config', 'AW-...') in your theme's header.php (or via an "Insert Headers" plugin) bypass ShieldConsent's blocking entirely. ShieldConsent blocks external scripts loaded with <script src="...">, but it cannot remove inline JavaScript that is already part of the HTML. These tags will set cookies (_ga, _gcl_aw, etc.) before consent, which violates GDPR. Remove them from your header and use one of the two compliant methods described in the next question.GTM-XXXXXX) in ShieldConsent → Protection. ShieldConsent injects GTM only when analytics consent is granted, and sends Consent Mode v2 signals so marketing tags inside GTM are gated automatically. Add your GA4 and Google Ads tags inside GTM with an "All Pages" trigger — GTM handles the consent logic for you.G-XXXXXXX) in ShieldConsent → Protection → GA4 Measurement ID. ShieldConsent will inject the gtag.js script conditionally and block it until consent. For Google Ads, add gtag/js?id=aw- to your Managed Endpoints so ShieldConsent blocks the Ads script until marketing consent is given._ga, _gid, _gat, _fbp, etc.) that may have been set previously. Best-effort cleanup of first-party cookies visible to the domain.strictly_necessary so they're never blocked. The WooCommerce whitelist works automatically in Mode C.DONOTCACHEPAGE, Cache-Control: no-store, and plugin-specific hooks (WP Rocket, LiteSpeed, Kinsta, Cloudflare APO). A runtime geo-fix script corrects the consent mode if a stale cached page is served.wp_shieldconsent_logs). No data is sent to external servers.composer require dompdf/dompdf). Without it, ShieldConsent falls back to HTML — same content, different format. You can also use Print → Save as PDF from any browser.[shieldconsent_manage_consent] (reopen modal button), [shieldconsent_cookies_table] (cookie table), [shieldconsent_consent_proof] (current visitor's consent status), and [shieldconsent_cookie_policy] (full auto-generated cookie policy page).Accept-Language header. If the banner shows in an unexpected language, check your browser's language preferences (Chrome: Settings → Languages; macOS: System Settings → General → Language & Region). Clear your browser cache after making changes. See also: Languages & detection..google.com or .facebook.com) can only be deleted by that domain. ShieldConsent blocks the scripts that create these cookies, preventing them from being set in the first place. If a third-party cookie was set during a previous visit before the plugin was installed, it will persist until the browser clears it or it expires. This limitation applies to all consent management platforms.localStorage or IndexedDB. These are not cleared when a visitor refuses consent. ShieldConsent prevents the scripts from running in the first place (which prevents localStorage writes), but data from a previous session may persist.