Title: Intensified Consent Banner
Author: intensifiedperceptions
Published: <strong>August 14, 2026</strong>
Last modified: August 14, 2026

---

Search plugins

![](https://ps.w.org/intensified-consent-banner/assets/banner-772x250.png?rev=3647217)

![](https://ps.w.org/intensified-consent-banner/assets/icon.svg?rev=3647217)

# Intensified Consent Banner

 By [intensifiedperceptions](https://profiles.wordpress.org/intensifiedperceptions/)

[Download](https://downloads.wordpress.org/plugin/intensified-consent-banner.1.3.1.zip)

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

 [Support](https://wordpress.org/support/plugin/intensified-consent-banner/)

## Description

**[Try the live playground](https://intensifiedperceptions.com/zbc-demo.html)** —
pick colours, mode and position, watch the real banner change, then copy the values
into your settings.

Intensified Consent Banner is a cookie consent banner for people who want to know
and control what their website loads. You map each tracking script to a consent 
category yourself, and nothing in that category runs until the visitor agrees.

**How it is built**

 * **Vanilla JavaScript only** — no jQuery, no framework, a few KB in total
 * **No frontend database queries** — consent state lives in the visitor’s browser(
   cookie plus a localStorage mirror), so static and server-side caching stay fully
   intact
 * **No external requests** — every asset is served from your own site
 * **No custom database tables** — a single WordPress option, cleanly removed on
   uninstall
 * **Links your privacy policy automatically** — it uses the page you already marked
   under Settings  Privacy

**Features**

 * Three consent categories: Necessary, Statistics, Marketing — with equal-weight
   Accept and Reject buttons, so refusing is as easy as agreeing
 * Script blocking by WordPress script handle, per category, for both external and
   inline scripts
 * Iframe blocking for YouTube, Vimeo and Google Maps, replaced by a placeholder
   that loads nothing until the visitor consents — extendable with your own domains
 * Cookie deletion on consent withdrawal, using the name prefixes you configure 
   per category
 * Reopen control as shortcode `[zbconsent_settings]` and as a block, so consent
   can be withdrawn as easily as it was given
 * Light, Dark and Auto appearance with fully customisable colour palettes and six
   banner positions
 * Consent validity configurable from 1 to 365 days
 * Fully internationalised; translations are provided through translate.wordpress.
   org, and custom banner texts integrate with WPML String Translation

**What this plugin does not do**

Being clear about the limits matters more than a long feature list:

 * **No automatic cookie scanner.** You tell the plugin which script handles to 
   block and which cookie names to delete. The bundled guide shows you how to find
   both in your browser; no coding is required.
 * **Cookie deletion is first-party only.** On withdrawal the plugin deletes cookies
   you listed, on your own domain. It cannot remove a third party’s cookies from
   a third party’s domain, and JavaScript cannot touch `HttpOnly` cookies at all.
   Blocking a script before it runs is the part that actually prevents cookies from
   being set; deletion is cleanup.
 * **No consent logs and no dashboard.** Nothing is written to your database on 
   the frontend, which is what keeps your page cache working. If you need a stored
   audit trail for a regulator, this plugin does not provide one.

Note: This plugin provides the technical tools for consent management. It does not
constitute legal advice, and legal compliance depends on your specific configuration
and jurisdiction.

### External services

This plugin does not send any data to external services on its own. It exists to
prevent third-party content from loading before the visitor agrees to it.

However, the embed blocker replaces iframes from the following providers with a 
local placeholder, and restores the original iframe **only after the visitor clicks“
Load content” or consents to the matching category**. At that point the visitor’s
browser contacts the provider directly, exactly as it would without this plugin 
installed, and the provider receives the visitor’s IP address, user agent and referring
page.

The providers recognised out of the box are:

 * **YouTube** (`youtube.com`, `youtube-nocookie.com`, `youtu.be`) — used to display
   embedded videos. Terms: https://www.youtube.com/t/terms — Privacy policy: https://
   policies.google.com/privacy
 * **Vimeo** (`player.vimeo.com`) — used to display embedded videos. Terms: https://
   vimeo.com/terms — Privacy policy: https://vimeo.com/privacy
 * **Google Maps** (`google.com/maps`, `maps.googleapis.com`) — used to display 
   embedded maps. Terms: https://policies.google.com/terms — Privacy policy: https://
   policies.google.com/privacy

These embeds only appear on your site if you have added them to your own content.
The plugin never adds them, and it never contacts these providers by itself; it 
only restores an embed you already placed, once consent allows it. You can add further
domains to be blocked the same way under Settings  Cookie Consent.

## Screenshots

[⌊The consent banner with the category selection open, a link to your privacy policy,
and equal-weight buttons — rejecting is exactly as easy as accepting⌉⌊The consent
banner with the category selection open, a link to your privacy policy, and equal-
weight buttons — rejecting is exactly as easy as accepting⌉[

The consent banner with the category selection open, a link to your privacy policy,
and equal-weight buttons — rejecting is exactly as easy as accepting

[⌊The settings page: banner text, privacy policy link, appearance, and script blocking—
plus cookie deletion and embed providers further down, all on a single screen⌉⌊The
settings page: banner text, privacy policy link, appearance, and script blocking—
plus cookie deletion and embed providers further down, all on a single screen⌉[

The settings page: banner text, privacy policy link, appearance, and script blocking—
plus cookie deletion and embed providers further down, all on a single screen

[⌊YouTube and Google Maps embeds held back until the visitor consents, each replaced
by a placeholder that names the provider the data would go to⌉⌊YouTube and Google
Maps embeds held back until the visitor consents, each replaced by a placeholder
that names the provider the data would go to⌉[

YouTube and Google Maps embeds held back until the visitor consents, each replaced
by a placeholder that names the provider the data would go to

[⌊Dark mode: the banner and both embed placeholders follow the same custom palette⌉⌊
Dark mode: the banner and both embed placeholders follow the same custom palette⌉[

Dark mode: the banner and both embed placeholders follow the same custom palette

## Blocks

This plugin provides 1 block.

 *   Cookie settings

## Installation

 1. Upload the plugin ZIP via Plugins  Add New  Upload Plugin and activate it.
 2. Go to Settings  Cookie Consent and map your tracking scripts (e.g. Matomo, Google
    Analytics) to a consent category.
 3. Add the reopen control to your footer or privacy page: shortcode `[zbconsent_settings]`
    or the “Cookie settings” block.
 4. Optional: configure cookie deletion prefixes, embed categories, colors, and position.

The bundled README.md and docs/ folder contain a detailed, beginner-friendly guide
for every setting.

## FAQ

### Does the plugin automatically detect tracking scripts and cookies?

No — deliberately. You map script handles and cookie prefixes yourself, and the 
bundled guide shows exactly how to find them in your browser (no coding needed).
A scanner would have to run on every page load and guess at anything it has not 
seen before, and its results would still need manual review to be reliable.

### Does it block YouTube and Google Maps embeds?

Yes, automatically. Known embeds (YouTube, Vimeo, Google Maps) are replaced with
a neutral placeholder until the visitor consents — no data is sent beforehand, not
even for a video thumbnail. You can add any other provider via a URL fragment.

### Can it delete third-party cookies?

Only first-party cookies (set under your own domain) can be deleted client-side —
that is a browser limitation, not a plugin limitation. HttpOnly cookies and cookies
set on foreign domains are out of reach for every consent plugin, whatever its marketing
says.

### Does it work with caching plugins and server-side caching?

Yes — that is a core design goal. The frontend runs zero database queries; consent
state lives entirely in the visitor’s browser. Pages remain fully cacheable (Nginx,
Varnish, static exports).

### Is it multilingual? Does it work with WPML?

The banner is fully internationalised and follows your site language automatically.
Translations are provided through translate.wordpress.org, where anyone can contribute,
and WordPress installs them for your locale on its own. You can also supply your
own: translate `languages/intensified-consent-banner.pot` with Poedit or Loco Translate
and save the result as `wp-content/languages/plugins/intensified-consent-banner-{
locale}.mo`, which survives plugin updates. Custom banner texts integrate with WPML
String Translation.

### How do I link my privacy policy in the banner?

You probably do not have to do anything. If you marked a page as your privacy policy
under **Settings  Privacy**, the banner links it automatically. To point somewhere
else, type a URL into the “Privacy policy link” field. To suppress the link in code,
use the `zbc_privacy_url` filter and return an empty string.

### Can I add or correct a translation?

Yes, and it survives plugin updates. Build a `.po` from `languages/intensified-consent-
banner.pot`, compile it to `.mo`, and drop it into `wp-content/languages/plugins/`
as `intensified-consent-banner-{locale}.mo`. WordPress loads that file in preference
to the one shipped with the plugin.

### Is this plugin GDPR compliant?

The plugin provides the technical requirements commonly expected for consent management:
equal-weight accept/reject, granular categories, no pre-checked boxes, blocking 
before consent, and easy withdrawal. Actual compliance depends on your configuration,
your privacy policy, and your jurisdiction — this plugin is a tool, not legal advice.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Intensified Consent Banner” is open source software. The following people have 
contributed to this plugin.

Contributors

 *   [ intensifiedperceptions ](https://profiles.wordpress.org/intensifiedperceptions/)

[Translate “Intensified Consent Banner” into your language.](https://translate.wordpress.org/projects/wp-plugins/intensified-consent-banner)

### Interested in development?

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

## Changelog

#### 1.3.1

 * Removed the deprecated `[zbc_settings]` shortcode alias and the pre-1.2 option
   migration; every registered name now carries the plugin prefix

#### 1.3.0

 * Renamed to Intensified Consent Banner. The text domain and the plugin folder 
   changed with it; your settings, your saved consent cookies and any `[zbconsent_settings]`
   shortcodes are unaffected

#### 1.2.0

 * All internal names now use the longer `zbconsent` prefix (classes, constants,
   option key, script handles, JS globals). Existing settings are migrated automatically
   on first load
 * Reopen shortcode is now `[zbconsent_settings]`
 * Inline CSS and admin JavaScript are emitted through `wp_add_inline_style()` and`
   wp_add_inline_script()` instead of raw tags
 * The reopen button no longer uses an inline `onclick` handler, so it works under
   a strict Content Security Policy
 * Translations are now provided through translate.wordpress.org; bundled .po/.mo
   files were removed
 * readme: documented the external embed providers (YouTube, Vimeo, Google Maps)
   and reworded the description

#### 1.1.1

 * Plugin Check clean: escaping made explicit at every output site, translators 
   comment added
 * The plugin now boots on `init` instead of `plugins_loaded`, so WordPress loads
   the translations itself. The manual `load_plugin_textdomain()` call is gone
 * Colour values are re-validated as hex when the CSS is rendered, not only when
   saved

#### 1.1.0

 * New: the banner can link your privacy policy. Leave the field empty and it uses
   the page marked under Settings  Privacy; type a URL to point somewhere else
 * New: `zbc_privacy_url` filter to override the link in code
 * Added a link to the online playground on the settings page
 * WPML string names for the banner title and text are now English (they were German)

#### 1.0.5

 * Added a link to the online playground on the settings page
 * WPML string names for the banner title and text are now English (they were German)

#### 1.0.4

 * Fixed: leftover German placeholder in Blocked scripts field; marketing purge 
   field now shows a Meta Pixel example

#### 1.0.3

 * Wording: caching benefit stated consistently across plugin header, readme, and
   documentation

#### 1.0.2

 * Fixed: embed placeholder handling for theme-based responsive wrappers (FitVids
   and similar), including wrappers applied by theme JavaScript after blocking

#### 1.0.1

 * Fixed: embed placeholder misplaced inside responsive embed wrappers (WordPress
   block embeds) — placeholder now fills the reserved aspect-ratio space

#### 1.0.0

 * First stable release
 * Documentation restructured: slim README plus detailed guides (configuration, 
   cookies, troubleshooting)
 * Consent cookie documented for privacy policies

#### 0.9.0

 * Repository readiness: readme.txt, plugin assets
 * Complete user documentation (README.md)

#### 0.8.x

 * Sensible defaults: empty banner texts fall back to translated built-in defaults
   in the site language
 * Banner position setting: six placements (bottom/top × left/center/right)
 * Larger banner title for clearer hierarchy
 * Fixed: translations loading too late, causing English banner on non-English sites(
   WP 6.7+ JIT interaction)

#### 0.7.0

 * Banner position setting

#### 0.6.0

 * Full internationalization: English source strings, 11 bundled languages (EN, 
   DE, de_AT, ES, FR, IT, PT, NL, EL, PL, CS, HU), .pot template

#### 0.5.0

 * Appearance settings: Light / Dark / Auto mode with two fully customizable color
   palettes (background, title, text, button, button hover)

#### 0.4.0

 * Iframe/embed blocker: automatic YouTube, Vimeo, Google Maps detection with privacy
   placeholder; custom domains with per-provider category

#### 0.3.x

 * Reopen control: shortcode [zbc_settings] and Gutenberg block
 * Cookie deletion on consent withdrawal, with per-category prefix configuration
 * Minified frontend assets with SCRIPT_DEBUG fallback

#### 0.2.x

 * WPML integration for dynamic banner texts (String Translation)
 * Settings page: script handle mapping, banner texts, colors
 * Fixed: inline scripts without src could lose their type attribute and run unblocked

#### 0.1.0

 * Initial release: category-based consent banner, script blocking by handle, cookie
   + localStorage state, zero frontend DB queries

## Meta

 *  Version **1.3.1**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [cookie banner](https://wordpress.org/plugins/tags/cookie-banner/)[cookie consent](https://wordpress.org/plugins/tags/cookie-consent/)
   [cookies](https://wordpress.org/plugins/tags/cookies/)[GDPR](https://wordpress.org/plugins/tags/gdpr/)
   [privacy](https://wordpress.org/plugins/tags/privacy/)
 *  [Advanced View](https://wordpress.org/plugins/intensified-consent-banner/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

 *   [ intensifiedperceptions ](https://profiles.wordpress.org/intensifiedperceptions/)

## Support

Got something to say? Need help?

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