Title: WorkMore Cookie Crumb – Cookie Consent Banner
Author: Work More
Published: <strong>October 18, 2026</strong>
Last modified: October 19, 2026

---

Search plugins

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

![](https://ps.w.org/workmore-cookie-crumb/assets/icon.svg?rev=3753486)

# WorkMore Cookie Crumb – Cookie Consent Banner

 By [Work More](https://profiles.wordpress.org/connextsystem/)

[Download](https://downloads.wordpress.org/plugin/workmore-cookie-crumb.1.0.6.zip)

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

 [Support](https://wordpress.org/support/plugin/workmore-cookie-crumb/)

## Description

WorkMore Cookie Crumb is a **cookie consent banner for WordPress** that really blocks
tracking scripts — Google Analytics, Google Tag Manager, Google Ads, Meta Pixel,
YouTube and Google Maps embeds — until a visitor agrees. It comes with a **cookie
scanner**, a **consent log** and **Google Consent Mode v2**, and it lives inside
your WordPress site: no account to open, no outside service, no page view quota,
free.

It is made for sites that have to ask before they track — under the GDPR and the
ePrivacy rules in Europe, Thailand’s PDPA, and laws like them — and for anyone who
wants a cookie notice that does what it says.

**It really holds scripts back.** Scripts, embedded videos and maps, and tracking
pixels of the services you list do not run and do not load before a visitor allows
their category — those written in the page, and those other scripts add later. A
held-back video or map shows a placeholder with a button that allows it. When a 
visitor withdraws consent, the listed cookies your site set are deleted from their
browser.

**It leaves your site fast.** Every visitor gets the same page; what runs is decided
in the browser, so page caches and CDNs work without any configuration. The visitor
side is one small inline script and one deferred file of about 7 KB, with no library,
no font and no request to another server. The banner does not push your content 
around as it appears.

**It keeps a record.** Each answer is one row in a consent log on your own site,
found by the consent ID the visitor sees in the cookie settings window, and exported
as CSV. A record holds as little as it takes: no full IP address, no cookie values,
nothing tied to a user account. The log keeps the last 90 days.

#### Why WorkMore Cookie Crumb

 * **Free and complete**: no account, no sign-up, no limit on page views or visitors,
   no “upgrade to unlock”.
 * **Opt-in that works**: nothing runs before the answer — scripts in the page, 
   scripts added later, iframes and pixels.
 * **Fast**: about 7 KB for visitors, no jQuery, no font, no request to another 
   server; page caches and CDNs need no setup.
 * **Your data stays yours**: answers are kept in your own database, with as little
   about the visitor as a record needs.
 * **English and Thai** ready, any other language added in minutes.

#### What you get

 * A banner and a cookie settings window, in any number of languages, with words
   ready in English and Thai. Two ways of asking: consent first, or notice only.
 * A setup wizard: scan the site, sort what was found, look at the banner on your
   own pages, publish.
 * A cookie scan that opens your pages in your own browser the way a visitor gets
   them, and lists the cookies they set and what they load from other sites, with
   a category suggested where the service is known. Once the banner is published,
   it also shows whatever still loads before a visitor answers.
 * Known services to start from: Google Analytics, Google Tag Manager, Google Ads,
   YouTube, Google Maps, Meta Pixel and Facebook embeds, and the cookies of WordPress
   and WooCommerce themselves. Anything else is added by hand: a cookie by its name,
   a script by a piece of its address.
 * Google Consent Mode v2 signals, and the WP Consent API for plugins that ask it.
 * Draft and publish: you edit a draft with a live preview on your real site at 
   desktop, tablet and phone widths. Visitors see nothing new until you publish,
   and each record names the version of the banner the visitor answered.
 * A dashboard: how many accepted, rejected or chose, which categories were allowed,
   how that changed over time, and page views — for the last 24 hours, 7 or 28 days,
   3 or 6 months, or two dates of your choosing. Point at a chart to read its numbers.
 * Two looks for the plugin’s own screen, chosen under Settings: a roomier, more
   modern one to start with, and a classic one in the plain WordPress style that
   loads nothing extra. Your visitors get the same either way.
 * A widget on the WordPress Dashboard with the consent rate, the answers by kind
   and how much room the records take — drawn on the server, with no script.
 * A button on every page, a link to `#cookie-settings` or the `[wmcc_settings]`
   shortcode, so visitors can change their answer whenever they like.
 * Light or dark, your own main color with text that stays readable on it, top or
   bottom of the page, and the banner only on the pages you choose.
 * An optional “Powered by WorkMore Cookie Crumb” line on the banner — off unless
   you switch it on.
 * For theme developers: the banner keeps to itself (your theme’s styles do not 
   reach it by accident), and can be restyled on purpose through a documented set
   of CSS custom properties and named parts.
 * Made to be used by everyone: keyboard use, the names and roles a screen reader
   announces, contrast, small screens and reduced motion are part of the plugin’s
   test suite.

#### A tool, not legal advice

The plugin is a tool. It does not by itself make a site comply with any law, and
nothing in it is legal advice: which cookies need consent, how to ask and how long
to keep a record depend on the law that applies to your site.

#### Pro add-on

Everything above is free and complete. A separate plugin, WorkMore Cookie Crumb 
Pro, sold on [workmore.connextsystem.com](https://workmore.connextsystem.com/cookie-crumb),
sends consent records on to a database of your own and adds a design screen for 
the banner — more positions, a logo, colors and sizes of single parts, button styles,
rounded corners — a health check of your settings and a registry of services common
in Thailand. Inside this plugin the add-on is only mentioned on the “Upgrade to 
Pro” tab; nothing here is locked or limited.

#### Source code

The plugin’s JavaScript ships minified for performance (`assets/admin.js`, `assets/
guard.js`, `assets/banner.js`, `assets/probe.js`); the human-readable source is 
included in the plugin’s `src/` directory together with the build configuration (`
vite.config.js`).

### External services

This plugin connects to no external service. Its PHP makes no request to another
server, and the scripts it puts on your pages talk to your own site only — not to
us, not to Google, not to Meta.

Names of other companies’ services do stand in its code (`includes/Registry/Registry.
php`: `googletagmanager.com/gtag/js`, `connect.facebook.net`, `maps.googleapis.com/
maps/api/js` and others). They are a list for recognising tags **your site already
has**: pieces of addresses that are compared with the scripts and frames of your
pages, so that the plugin can hold those back until a visitor allows their category,
suggest a category for them and name them in the cookie scan. The plugin never requests
one of these addresses and adds none of these services to a site.

What a site owner should know all the same:

 * **The services of your own site.** A script or frame that was held back runs 
   once the visitor allows its category, exactly as it would without this plugin,
   and then reaches its service as you set it up. Which services those are and what
   they receive is decided by your site — its theme, its other plugins, the tags
   you added — and not by this plugin. The ones the plugin recognises are Google
   Analytics, Google Tag Manager, Google Ads, YouTube and Google Maps (Google: [terms of service](https://policies.google.com/terms),
   [privacy policy](https://policies.google.com/privacy)) and Meta Pixel and Facebook
   embeds (Meta: [terms of service](https://www.facebook.com/legal/terms), [privacy policy](https://www.facebook.com/privacy/policy/)).
 * **Google Consent Mode.** The plugin writes the visitor’s answer for each kind
   of use (“granted” or “denied”) into `dataLayer`, a variable of the page in the
   visitor’s browser, before they answer and again when they do. The plugin sends
   it nowhere. If your site has a Google tag, that tag reads it and passes it on
   to Google with its own requests; on a site without one it stays in the page.
 * **The cookie scan** opens your own pages in your own browser. While it runs, 
   the trackers of those pages run once, as they would for a visitor who allowed
   everything. What the scan finds is kept in your site’s database.

## Screenshots

[⌊The banner on a site: accept, reject or choose — and a video that waits shows 
a placeholder with a button of its own.⌉⌊The banner on a site: accept, reject or
choose — and a video that waits shows a placeholder with a button of its own.⌉[

The banner on a site: accept, reject or choose — and a video that waits shows a 
placeholder with a button of its own.

[⌊The cookie settings window: a switch for each category, the cookies in it, and
the visitor's consent ID.⌉⌊The cookie settings window: a switch for each category,
the cookies in it, and the visitor's consent ID.⌉[

The cookie settings window: a switch for each category, the cookies in it, and the
visitor’s consent ID.

[⌊The first-time setup: scan the site, sort what was found, look at the banner, 
publish.⌉⌊The first-time setup: scan the site, sort what was found, look at the 
banner, publish.⌉[

The first-time setup: scan the site, sort what was found, look at the banner, publish.

[⌊Cookie scan: the cookies your pages set and what they load from other sites, each
with a category suggested where the service is known.⌉⌊Cookie scan: the cookies 
your pages set and what they load from other sites, each with a category suggested
where the service is known.⌉[

Cookie scan: the cookies your pages set and what they load from other sites, each
with a category suggested where the service is known.

[⌊Cookies: categories, the cookies visitors read about, and the rules that hold 
scripts back.⌉⌊Cookies: categories, the cookies visitors read about, and the rules
that hold scripts back.⌉[

Cookies: categories, the cookies visitors read about, and the rules that hold scripts
back.

[⌊Banner design: words, languages, colors and position beside a live preview on 
your own site.⌉⌊Banner design: words, languages, colors and position beside a live
preview on your own site.⌉[

Banner design: words, languages, colors and position beside a live preview on your
own site.

[⌊Consent log: how visitors answered, by kind, by category and over time, and page
views, for the time range you choose.⌉⌊Consent log: how visitors answered, by kind,
by category and over time, and page views, for the time range you choose.⌉[

Consent log: how visitors answered, by kind, by category and over time, and page
views, for the time range you choose.

[⌊Consent log: one record for each answer, found by the visitor's consent ID and
exported as CSV.⌉⌊Consent log: one record for each answer, found by the visitor's
consent ID and exported as CSV.⌉[

Consent log: one record for each answer, found by the visitor’s consent ID and exported
as CSV.

## Installation

 1. Install the plugin under Plugins  Add New, or upload the zip under Plugins  Add
    New  Upload Plugin.
 2. Activate it.
 3. Open Settings  Cookie Crumb. The setup leads from a scan of your site to a published
    banner in four steps; it can be skipped, and everything in it can be changed afterwards.

Nothing changes for your visitors until you press “Publish banner”.

## FAQ

### Is it free? Is there a limit on page views or visitors?

It is free, with no limit: no account to open, no page view quota, no visitor count
that stops the banner. Everything this plugin does runs on your own site. A separate
Pro add-on exists for those who want more (see “Pro add-on” above); nothing in this
plugin is locked without it.

### Does it make my site GDPR or PDPA compliant?

No plugin can promise that by itself — compliance depends on what your site does,
the law that applies to it and how you set things up. What this plugin gives you
are the tools those laws ask for: consent before tracking (opt-in), a “Reject all”
as easy as “Accept all”, consent by category, a way to change the answer at any 
time, and a record of each answer. It is not legal advice.

### Does it block YouTube videos, Google Maps and other embeds until consent?

Yes. An embedded YouTube video, Google Map or Facebook post does not load before
the visitor allows its category; a placeholder with a button stands in its place,
and the button allows it. Any other embed can be held back by a rule with a piece
of its address.

### Does it work with WooCommerce?

Yes. It recognises WooCommerce’s own cookies (cart, session) and its order attribution(`
sbjs_*`), the cookie scan reads a shop’s own pages, and the WP Consent API tells
WooCommerce what the visitor allowed.

### Does it work with a page cache or a CDN?

Yes. The server sends the same page to every visitor and never reads the visitor’s
answer; what runs is decided in the browser. Publishing the banner asks the cache
plugins and hosts the plugin knows to clear their page cache (WP Rocket, LiteSpeed
Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache, Cache Enabler, WP-Optimize,
Autoptimize, Breeze, Hummingbird, Comet Cache, SiteGround Optimizer, Nginx Helper,
WP Engine, Pantheon); for any other cache, clear it after publishing. Plugins that
combine, defer or delay scripts are asked — by marks on its tag that Autoptimize,
LiteSpeed Cache, WP Rocket and Cloudflare’s Rocket Loader read — to leave the plugin’s
first script where it is: it has to run before every other script of the page.

### Does it work with Google Tag Manager and Google Consent Mode?

Yes. Before a visitor answers, the plugin sets the Consent Mode v2 signals to “denied”—
the advertising signals follow your marketing category, the analytics signal your
analytics category — and updates them with each answer; an event named `wmcc_consent`
is pushed to the data layer as well. You choose how Tag Manager itself is treated:
listed under a category, the container waits for that category like any other script;
left out of the list, it loads and its tags follow the Consent Mode signals.

### Which services does it recognise?

Google Analytics, Google Tag Manager, Google Ads, YouTube, Google Maps, Meta Pixel
and Facebook embeds, and the cookies WordPress and WooCommerce set themselves. A
recognised service gets its category suggested, and its cookies listed with what
they are for. Anything else the scan finds is shown as not known: you choose its
category. A script is held back by a rule that looks for a piece of its address,
so any script can be listed.

### How does the cookie scan work?

When you press “Scan the site”, the screen opens a sample of your pages — the front
page, the newest entry of each kind of content, a shop’s own pages, and addresses
you add — in your own browser, served the way a visitor who is not logged in gets
them. The server notes the cookies it sets and what stands in each page’s markup;
a small script in the page notes the cookies scripts set and everything the page
loads. Nothing is sent to an outside service, and nothing is added to your cookie
list until you choose it. A scan cannot see what loads only after a click or a purchase,
what an ad blocker in your browser stops, or the cookies another site keeps on its
own domain; those are listed where the service is known. While it runs, your pages’
own trackers run once in your browser, as they would for a visitor who allowed everything—
in a browser that is logged in to your site, and including trackers your site leaves
out for administrators.

### Can everything be held back?

Scripts and embedded frames always can, and images and loading hints when they stand
in the page’s markup. What a script that is already running sends by itself or writes
into the page as markup, and style sheets and fonts loaded from another site, cannot
be held back by a rule: hold back the script that does it, or serve the file from
your own site. After you publish, the scan lists whatever still reaches another 
site before a visitor answers, and says for each whether a rule can hold it.

### How can visitors change their answer?

By default a small round button stays in a corner of every page and opens the cookie
settings window. Instead of it, or as well, any link to `#cookie-settings` opens
the window — in a menu, a footer or a page — and so does the `[wmcc_settings]` shortcode.
Withdrawing consent deletes the listed cookies your site set and loads the page 
again without the scripts. Cookies another site keeps on its own domain, and cookies
no script can read, cannot be deleted from a page.

### What does a consent record hold about a visitor?

As little as it takes to be a record: a random consent ID (kept in the visitor’s
own consent cookie, and shown to them in the cookie settings window), the time, 
the answer and the categories it allowed, the version and language of the banner,
the address of the page without its query string, the browser’s name and major version
with the name of the operating system, and the network part of the IP address — 
the last part of the address is never stored. A record is not linked to a user account,
and is deleted after 90 days. Settings  Privacy  Policy guide has a paragraph you
can use in your privacy policy.

### How are page views counted?

A page reports that it was shown, with one small request to your own site that carries
no cookie and nothing about the visitor; the site adds one to that day’s number.
A busy site (more than 2,500 page views a day) counts a sample instead — one page
view in so many, each counted for that many — so the counting stays light however
much traffic there is. A developer can switch page view counting off with the `wmcc_count_pageviews`
filter.

### Can I restyle the banner with my theme’s CSS?

Yes, on purpose only. The banner lives in a shadow root under `<div id="wmcc-root"
>`, so your theme’s styles do not change it by accident. What your style sheet can
set are these custom properties on `#wmcc-root` — `--wmcc-bg`, `--wmcc-text`, `--
wmcc-muted`, `--wmcc-line`, `--wmcc-font-size`, `--wmcc-radius`, `--wmcc-button-
radius` — and rules for its named parts, written `#wmcc-root::part(name)`: `banner`,`
text`, `title`, `body`, `policy`, `actions`, `button` (with `accept`, `reject`, `
settings`, `save`, and `in-banner` or `in-window`), `close`, `credit`, `credit-icon`,`
overlay`, `window`, `window-head`, `window-title`, `window-body`, `window-foot`,`
intro`, `category`, `category-name`, `switch`, `consent-id`, `reopen`, `reopen-icon`.
For example: `#wmcc-root::part(accept) { background: #0a7d3c; color: #fff; }`. Keeping
the text readable on your colors is then yours to check, and a font or picture such
a rule loads from another site reaches that site before the visitor answers.

### In which languages is the banner?

In any you add: each language has its own words, and the banner follows the language
of the page. Words are ready in English and Thai; for another language you start
from the English ones and write your own. The plugin’s own screen is in English,
with translations served by WordPress.org as they are completed.

### Does it work on a multisite network?

Yes. Each site of a network has its own banner, cookie list and consent log, managed
by that site’s administrators.

### Does the plugin connect to an outside service or collect data?

No. The banner, its script and the cookie list are served by your own site, answers
and page views are recorded in your own database, and the plugin makes no request
to any other server. It adds no credit or link to your pages unless you switch on
the “Powered by WorkMore Cookie Crumb” line yourself (Banner design  Text; off by
default). On its screen, the only link to our website is on the “Upgrade to Pro”
tab, and it opens only when you click it. The section “External services” below 
says what the names of other companies’ services in the plugin are for.

### What happens when I deactivate or uninstall the plugin?

Deactivating takes the banner off and stops holding scripts back at once: nothing
in your content was changed, so there is nothing to undo. It deletes nothing. Uninstalling
removes the consent log, the statistics and the settings only if you asked for it
under Settings  Cookie Crumb  Settings, where the switch is off by default — a consent
log is a record you may be asked for.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

 *   [ Work More ](https://profiles.wordpress.org/connextsystem/)

[Translate “WorkMore Cookie Crumb – Cookie Consent Banner” into your language.](https://translate.wordpress.org/projects/wp-plugins/workmore-cookie-crumb)

### Interested in development?

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

## Changelog

#### 1.0.6

 * An optional “Powered by WorkMore Cookie Crumb” line under the banner’s text, 
   with the plugin’s logo, linking to its WordPress.org page. Off by default; switched
   on under Banner design  Text.

#### 1.0.5

 * A widget on the WordPress Dashboard: the consent rate and the answers by kind
   over the last 28 days, and how much room the consent records take. Only for those
   who may open the plugin’s screen; “Screen Options” hides it.

#### 1.0.4

 * Banner design: the banner’s position is chosen from small pictures of a page 
   with the banner in its place.
 * Consent log: a “Storage” card says how much room the consent records take in 
   your site’s database.
 * The standard look stands in the middle of a wide screen instead of at its left
   edge.

#### 1.0.3

 * Consent log: one time range for the charts and the list of records — the last
   24 hours, 7 days, 28 days, 3 months, 6 months, or two dates of your choosing.
 * Consent log: the list shows 25, 50 or 100 rows to a page, with First, Previous
   and Next, and says which rows of how many it is showing.
 * The charts show a step’s numbers under the pointer, and can be read step by step
   with the arrow keys.
 * Hints are behind a small “i” beside what they are about, instead of in a line
   under every field.

#### 1.0.2

 * The plugin’s screen has two looks, chosen under Settings  Cookie Crumb  Settings:“
   Standard” (new, and what a site starts with) and “Classic” (the screen as it 
   was). The choice changes nothing for visitors.

#### 1.0.1

 * The placeholder of a held-back video or map no longer carries a style sheet of
   its own; it looks as it did.
 * The readme says, under “External services”, that the plugin connects to none 
   and what the names of other companies’ services in its code are for.

#### 1.0.0

 * First release: consent banner and cookie settings window in any number of languages;
   scripts, frames and pixels held back until the visitor allows their category;
   Google Consent Mode v2 and WP Consent API; cookie scan and setup wizard; consent
   log with search by consent ID and CSV export; dashboard with page views by month.

## Meta

 *  Version **1.0.6**
 *  Last updated **20 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [cookie banner](https://wordpress.org/plugins/tags/cookie-banner/)[cookie consent](https://wordpress.org/plugins/tags/cookie-consent/)
   [GDPR](https://wordpress.org/plugins/tags/gdpr/)[google consent mode](https://wordpress.org/plugins/tags/google-consent-mode/)
   [pdpa](https://wordpress.org/plugins/tags/pdpa/)
 *  [Advanced View](https://wordpress.org/plugins/workmore-cookie-crumb/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

 *   [ Work More ](https://profiles.wordpress.org/connextsystem/)

## Support

Got something to say? Need help?

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