
Plugin backend display a preview for the banner and the customize popin.
410Gone Consent Manager for Google Consent Mode and GTM is a lightweight CMP with a cookie banner, customization modal, and Google Consent Mode v2 + Google Tag Manager compatibility. It includes desktop/mobile previews in the admin, design and label settings, and multilingual support (Polylang, WPML, or via filter).
You can find the documentation in french for the plugin here : Official website for the consent managemet wordpress plugin(FR)
<head> in every mode so returning visitors are measured at load.[cmp410gone_manage_cookies] to display a “Manage my cookies” link.cmp410gone_translate_setting filter for other multilingual plugins.GTM-XXXXXXX) and the GA4 measurement ID (e.g. G-XXXXXXXXXX).wait_for_update (ms) and whether to initialise the dataLayer.ads_data_redaction=true, url_passthrough=false.cmp410gone_banner_title, cmp410gone_btn_accept, etc.).cmp410gone_translate_setting filter to provide custom translations.wp_head, wp_footer).[cmp410gone_manage_cookies label="Manage my cookies"] displays a management link.The banner exposes three opt-in categories mapped to the seven Google Consent Mode v2 signals:
analytics_storage.ad_storage, ad_user_data, ad_personalization.personalization_storage, functionality_storage.security_storage is granted; every other signal defaults to denied until a choice is made.Consent Mode only governs Google tags. For any non-Google pixel (Meta, Taboola, LinkedIn, Clarity, Hotjar…) you MUST prevent the tag from loading until consent is given — a “decorative” Consent Mode condition does not block anything. Apply this on every site using the CMP:
cmp410gone_consent_update (see below). Do NOT trigger tags on ga4_after_consent (deprecated alias, kept for backward compatibility only).cmp410gone_analytics (measurement, incl. session recording tools attached to analytics),cmp410gone_retargeting,cmp410gone_session (session recording / heatmaps).ad_storage + ad_personalization for retargeting) and its trigger adds an exception when the matching boolean is false.Canonical event payload:
js
dataLayer.push({
event: 'cmp410gone_consent_update',
cmp410gone_analytics: true|false,
cmp410gone_retargeting: true|false,
cmp410gone_session: true|false,
cmp410gone_consent_changed: true|false // true only when the choice was just made by the user
});
cmp410gone_consent_changed is `true` only when the update comes from a user action (accept/reject/save), and `false` on the init replay for a returning visitor. Combined with `cmp410gone_analytics`, it lets GTM re-send a GA4 `page_view` for the current page the instant a **new** visitor accepts (so the landing shows in GA4 real time without a refresh), without double-counting returning visitors.<h3>GTM container export</h3>The Tracking tab has a **Download GTM container** button that generates a mergeable container from your settings: a GA4 configuration tag on *All Pages* (consent `NOT_SET` in advanced mode, otherwise requiring `analytics_storage`), a Conversion Linker (url_passthrough off), the canonical `cmp410gone_consent_update` trigger, dataLayer variables and “granted” triggers for the enabled categories, a GA4 `page_view (post-consent)` tag (basic mode), and a paused example for non-Google pixels. No site-specific pixel is included — the integrator adds them from the example. In advanced mode the GA4 config already emits a cookieless page_view at load, so the post-consent page_view tag should be removed to avoid double-counting.<h3>Consent proof (server-side log)</h3>Every choice is logged server-side in a dedicated table (`{prefix}cmp410gone_consent_log`) to satisfy the CNIL/GDPR requirement to *demonstrate* consent. Stored data: timestamp, purposes version, and the choice — **no directly identifying data** (IP and User-Agent are only kept as salted SHA-256 hashes). View and export entries under *Settings → 🍪 Consent log*. Entries older than 3 years are pruned automatically. The table is kept on uninstall (proof retention) unless `CMP410GONE_DELETE_LOG_ON_UNINSTALL` is defined to `true`.<h3>External services</h3>This plugin can load Google Tag Manager when you provide a GTM Container ID in the settings.
cmp.js/410gone-consent-manager from “Delay JavaScript execution”, then clear cache.More information: https://www.410-gone.fr/blog/plugin-cmp-wordpress-gratuit-consent-mode-v2-gtm.html