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

Builds & maintains every product on this site · every post first-hand

Published

Updated

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?

For pure analytics, analytics_storage handling is enough. The ad_* signals only matter once Google advertising products are involved.

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.

All posts · wordpress.org profile

On this page