Consent Mode v2 for WordPress: setup without a tag manager
What Google requires, what it actually checks, and a lean setup that doesn’t need GTM.
d9
Published
The four signals that matter
ad_storage, ad_user_data, ad_personalization and analytics_storage. Defaults must be set to denied before any Google tag loads; updates fire after the visitor decides.
gtag('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied'
});
The order is the whole trick
Defaults before tags, updates after consent, and the tags themselves gated by your blocker anyway. Consent Mode is a signal layer on top of real blocking — it never replaces it.
Do I need Consent Mode if I don’t run Google ads?
Cookie Banner & Content Blocker ships Consent Mode v2 presets.
Defaults, updates and real blocking in one place.
d9
About the author
desk9 is a one-developer WordPress shop. Every article here documents something built, measured or broken first-hand — maintaining a small catalog of plugins and themes across thousands of live sites.