PD17 Cookie Consent Banner

Description

PD17 Cookie Consent Banner is a lightweight, user-friendly cookie consent plugin for WordPress. It helps site owners comply with GDPR, CCPA and similar privacy regulations while sending consent signals that Google Consent Mode v2 understands.

Features

  • Consent Mode v2 support: pushes consent defaults and updates to the dataLayer.
  • Works with Google Tag Manager and Google tags.
  • Customizable banner: bar or modal layout, custom text and buttons.
  • Per-button styling and automatic detection of the active theme colors.
  • Light and dark banner themes, plus custom background colors and text sizes for the main banner and settings modal.
  • Custom color for consent checkboxes in the settings modal.
  • Reject action clears non-essential cookies and browser storage, keeps WordPress technical cookies, and reloads the page.
  • Consent categories with labels, descriptions and default states.
  • Custom labels for “Always active”, “On by default” and “Off by default” badges.
  • Optional additional details for the settings modal description, with customizable Show/Hide details labels.
  • Optional Google Tag Manager snippet fields.
  • Settings link shortcode: [consent_banner_settings_link].
  • Lightweight: the banner library is bundled locally, no external CDN requests.
  • Translation ready.

How it works

On page load the plugin pushes the configured consent defaults to the dataLayer. When a visitor saves their preferences, the plugin updates the consent state and stores the choice in the browser’s localStorage under the consent_preferences key. Nothing is stored on the server.

When a visitor rejects, optional categories are denied, required categories stay granted, non-essential cookies and browser storage are cleared, and the page reloads. WordPress technical cookies and the consent_preferences choice are preserved.

The banner settings are available under Settings в†’ PD17 Cookie Consent.

External services

The plugin does not contact external services on its own and does not send visitor data to the plugin author.

If you use the optional Google Tag Manager snippet fields, the plugin outputs the snippet you provide. When that snippet runs, data is sent to Google according to your container configuration. Google Tag Manager is subject to Google’s Terms of Service and Privacy Policy:

  • Terms: https://policies.google.com/terms
  • Privacy: https://policies.google.com/privacy

If you leave the snippet fields empty, the plugin makes no requests to Google.

Credits

The banner UI is based on consent-banner-js by Tag Concierge, version 1.2.3, licensed under the MIT License. The library is bundled in assets/vendor/consent-banner-js/ together with its license text.

https://github.com/tagconcierge/consent-banner-js

Installation

  1. Install and activate the plugin.
  2. Open Settings в†’ PD17 Cookie Consent.
  3. Configure the banner content, styles and consent categories.
  4. Optionally paste your Google Tag Manager snippets into the provided fields.
  5. Save the settings.

FAQ

Do I need Google Tag Manager to use this plugin?

No. The plugin pushes standard Consent Mode v2 signals to the dataLayer. Google Tag Manager or Google tags can read those signals, but GTM is not required for the banner itself.

Is it compatible with GA4 and Google Ads?

Yes. The plugin sends the consent parameters used by Google Consent Mode v2, so Google tags that respect consent signals will work with the banner.

Is it compatible with Facebook Pixel?

It can be, if the pixel is loaded through Google Tag Manager and the correct consent settings are applied to the tag in your GTM workspace.

Where are visitor choices stored?

In the visitor’s browser, in localStorage. The plugin does not create cookies or store consent data on your server.

Can I change the banner text and colors?

Yes. Text, buttons, layout, colors and per-button styles can be changed in the plugin settings. The plugin can also detect the accent colors of your active theme and use them as defaults.

Does the plugin load anything from a CDN?

No. The banner JavaScript and CSS are bundled with the plugin and served from your own site.

Reviews

There are no reviews for this plugin.

Contributors & Developers

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

Contributors

Changelog

1.1.7

  • Added an optional additional details block for the settings modal description, revealed by a Show details link.
  • Added fields for the Show details, Hide details and Details heading texts. They are shared by all details toggles.
  • Fixed PHP warnings when optional banner settings have not been saved yet.
  • Replaced direct script output with the WordPress enqueue APIs and escaped the GTM snippet output.

1.1.6

  • Added custom labels for the “Always active”, “On by default” and “Off by default” badges.
  • Added bottom padding to consent items in the settings modal.

1.1.5

  • Added background color and text font size settings for the settings modal. The text color is adjusted automatically for contrast.

1.1.4

  • Added the Dark theme option and dark styling for the banner and settings modal.
  • Added main banner background color and text font size settings. The text color is adjusted automatically for contrast.

1.1.3

  • Reject now denies optional categories while keeping required categories granted.
  • Reject now clears non-essential cookies and browser storage, preserves WordPress technical cookies and the consent choice, then reloads the page.

1.1.2

  • Fixed opening the consent settings from #consent-banner-settings links, including direct hash navigation and dynamically inserted links.

1.1.1

  • Added a checkbox color setting for consent toggles in the settings modal.
  • Checkbox colors now follow the active theme accent when no custom color is set.

1.1.0

  • Renamed the plugin to PD17 Cookie Consent Banner (slug: pd17-cookie-consent-banner).
  • Bundled the consent banner library locally; the plugin no longer loads JavaScript or CSS from an external CDN.
  • Added automatic migration of settings from the previous option names.
  • Added an uninstall routine that removes plugin options.

1.0.7

  • Added automatic detection of accent, text and background colors from the active theme.
  • Theme colors are now used as defaults for buttons and links.
  • Added a “Theme Colors” option with a preview of the detected colors.
  • Added optional link and link hover color overrides.

1.0.6

  • Added a dedicated “Banner Styles” tab.
  • Moved all banner, settings modal and button styling settings to the new tab.
  • The main “Settings” tab now contains content and behaviour settings only.

1.0.5

  • Added per-button styling: background, text color, font size, border and hover states.
  • Added the “Banner Buttons Styles” settings section.

1.0.4

  • Fixed empty banner on a fresh installation by applying demo defaults on init instead of only on the settings page.
  • Added missing demo values for banner buttons, theme and settings description.
  • Fixed PHP warnings in the settings fields that were printed into the HTML markup.
  • Hardened consent type processing.

1.0.3

  • Tested against the latest version of WordPress.

1.0.2

  • Fixes GTM snippets loading.
  • Changes namespace due to naming collision.
  • Upgrades the Consent Banner JS library to 1.2.3.

1.0.1

  • Fix JavaScript loading ordering.

1.0.0

  • Initial version.