Works with your stack
Cookie banner for a business website
the map waits for a click
A business website presents a company or an independent: who you are, what you do, how to reach you. The cookies come with what you add: statistics, a contact form with a captcha, a map, reviews, a chat or WhatsApp button. Each one is a small question, and the banner answers it page by page.

Cookie Rocks Pro The complete plugin, every feature, free for 30 days. Here is what matters most for this kind of site. Contact Form 7, WPForms, Gravity Forms, Forminator, Spectra and Divi forms protected by reCAPTCHA or hCaptcha ask before sending, and nothing the visitor typed is lost. Videos, maps, music, social media posts and forms (YouTube, Vimeo, Google Maps, Spotify, Instagram, X, TikTok, Typeform…) show a placeholder with a load button, in place, without breaking your layout. Generated from the cookies really found on your pages, with their durations. For sites that address the United States, it also explains how the site answers browser privacy signals (Global Privacy Control, Do Not Track). See the banner on your own home page while you adjust it, before your visitors do. The rules of 248 jurisdictions with their official texts, and your settings checked against them. Country by country, too: proof of consent (248 jurisdictions), storing data in the country (218), hosting abroad (246), the local representative where one is needed, AI chatbots (50) and accessibility (99). The law sheets also give the language the banner must speak, the age of digital consent, the rule on cookie walls, the highest fine and recent decisions of the authorities. The dashboard tells you when a country you target requires a language your banner does not speak, when payment scripts load on every page instead of the checkout, or when comment avatars come from Gravatar. Each warning says what to do, often in one click.What Cookie Rocks Pro does for business websites
reCAPTCHAForms keep working
Placeholders, not holes
Cookie policy
Live preview
Laws of your countries
Warnings that matter
Plugins that business websites often use
Each one is tested with Cookie Rocks: what it loads in the browser, and what waits for the visitor’s choice. Open a card for the details.
What matters for consent with business websites
Statistics
Google Analytics needs consent under the GDPR and similar laws. Some statistics plugins count visits on your own site instead; even then, a cookie or a kept IP address is what the visitor’s choice is about.
Contact forms and captchas
A captcha that needs consent can stop a form from sending. Once allowed, a reCAPTCHA or hCaptcha form shows no message asking for consent.
Maps and videos
A Google map or a YouTube video waits behind a message with a Load button. It loads in place, without reloading the page.
Reviews and chat
Review widgets, chat windows and WhatsApp buttons can load from another company’s servers. A plain link waits for the click; a hosted widget may need consent.
A site with nothing to accept
When nothing on the site needs consent, the banner says so: the site only uses the cookies it needs to work.
What our tests found on business websites
Set before the choice · Cookie RocksAtlas Major stops calling Google Fonts once the copy is done
With Cookie Rocks Pro 2.11.0 and WP Go Maps' Atlas Major interface, local fonts on and the copy done, nothing goes to Google Fonts before the choice: the stylesheet is served from the site. Without local fonts, or before the scheduled copy has run, Atlas Major's @import still calls fonts.googleapis.com before the choice.
Seen in our tests, 6 November 2026, Cookie Rocks.
Set before the choice · WP Go MapsWith Cookie Rocks, WP Go Maps' Google map starts without a reload
Google engine, consent option on or off: nothing to Google before the choice; a placeholder, then the map after Accept all, without a reload.
Seen in our tests, 6 November 2026, WP Go Maps 10.1.10.
Full detail
With the Google engine of WP Go Maps 10.1.10, its consent option on or off, Cookie Rocks 2.10.1 sends nothing to Google before the choice, and after Accept all the map appears without a reload. After Reject all or a withdrawal, nothing loads. Until then a placeholder of the same size holds the place of the map, with a Load the map button that starts it. Cookie Rocks tells WP Go Maps on the server that consent is handled, so no cookie is set in the visitor's browser for this.
Set before the choice · Cookie RocksCookie Rocks holds the Leaflet map of WP Go Maps until the visitor accepts
Nothing reaches unpkg.com or OpenStreetMap before Accept, and the map draws without a reload.
Seen in our tests, 6 November 2026, Cookie Rocks.
Full detail
Cookie Rocks 2.11.0 holds the Leaflet engine of WP Go Maps 10.1.10. Before the choice and after Refuse, nothing goes to unpkg.com or the OpenStreetMap tile servers. After Accept, the libraries and tiles load and the map draws without a page reload.
Good to know · WP Go MapsWP Go Maps picks its interface at random on a new install
On a new install, WP Go Maps 10.1.10 picks its interface at random, one chance in two: Atlas Novus or Atlas Major. Two fresh sites with the same settings can therefore behave differently. Atlas Major's stylesheet loads Plus Jakarta Sans and IBM Plex Mono from Google Fonts through an @import, which does not show in the page's HTML.
Seen in our tests, 6 November 2026, WP Go Maps.
Set before the choice · WP Go MapsWP Go Maps' consent option only stops the Google Maps engine
Google engine: notice, nothing from Google until the cookie. Leaflet engine: no notice, libraries still load from unpkg.com.
Seen in our tests, 6 November 2026, WP Go Maps 10.1.10.
Full detail
With its option Require consent before loading Maps API on and the Google engine, WP Go Maps 10.1.10 shows a notice and a button and loads nothing from Google Maps until the cookie wpgmza-api-consent-given exists; removing the cookie brings the notice back at the next page view. With the Leaflet engine, the same option shows no notice and the Leaflet and MapLibre libraries still load from unpkg.com; only the map tiles wait for the cookie.
Good to know · Drag and Drop Multiple File Upload for Contact Form 7What Drag and Drop Multiple File Upload for Contact Form 7 stores in browsers
Drag and Drop for CF7: dnd_wpcf7_session_id and dnd_cf7_token_* (necessary, 24 h, upload field only).
Name Kept in Category What it is for dnd_wpcf7_session_idlocalStorage Necessary Keeps the visitor's upload folder for the form, 24 hours dnd_cf7_token_*localStorage Necessary Keeps the token of the visitor's upload folder, 24 hours *_count_fileslocalStorage Necessary Counts the files added to the upload field Read in its code, 4 November 2026, Drag and Drop Multiple File Upload for Contact Form 7.
Full detail
On a page with its upload field, the plugin keeps in local storage dnd_wpcf7_session_id (a random upload folder and the time it was made), dnd_cf7_token_<folder> (a random token for that folder) and <field>_count_files. It deletes the folder and token after 24 hours. They let the visitor's files reach the form; nothing is sent elsewhere. The Audit 2.9.11 shows the observed dnd_cf7_token_<uuid> under the site's own name as an identifier to check, although the same plugin's code pattern dnd_cf7_token_* is in its list.
See the 33 other findings
Good to know · Widgets for Google Reviews (Trustindex)The ti-success cookie of Trustindex review widgets
Trustindex: ti-success (60 seconds, admin settings only).
Name Kept in Category What it is for ti-successcookie Necessary Shows the result of connecting the review source in the admin, 60 seconds (editors only) Read in its code, 4 November 2026, Widgets for Google Reviews (Trustindex).
Full detail
Widgets for Google Reviews (Trustindex) sets ti-success = connected or disconnected for 60 seconds in its Advanced settings tab, after the editor connects or disconnects the review source, reads it once on the next admin page and deletes it. Editors only, never for visitors. The Audit 2.9.11 lists it as unknown.
Good to know · Cookie RocksOnly visitors' pages say which tools the site uses
Cookie Rocks Pro records the tools a site uses only from pages viewed by visitors. Pages viewed by site staff (users who can edit posts) never add tools, so files loaded only for logged-in users, such as the Google Fonts of Site Kit's admin bar, stay out of the list of detected tools and the cookie policy. Blocking still applies to everyone.
Seen in our tests, 28 October 2026, Cookie Rocks.
Good to know · google-site-kitSite Kit's admin bar loads Google Fonts for logged-in users only
Site Kit loads Google Fonts (Google Sans, from fonts.googleapis.com) on public pages only for logged-in users who see the admin bar: its admin bar stylesheet depends on it. Visitors never receive it.
What to do: Scan the site while logged out. Do not list Google Fonts in the cookie policy because of Site Kit alone.
Read in its code, 27 October 2026, google-site-kit 1.190.0. Source
Good to knowCookie Rocks lists Wordfence, Forminator, WP WhatsApp and WPForms Pro cookies
- Each appears in its cookie list with its purpose.
- Wordfence: wfCBLBypass, wf_loginalerted_*, wfls-remembered-*.
- Forminator: poll-cookie-*, forminator_stripe_payment_owner.
- WP WhatsApp: nta-wa-gdpr. WPForms Pro: _wpfuuid.
Read in its code, 18 October 2026.
Full detail
Cookie Rocks lists the site cookies of Wordfence (wfCBLBypass, wf_loginalerted_*, wfls-remembered-*), Forminator (poll-cookie-*, forminator_stripe_payment_owner), WP WhatsApp (nta-wa-gdpr) and WPForms Pro (_wpfuuid) in the cookie list it writes, with their purpose.
Sent from your server · Site Kit by GoogleSite Kit tag gateway serves the Google tag from the site itself
setting “Google tag gateway for advertisers” · by default: Off until Google turns the feature on for the site
The site forwards each request to Google with the visitor's IP address. The browser never contacts Google directly, so a banner that only knows Google's addresses misses the tag.
Seen in our tests, 18 October 2026, Site Kit by Google 1.189.0.
Full detail
With Site Kit's Google tag gateway on, the Google tag is served by the site itself: a script with the id google_gtagjs-<tag ID>-js loads /wp-content/plugins/google-site-kit/gtg/measurement.php?id=<tag ID>. That file forwards each request to <tag ID>.fps.goog with the visitor's IP address and request headers. The browser never contacts a Google address directly, so a banner that only knows Google's addresses does not see the tag.
Set before the choice · Site Kit by GoogleCookie Rocks holds the Google tag served through Site Kit's tag gateway
It is held until consent, like the tag served by Google. Site Kit's short script that only fills the data layer still runs, after the default consent set by Cookie Rocks.
Seen in our tests, 18 October 2026, Site Kit by Google 1.189.0.
Full detail
Cookie Rocks recognises the Google tag that Site Kit serves from the site through its tag gateway (gtg/measurement.php?id=G-, GT- or AW-) and holds it until consent, like the tag served by Google. Site Kit's short inline script that only fills the dataLayer still runs before the choice, after the default consent set by Cookie Rocks.
Good to know · Contact Form 7, WPForms Lite, Forminator, Fluent Forms, Ninja FormsFive form plugins set nothing on a default home page
by default: Default settings
With default settings and no form on the page, Contact Form 7, WPForms Lite, Forminator, Fluent Forms and Ninja Forms set no cookie, store nothing and load no known third-party tool.
Seen in our tests, 17 October 2026, Contact Form 7, WPForms Lite, Forminator, Fluent Forms, Ninja Forms 6.2.2, 2.0.2.2, 1.58.2, 6.2.16, 3.15.6.
Full detail
On a fresh WordPress home page with default settings, Contact Form 7, WPForms Lite, Forminator, Fluent Forms and Ninja Forms set no cookie, keep nothing in the browser's storage and load no known third-party tool, before or after Accept all (no form or captcha placed on the page).
Good to know · TranslatePress, Weglot, Instagram Feed, WP Go Maps, MailPoet, MatomoTranslatePress, Weglot, MailPoet and others set nothing by default
by default: Default settings
With default settings and nothing set up, TranslatePress, Weglot, Instagram Feed, WP Go Maps, MailPoet and Matomo for WordPress set no cookie, use no storage and load no known third-party tool.
Seen in our tests, 17 October 2026, TranslatePress, Weglot, Instagram Feed, WP Go Maps, MailPoet, Matomo 3.3.8, 6.4.3, 6.14.0, 10.1.10, 5.42.0, 5.13.1. Source
Full detail
On a fresh WordPress home page with default settings (no account, key or content set up), TranslatePress, Weglot, Smash Balloon Instagram Feed, WP Go Maps, MailPoet and Matomo for WordPress set no cookie, keep nothing in the browser's storage and load no known third-party tool, after Accept all.
Good to know · Click to Chat, Joinchat, WP WhatsAppWhatsApp button plugins keep their state on the site, not with Meta
- Click to Chat stores ht_ctc_storage.
- Joinchat stores joinchat_views (a page-view counter updated on every page) and joinchat_hashes.
- WP WhatsApp (NinjaTeam) sets nta-wa-gdpr for 30 days, only when the visitor ticks its consent box.
- None of them contacts Meta before the click.
Read in its code, 17 October 2026, Click to Chat, Joinchat, WP WhatsApp.
Full detail
WhatsApp button plugins keep their state on the site only: Click to Chat stores ht_ctc_storage, Joinchat stores joinchat_views (a page-view counter updated on every page) and joinchat_hashes, and WP WhatsApp (NinjaTeam) sets nta-wa-gdpr for 30 days only when the visitor ticks its consent box. None of them contacts Meta before the click.
Set before the choice · Site Kit by GoogleSite Kit's Sign in with Google is held until consent
setting “Sign in with Google module”
- Both Google's script and Site Kit's sign-in script are held: no g_state or googlesitekit_auth_nonce cookie.
- After Accept all, without a reload, the button and One Tap appear.
- On wp-login.php, where no banner is shown, the button works as usual.
- Before 2.5.2 both scripts ran before the choice.
Seen in our tests, 17 October 2026, Site Kit by Google 1.189.0.
Full detail
With Site Kit's Sign in with Google module, Cookie Rocks holds both Google's script (accounts.google.com/gsi/client) and Site Kit's own sign-in script until consent: before the choice there is no g_state or googlesitekit_auth_nonce cookie. After Accept all, without a reload, the button and One Tap appear. On wp-login.php, where no banner is shown, the button works as usual. If accounts.google.com does not answer, the button does not appear, as without Cookie Rocks. Before 2.5.2 both scripts ran before the choice.
Set before the choice · Contact Form 7Contact Form 7 loads reCAPTCHA on every page, not only form pages
Once keys are saved, reCAPTCHA runs on each page load. Turnstile also loads on every page, and Stripe wherever CF7 scripts load. A filter can switch reCAPTCHA to www.recaptcha.net.
Read in its code, 16 October 2026, Contact Form 7 6.2.2.
Full detail
Once reCAPTCHA keys are saved, Contact Form 7 enqueues google-recaptcha (api.js?render=) and wpcf7-recaptcha on every page, not only pages with a form, and calls grecaptcha.execute on each page load. Turnstile (challenges.cloudflare.com/turnstile/v0/api.js) also loads on every page once its keys are saved, and js.stripe.com/v3/ wherever CF7 scripts load when Stripe is set up. The filter wpcf7_use_recaptcha_net switches reCAPTCHA to www.recaptcha.net.
Good to know · Contact Form 7Cookie Rocks asks for reCAPTCHA permission above Contact Form 7 forms
Sending waits until reCAPTCHA is allowed, the page reloads without losing what was typed, and reCAPTCHA loads from recaptcha.net. A setting can treat it as necessary.
Read in its code, 16 October 2026, Contact Form 7 6.2.2.
Full detail
On Contact Form 7 forms protected by reCAPTCHA, Cookie Rocks shows a permission request above the form, holds the send until reCAPTCHA is allowed, reloads without losing what was typed, and loads reCAPTCHA from recaptcha.net. A setting can treat reCAPTCHA as necessary.
Good to know · Contact Form 7Contact Form 7 sets no cookie and contacts no other site by default
Other sites are contacted only when reCAPTCHA, Turnstile, Akismet, Stripe or a mailing tool is on. A submission records time, IP address, port, browser and page address.
Read in its code, 16 October 2026, Contact Form 7 6.2.2.
Full detail
Contact Form 7 reads and sets no cookie and sends nothing to other sites unless reCAPTCHA, Turnstile, Akismet, Stripe or a mailing tool is turned on. A submission records timestamp, IP address, port, user agent and page URL. The nonce is added only for logged-in users, so a cached form page stays valid for visitors. It does not use WP Consent API.
Good to know · Contact Form 7Without reCAPTCHA loaded, Contact Form 7 files messages as spam
The form is then sent without a token, filed as spam and no e-mail is sent. An empty Turnstile token is also treated as spam.
Read in its code, 16 October 2026, Contact Form 7 6.2.2.
Full detail
If grecaptcha is missing, Contact Form 7's wpcf7-recaptcha script stops with an error before it wraps the submit, so the form is sent without a token and CF7 files it as spam ('reCAPTCHA response token is empty.') and sends no email. An empty Turnstile token is also treated as spam.
Set before the choice · WPForms LiteWPForms loads its captcha only on pages with a form that uses it
It loads reCAPTCHA, hCaptcha or Turnstile in the footer of those pages only. Its No-Conflict mode removes other captcha scripts, but not those from recaptcha.net.
Read in its code, 16 October 2026, WPForms Lite 2.0.2.2.
Full detail
WPForms loads its captcha only on pages that show a form using it, in the footer: reCAPTCHA (www.google.com/recaptcha/api.js), hCaptcha (hcaptcha.com/1/api.js) or Turnstile (challenges.cloudflare.com); the address can be changed with the wpforms_frontend_captcha_api filter. Its No-Conflict mode dequeues other scripts from google.com/recaptcha, gstatic.com/recaptcha and hcaptcha.com/1, but not recaptcha.net. It sends a Permissions-Policy header for private state tokens on every request.
Good to know · WPForms LiteWPForms Lite sets no cookie for visitors
Lite does not write its _wpfuuid cookie unless a consent function allows it. Form analytics send views to the site itself, with no cookie or storage. It does not use WP Consent API.
Read in its code, 16 October 2026, WPForms Lite 2.0.2.2.
Full detail
WPForms Lite sets no cookie for visitors: its front script writes _wpfuuid (random ID, 3,999 days, SameSite=Strict) only if uuid_cookie is true, which Lite hardcodes to false, or if a wpforms.hasRequiredConsent JavaScript function exists and returns true. Form analytics (2.0) send form-view data to the site's own admin-ajax.php by sendBeacon, with an in-memory session ID, no cookie or storage, and skip authors, editors and administrators. It does not use WP Consent API.
Set before the choice · WP Go MapsWP Go Maps loads map libraries from other sites with no consent condition
- Leaflet engines load from unpkg.com, the newer OpenLayers engine from cdn.jsdelivr.net.
- They load even when its own consent notice is on.
- Map tiles are requested by script, so a consent plugin reading the HTML misses them.
- The Google engine adds a maps.googleapis.com script.
Read in its code, 16 October 2026, WP Go Maps 10.1.10.
Full detail
WP Go Maps loads its map libraries without any consent condition: the Leaflet engines, including the zero-cost engine of new installs, from unpkg.com (leaflet, maplibre-gl); the newer OpenLayers engine from cdn.jsdelivr.net; the classic OpenLayers engine from the site (lib/ol.js). These load even when its own consent notice is on. With OpenStreetMap-type engines the map and its tiles (tile.openstreetmap.org, tiles.openfreemap.org and others) are requested by JavaScript, so a consent plugin reading the page HTML does not see them. The Google engine adds a maps.googleapis.com script tag with a callback.
Sent from your server · WP Go MapsWP Go Maps address search sends the search text to OpenStreetMap
With an OpenStreetMap engine, WP Go Maps' address search goes through the site's REST route query-nominatim: the browser contacts only the site, and the server sends the visitor's search text to nominatim.openstreetmap.org.
Read in its code, 16 October 2026, WP Go Maps 10.1.10.
Set before the choice · Widgets for Google Reviews (Trustindex)Google Reviews widget images load from Trustindex before any choice
If loader.js is held, visitors see no reviews until they accept. Star icons, logos and reviewer photos are plain images that load before the choice even then.
Read in its code, 16 October 2026, Widgets for Google Reviews (Trustindex) 14.2.
Full detail
The review widget of Widgets for Google Reviews is written into the page by the server but hidden (opacity 0, height 0) until cdn.trustindex.io/loader.js formats it; if that script is held, visitors see no reviews until they accept. Its star icons and platform logos (cdn.trustindex.io) and reviewer photos are plain <img> tags with the skip-lazy class, so they load before any choice even when loader.js waits. Widgets with an ID also add a stylesheet from cdn.trustindex.io.
Good to know · Widgets for Google Reviews (Trustindex)Widgets for Google Reviews removes consent markers other tools add
It undoes markers added through WordPress and keeps trustindex.io out of three performance plugins' delay. A tag held as text/plain with its address is not bypassed. No consent setting.
Read in its code, 16 October 2026, Widgets for Google Reviews (Trustindex) 14.2.
Full detail
Widgets for Google Reviews removes consent markers that consent tools add through WordPress' script_loader_tag filter (attributes consent-required, consent-by, consent-id, and consent-original-src or type put back), at priority 9999999, and adds one consent plugin's ignore attribute to loader.js. It also excludes trustindex.io from the delay, minify and combine features of three performance plugins. An inline fallback recreates loader.js on DOMContentLoaded only if no script tag with its address is in the page, so a tag kept with its src as type="text/plain" is not bypassed. It has no consent setting and does not use WP Consent API.
Good to know · JoinchatJoinchat sends click events to Google and Meta tags when they exist
setting “Clicks Counter (tracking)” · by default: on
On click it sends events to the site's Google tags, a Google Ads conversion if set, and Meta if present. If those tags are held, nothing reaches Google or Meta.
Read in its code, 16 October 2026, Joinchat 6.4.2.
Full detail
On click, Joinchat sends a generate_lead event through gtag to each G- or GT- tag found, a Google Ads conversion if set, a dataLayer push and fbq('trackCustom') if fbq exists, then opens wa.me or web.whatsapp.com; if those tags are held, nothing reaches Google or Meta. Its click counter (on by default) posts to the site's /wp-json/joinchat/v1/track-click, and the server keeps a hash of IP, user agent, channel and number for 60 seconds. No WP Consent API or Consent Mode default; events joinchat:event and joinchat:track can be cancelled.
Depends on a setting · JoinchatJoinchat keeps a page-view count in the browser when it opens by itself
setting “message_delay” · by default: 10
joinchat_views goes to localStorage when automatic opening is on (default: after 10 seconds and 2 page views). A cookieless setting moves it to sessionStorage.
Read in its code, 16 October 2026, Joinchat 6.4.2.
Full detail
Joinchat writes joinchat_views to localStorage on page load when automatic opening is on (default: after 10 seconds and 2 page views). The cookieless setting (filter joinchat_get_settings) moves its keys to sessionStorage, and a negative automatic-opening delay removes all storage. The JavaScript event joinchat:starting can pause its start until joinchat_obj.resume().
Depends on a setting · Site Kit by GoogleSite Kit's WooCommerce conversions can send the buyer's email, phone and name
With the gtagUserData flag, the purchase event carries billing details for Google's enhanced conversions. The Reader Revenue Manager module loads a Google News script on its pages.
Read in its code, 16 October 2026, Site Kit by Google 1.189.0.
Full detail
With Site Kit's conversion tracking for WooCommerce and the gtagUserData flag (since 1.161.0), the purchase event carries user_data with the billing email, phone and name for Google's enhanced conversions. Its Reader Revenue Manager module loads news.google.com/swg/js/v1/swg-basic.js on the pages where its snippet is set.
Good to know · Cookie RocksCookie Rocks counts the Google tag as statistics only without Google Ads
- Statistics only, without _gcl_au and _gcl_ls, when nothing shows Google Ads and one sign says there is none.
- Signs: the answer No Google Ads, or Site Kit active without its Ads module.
- Otherwise a GT- tag stays in statistics and marketing.
- A Google Ads ID (AW-) in the tag counts as Google Ads.
Read in its code, 15 October 2026, Cookie Rocks.
Full detail
Cookie Rocks lists the Google tag as Google Analytics (gtag.js), statistics only, without the Google Ads cookie _gcl_au and storage key _gcl_ls, when nothing shows Google Ads (no Google Ads tag seen on the pages or declared in GTM, no Site Kit Ads module) and one sign says there is none (the answer No Google Ads, or Site Kit active without its Ads module). Otherwise a GT- tag stays in statistics and marketing. A Google Ads ID (AW-) in the gtag.js address or in gtag('config', 'AW-...') counts as Google Ads.
Good to know · Site Kit by GoogleWith Site Kit's Ads module, the Google tag counts as statistics and marketing
After Accept all, Google Ads sets _gcl_au. With statistics only, no Google Ads cookie is set, but the tag still sends Google a cookieless request with advertising denied.
Seen in our tests, 15 October 2026, Site Kit by Google 1.189.0.
Full detail
With Site Kit's Ads module (a test AW- conversion ID), the Google tag counts as statistics and marketing. After Accept all, Google Ads sets _gcl_au and calls doubleclick.net. With consent to statistics only, no Google Ads cookie is set, but the loaded tag still sends Google a cookieless request with advertising consent denied (pagead2.googlesyndication.com/ccm/collect).
Good to know · Site Kit by GoogleCookie Rocks holds Site Kit's Google tag in basic mode
- Before any choice, no request goes to Google.
- Accept all or statistics only: _ga and _ga_<ID> are set; with statistics only, advertising stays denied.
- Reject all: gtag.js never loads.
Seen in our tests, 15 October 2026, Site Kit by Google 1.189.0.
Full detail
Site Kit prints its Google tag (gtag.js) in the page head. Cookie Rocks holds it there in basic mode: before any choice, no request goes to Google. After Accept all, Google Analytics sets _ga and _ga_<ID>; with statistics only, the same happens and advertising stays denied; after Reject all, gtag.js is never loaded. With a GT- test ID Google returned no configuration and set no cookie; the cookies were seen with a G- test ID.
Depends on a setting · Site Kit by GoogleSite Kit's Consent Mode setting sends Google's default consent a second time
setting “Consent Mode” · by default: off
Google receives a second default consent, for a fixed list of 32 countries that ignores the regions saved in Site Kit, and functionality storage is granted as the page opens.
What to do: Keep Site Kit and WP Consent API, and turn off only the Consent Mode setting of Site Kit (Settings, Admin settings) when the banner already sends Google's consent signals. The Cookie Rocks dashboard flags it and turns it off in one click.
Seen in our tests, 15 October 2026, Site Kit by Google 1.189.0.
Full detail
With its Consent Mode setting on, Site Kit sets Google's default consent a second time, after the banner's, and only for a fixed list of 32 countries (EU, IS, LI, NO, GB, CH): the regions saved in Site Kit are not read. With WP Consent API present, it also sends its own consent updates after each choice; they grant functionality_storage as soon as the page opens (the functional category of WP Consent API), while statistics and advertising follow the visitor's choice.
Good to know · Site Kit by GoogleCookie Rocks gives Site Kit's tag the consent in the right order
The tag reads denied first, then granted on Accept all, so everything is sent as granted. After a refusal the tag never loads. In a browser test, nothing was sent before the choice.
Read in its code, 15 October 2026, Site Kit by Google 1.189.0.
Full detail
With Site Kit, Cookie Rocks pushes its 'denied' consent default first in the dataLayer and asks Google to wait 500 ms; on Accept all it records 'granted' before releasing Site Kit's tag, so the tag reads denied, Site Kit's settings and events, then granted, and everything is sent as granted. After a refusal the tag never loads. In a browser test: no request and no cookie before the choice, Analytics and its cookies after Accept all.
Good to know · Site Kit by GoogleSite Kit sends nothing to Google before it is connected
Before it is connected to a Google account, Site Kit only adds a DNS prefetch hint for googletagmanager.com to the pages: no request to Google and no cookie.
Seen in our tests, 15 October 2026, Site Kit by Google 1.189.0.
Set before the choice · Site Kit by GoogleTwo Site Kit scripts still run before the choice, but send nothing to Google
When the Google tag is held, Site Kit's tag settings and content events only fill the data layer. After consent, the tag processes events pushed before the choice.
Seen in our tests, 15 October 2026, Site Kit by Google 1.189.0.
Full detail
When a banner holds Site Kit's Google tag (gtag/js), two other Site Kit scripts still run before the choice: the inline tag settings (google_gtagjs-js-after: linker, js, developer_id, config) and its content events provider. They only fill the dataLayer and send nothing to Google. Site Kit also replaces window.gtag with an equivalent function writing to the same dataLayer. After consent, events pushed before the choice are processed by the tag.
Good to know · Site Kit by GoogleCookie Rocks holds Site Kit's Tag Manager and AdSense scripts
The Tag Manager container loads only after consent. Auto ads count as marketing: they load after Accept all, not with statistics only or after Reject all.
Seen in our tests, 15 October 2026, Site Kit by Google 1.189.0.
Full detail
With Site Kit's Tag Manager module, the container (gtm.js) is held in the page head and loads only after consent. With its AdSense module, the Auto ads script (adsbygoogle.js) is held as marketing: it loads after Accept all, not with statistics only or after Reject all.
Good to know · Site Kit by GoogleSite Kit reads WP Consent API only when its Consent Mode setting is on
setting “Consent Mode” · by default: off
With that setting off, Site Kit sends no consent signal at all, and the visitor's choice reaches Google only through the banner's own signals.
Read in its code, 15 October 2026, Site Kit by Google 1.189.0.
Full detail
Site Kit declares itself compatible with WP Consent API, but its code reads WP Consent API only when its own Consent Mode setting is on. With that setting off, Site Kit pushes no consent command at all, and the visitor's choice reaches Google only through the banner's own Consent Mode signals.
Good to know · WP Consent APICookie Rocks rewrites the WP Consent API cookies on every page
They last 30 days by default, so a banner that writes them only at the click leaves Site Kit with no consent later. In a test, deleted cookies were set again and Google read granted.
Seen in our tests, 8 October 2026, WP Consent API.
Full detail
WP Consent API keeps its wp_consent_* cookies for 30 days by default. A banner that writes them only at the click leaves Site Kit reading no consent after 30 days, while the banner's own choice is still valid. Cookie Rocks writes the visitor's choice to WP Consent API on every page: in a test, the wp_consent_* cookies were deleted and the page reloaded; they were set again to allow, and Site Kit and Google read granted.
Kinds of sites
Other kinds of sites, each with its own page.
Questions
Does a small business site need a banner?
As soon as one tool on it sets a cookie that is not strictly needed, such as statistics, a map or a video, consent comes first under the GDPR and similar laws.
Can I keep statistics without consent?
In some countries, audience measurement set up for it can be exempt, until the visitor objects. Google Analytics can never be exempt.
Which plugins have their own page?
See anti-spam and captchas, feeds and embeds, chat and WhatsApp buttons.
What happens after the 30-day trial?
The banner, your visitors’ choices and your proofs of consent keep working. Without a key, most settings lock, updates and support stop. Take a key at any time and everything opens again.
For business websites
Your site, your contact form, consent in place.
one question per tool
Every feature of the complete plugin for 30 days, no card.
- During the trial: everything, including the full settings and the scans
- After 30 days without a key: the banner, your visitors’ choices and your proofs of consent keep working
- What waits for a key: most settings, updates and support

Get your trial key
Your e-mail and your site. Your key arrives as soon as you confirm your e-mail.