Title: Geenen Cookie Banner for Google Consent Mode v2
Author: Geenen IT-Systeme GmbH
Published: <strong>August 17, 2026</strong>
Last modified: August 17, 2026

---

Search plugins

![](https://ps.w.org/geenen-cookie-banner/assets/banner-772x250.png?rev=3650564)

![](https://ps.w.org/geenen-cookie-banner/assets/icon-256x256.png?rev=3650564)

# Geenen Cookie Banner for Google Consent Mode v2

 By [Geenen IT-Systeme GmbH](https://profiles.wordpress.org/geenenitsysteme/)

[Download](https://downloads.wordpress.org/plugin/geenen-cookie-banner.2.0.2.zip)

 * [Details](https://wordpress.org/plugins/geenen-cookie-banner/#description)
 * [Reviews](https://wordpress.org/plugins/geenen-cookie-banner/#reviews)
 *  [Installation](https://wordpress.org/plugins/geenen-cookie-banner/#installation)
 * [Development](https://wordpress.org/plugins/geenen-cookie-banner/#developers)

 [Support](https://wordpress.org/support/plugin/geenen-cookie-banner/)

## Description

Most consent plugins load Google’s tag on every page view and rely on Consent Mode
signals to keep data collection switched off. This plugin does not have to. In its
default “Basic” mode the tag is not requested at all until the visitor clicks, so
before that decision no connection to googletagmanager.com is made and no data leaves
the browser. That is the conservative reading of the GDPR, and here it is a single
setting rather than a paid tier.

The “Advanced” mode is the other side of that trade: tags load immediately without
cookies and send denied signals, which is what Google’s conversion modeling needs.
Pick one per site.

Everything runs on your own server. There is no external CMP service to sign up 
for, no account, no license key, no phone-home, and no server-side consent log. 
The whole plugin is under 60 KB of vanilla JavaScript and PHP with no build step,
no jQuery and no third-party libraries.

 * Google Consent Mode v2: the default for ad_storage, ad_user_data, ad_personalization
   and analytics_storage is always “denied”.
 * Google Tag Manager support: configure a GTM container ID (GTM-XXXXXXX) in addition
   to, or instead of, GA4/Google Ads.
 * GA4 (G-XXXX) and optional Google Ads (AW-XXXX) configurable by tag ID.
 * Granular categories: visitors can accept all, deny all, or open a details panel
   and choose Statistics (Google Analytics) and Marketing (Google Ads) individually.
   Essential is always active.
 * Equal “Deny” button (GDPR). Withdrawal any time via the shortcode [geencb_settings_link]
   or window.geencbShowBanner().
 * Open the banner from any footer/menu link: point a custom link to #geencb-settings
   or give any element the class geencb-open – no shortcode needed.
 * Optional imprint link shown next to the privacy policy link inside the banner.
 * Automatic theme colors: primary, background and text color can be derived from
   the active block theme palette, or set manually.
 * Themeable via CSS custom properties, so the banner can be restyled from your 
   theme’s Additional CSS without touching plugin files.
 * Cache-safe: the stored decision is read client-side from the cookie, so it works
   behind full-page caches such as WP Super Cache.
 * Accessible: keyboard focus moves to the banner on open, Esc dismisses it, focus
   returns to the previously focused element.

### External services

This plugin can load Google tag scripts and thereby transmit data to Google. Nothing
is loaded and no data is sent until a tag is configured in the settings.

Which scripts are loaded depends on your configuration:

 * Google gtag.js (`https://www.googletagmanager.com/gtag/js`) when a GA4 or Google
   Ads ID is set.
 * Google Tag Manager gtm.js (`https://www.googletagmanager.com/gtm.js`) when a 
   GTM container ID is set.

When the scripts load and what is sent depends on the tag mode:

 * Basic mode (default): the scripts load only after the visitor consents (clicks“
   Accept all” or saves a selection that grants at least one category). Before that,
   no request reaches Google.
 * Advanced mode: the scripts load immediately on page load, without cookies, sending
   Consent Mode v2 signals (all “denied” until consent). This enables Google’s conversion
   modeling.

Data transmitted to Google may include the visitor’s IP address, user agent, the
page URL, and the current consent state, plus any data collected by Google Analytics,
Google Ads or the tags configured in your GTM container. This data is processed 
by Google. See Google’s Privacy Policy (https://policies.google.com/privacy) and
Google Business Data Responsibility (https://business.safety.google/privacy/).

By using this plugin with a Google tag configured you are responsible for disclosing
this data transfer in your own privacy policy.

### Legal notes

This plugin provides the technical consent mechanics only. The site operator remains
responsible for legal compliance, in particular:

 * A complete privacy policy including a section on Google Analytics/Google Ads 
   and the third-country data transfer to the USA (covered by the EU-US Data Privacy
   Framework).
 * Setting the privacy policy link in the settings so it appears directly in the
   banner.
 * Making withdrawal visible and easy: enable the built-in floating revoke button
   or place the shortcode `[geencb_settings_link]`.
 * There is no server-side consent logging (deliberately lean); if you require documented
   proof of consent, you need a full consent management platform (CMP).

This plugin does not constitute legal advice.

## Screenshots

[⌊The consent banner as a bottom bar, with the privacy policy and imprint links.⌉⌊
The consent banner as a bottom bar, with the privacy policy and imprint links.⌉[

The consent banner as a bottom bar, with the privacy policy and imprint links.

[⌊The details panel: statistics and marketing can be granted separately, essential
is always on.⌉⌊The details panel: statistics and marketing can be granted separately,
essential is always on.⌉[

The details panel: statistics and marketing can be granted separately, essential
is always on.

[⌊Settings: Google tag IDs, the Basic/Advanced tag mode and the banner texts.⌉⌊Settings:
Google tag IDs, the Basic/Advanced tag mode and the banner texts.⌉[

Settings: Google tag IDs, the Basic/Advanced tag mode and the banner texts.

## Installation

 1. Upload the `geenen-cookie-banner` folder to `wp-content/plugins/`.
 2. Activate the plugin.
 3. Under Settings -> Consent Banner enter your GA4 Measurement ID (and optionally 
    a Google Ads ID and/or a GTM container ID) and adjust text, colors and position.
 4. Optionally place the shortcode `[geencb_settings_link]`, e.g. in the footer, so
    visitors can withdraw their consent.

## FAQ

### Does the plugin set cookies before consent?

No. Before a click on “Accept all”, “Deny” or “Save selection” no consent-requiring
cookies are set. Consent Mode is “denied” and Google tags respect that. Only the
functionally necessary cookie `geencb_consent` (your own decision) is stored after
the click.

### Is gtag.js or gtm.js loaded before consent?

That depends on the tag mode. In “Basic” mode (default) the scripts load only after
the click on “Accept all” (or a saved selection granting a category) – before consent
not a single request reaches googletagmanager.com. In “Advanced” mode the scripts
load immediately without cookies, but send only denied signals (Consent Mode v2)
until consent is given; this enables Google’s conversion modeling.

### Are any scripts loaded without a tag ID?

No. Without a configured GA4, Google Ads or GTM ID, no scripts are loaded and the
banner is not shown.

### Can I use Google Tag Manager?

Yes. Enter a GTM container ID (GTM-XXXXXXX) in the settings. It loads alongside 
GA4/Google Ads, or on its own. The same Consent Mode v2 defaults apply, because 
GTM shares the dataLayer.

### How do I withdraw my consent?

Use the shortcode `[geencb_settings_link]` or the JavaScript call `window.geencbShowBanner()`
to reopen the banner.

### Can I change the banner design?

Colors and position are settings (Appearance section). Everything else is plain 
CSS: put it in your theme’s Additional CSS panel – Appearance -> Editor -> Styles-
> Additional CSS on block themes, Appearance -> Customize -> Additional CSS on classic
ones – or in a child theme stylesheet. The quickest wins are the CSS custom properties`--
geencb-primary`, `--geencb-bg`, `--geencb-text` and `--geencb-primary-contrast`,
e.g. `:root { --geencb-primary: #e11d48; }`. Scope them to `:root`, not to `#geencb-
banner` – the floating cookie settings button and the `[geencb_settings_link]` button
sit outside the banner and read the same variables. The base styles use `!important`
to survive theme CSS, so overriding those properties needs `!important` too.

### I use a caching plugin with “delay” or “combine” JavaScript. Anything to watch out for?

Exclude the script handle `geencb-consent` from JavaScript delaying, combining and
deferring. It carries the Consent Mode defaults and has to run before any Google
tag on the page; if it is delayed while another plugin’s tag is not, the tag fires
before consent is signalled.

### How do I add a cookie settings link to my footer menu?

Add a custom menu link (Appearance -> Menus -> Custom Links) with the URL `#geencb-
settings` and a label such as “Cookie settings”. The plugin opens the banner when
it is clicked. Alternatively use the shortcode `[geencb_settings_link]`, or give
any element the CSS class `geencb-open`.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Geenen Cookie Banner for Google Consent Mode v2” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Geenen IT-Systeme GmbH ](https://profiles.wordpress.org/geenenitsysteme/)

[Translate “Geenen Cookie Banner for Google Consent Mode v2” into your language.](https://translate.wordpress.org/projects/wp-plugins/geenen-cookie-banner)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/geenen-cookie-banner/),
check out the [SVN repository](https://plugins.svn.wordpress.org/geenen-cookie-banner/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/geenen-cookie-banner/)
by [RSS](https://plugins.trac.wordpress.org/log/geenen-cookie-banner/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.0.2

 * Author is now “Geenen IT-Systeme GmbH” and links to the company site, and the
   plugin list entry carries a plugin website link.

#### 2.0.1

 * German translations are bundled again (`de_DE` and `de_DE_formal`). WordPress
   picks them by the site language under Settings -> General; sites left on English
   stay English.
 * The floating revoke button setting now names the alternatives in its description:
   the shortcode `[geencb_settings_link]`, a link to `#geencb-settings`, or the 
   class `geencb-open`.

#### 2.0.0

 * First release in the WordPress.org plugin directory.
 * Renamed the plugin and its text domain; all internal prefixes, the settings option,
   the shortcode, the consent cookie and the CSS class names changed accordingly.
   Settings from earlier builds are not carried over and have to be entered once.
 * Removed the Custom CSS field. Style the banner from your theme’s Additional CSS
   panel or a child theme stylesheet instead. The CSS custom properties keep their
   meaning but follow the new prefix: `--geencb-primary`, `--geencb-bg`, `--geencb-
   text` and `--geencb-primary-contrast`.
 * The Consent Mode bootstrap and the settings page script are enqueued through 
   the WordPress script loader instead of being printed as inline tags.
 * Dropped the bundled German translations. Translations now come from translate.
   wordpress.org and are unavailable until the plugin is published there, so the
   banner falls back to English until then.

#### 1.8.0

 * Last of the builds handed out directly, before this plugin was submitted to the
   directory. Notes for those earlier versions are not repeated here. They installed
   under a different folder name, so WordPress treats them as a separate plugin:
   deactivate and delete the old copy before installing this one.

## Meta

 *  Version **2.0.2**
 *  Last updated **9 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [consent](https://wordpress.org/plugins/tags/consent/)[cookie](https://wordpress.org/plugins/tags/cookie/)
   [GDPR](https://wordpress.org/plugins/tags/gdpr/)[google consent mode](https://wordpress.org/plugins/tags/google-consent-mode/)
   [gtm](https://wordpress.org/plugins/tags/gtm/)
 *  [Advanced View](https://wordpress.org/plugins/geenen-cookie-banner/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/geenen-cookie-banner/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/geenen-cookie-banner/reviews/)

## Contributors

 *   [ Geenen IT-Systeme GmbH ](https://profiles.wordpress.org/geenenitsysteme/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/geenen-cookie-banner/)