Omea Consent · Guides

How to set up Google Consent Mode v2 on WordPress

Set up Google Consent Mode v2 on WordPress with the free Omea Consent plugin: denied defaults before any Google tag, updates on every choice, no code.

Updated · Omea Consent 1.0.2

On this page
  1. Set up Consent Mode v2 step by step
  2. What the plugin does on each page
  3. How banner categories map to Google signals
  4. Advanced or basic?
  5. Using Google Tag Manager?
  6. Region settings
  7. Next step

Google Consent Mode v2 tells Google tags what the visitor agreed to, using four signals: ad_storage, analytics_storage, ad_user_data and ad_personalization. Since March 2024 Google has required the two newer signals for traffic from the European Economic Area – without them, remarketing audiences and conversion measurement in Google Ads stop working for those visitors.

Omea Consent sends Consent Mode v2 on every WordPress page, with no code and no GTM template. New to the topic? Start with What is Google Consent Mode v2?

  1. Install Omea Consent Go to Plugins › Add New Plugin, search for Omea Consent, install and activate it. Consent Mode v2 starts working immediately – there is no switch to turn it on.
  2. Choose advanced or basic mode Open Omea Consent › Settings › Advanced. In the Google Consent Mode v2 card keep Advanced (recommended) or pick Basic, then click Save changes.
  3. Check your categories On the Categories tab, each card shows which Google consent types it controls. Edit the labels and descriptions if you like – the mapping stays the same.
  4. Add your Google tags Keep GA4, Google Ads or GTM where they are, paste them into Omea Consent › Scripts with a category, or – with Omea Consent Pro – enter the tag ID under Integrations.
  5. Remove other Consent Mode code If your theme, GTM container or another plugin also sets gtag('consent', 'default', …), remove it so there is one source of truth.
  6. Test it Open the site in a private window and check the gcs parameter on a Google request: G100 before consent, G111 after Accept all.

What the plugin does on each page

  1. Defaults first. At the very top of <head> – before any Google tag – it sets every consent type to denied:

    gtag('consent', 'default', {
      ad_storage: 'denied',
      ad_user_data: 'denied',
      ad_personalization: 'denied',
      analytics_storage: 'denied',
      functionality_storage: 'denied',
      personalization_storage: 'denied',
      security_storage: 'granted',
      wait_for_update: 500
    });
    

    It also turns on ads_data_redaction.

  2. Returning visitors. A saved choice is applied straight away with gtag('consent', 'update', …) – but only while it is still valid: not older than the validity you set (180 days by default), and given for the current banner texts.

  3. On every choice. The plugin sends an update and pushes an omea_consent_update event to the dataLayer, so GTM triggers can react.

How banner categories map to Google signals

Omea category Google consent types
Necessary security_storage (always granted)
Functional functionality_storage, personalization_storage
Statistics analytics_storage
Marketing ad_storage, ad_user_data, ad_personalization

A visitor who accepts Statistics but not Marketing lets GA4 use cookies, while Google Ads stays in cookieless mode.

Advanced or basic?

Advanced (the default) loads Google tags straight away with consent denied, so they send cookieless pings and Google can model conversions from people who decline. Basic holds Google tags until consent, so nothing reaches Google before a choice. The trade-offs are in Consent Mode advanced vs basic: which should you use?

Using Google Tag Manager?

The defaults are printed before GTM, so every Google tag inside the container reads them. You can also choose whether GTM loads before or after the first choice – see Google Tag Manager consent mode on WordPress.

Region settings

The denied defaults apply to every visitor, wherever they are. Developers who want region-specific defaults can add a region with the omea_consent_google_consent_defaults filter.

Next step

Check that Consent Mode v2 is working – it takes two minutes with your browser’s developer tools.