← Keencrest cookie consent audits · PDF version

Keencrest cookie consent leak audit · Sample report: UK digital agency, Cookie-Script banner with Consent Mode. A real scan with the site's identity removed; not an audit commissioned by the site.

What uk-agency-c.example does before the visitor says yes

Page: https://uk-agency-c.example/ · scanned 2026-11-01 15:08 UTC · fresh browser, no clicks, 8 s wait

Trackers ran before consent: 2 vendor(s) that need opt-in consent loaded or set cookies before the visitor made any choice (HubSpot analytics, HubSpot collected forms).

Consent banner detected: Cookie-Script. Google Consent Mode default: {"ad_storage": "denied", "ad_user_data": "denied", "ad_personalization": "denied", "analytics_storage": "denied", "wait_for_update": 500}.

After we clicked the banner's reject button (selector #cookiescript_reject) and reloaded: 2 consent-requiring vendor(s) still ran (HubSpot analytics, HubSpot collected forms). A reject that does not stop tracking is the most serious finding here.

12cookies before consent
7third-party cookies
16third-party hosts contacted
2consent-requiring vendors

1. Before consent (no interaction)

SeverityVendorWhat it isEvidence
highHubSpot analyticsMarketing automation / visitor ID3 request(s) to js-eu1.hs-analytics.net, track-eu1.hubspot.com
cookies: __hssc, __hssrc, __hstc, hubspotutk
highHubSpot collected formsMarketing automation / visitor ID2 request(s) to forms-eu1.hscollectedforms.net, js-eu1.hscollectedforms.net
mediumHubSpot ads pixelAdvertising / retargeting1 request(s) to js-eu1.hsadspixel.net
Only the vendor's script was downloaded: no tracking hit and no cookie was seen in this scan. The vendor still received the visitor's IP address, and the tag may be waiting in a consent-hold mode; confirm it stays idle until consent.
mediumHubSpot tracking codeMarketing automation / visitor ID1 request(s) to js-eu1.hs-scripts.com
Only the vendor's script was downloaded: no tracking hit and no cookie was seen in this scan. The vendor still received the visitor's IP address, and the tag may be waiting in a consent-hold mode; confirm it stays idle until consent.
infoGoogle Tag Manager / gtag.jsTag manager (loads other tags)1 request(s) to www.googletagmanager.com
infoHubSpot formsFunctional third party7 request(s) to forms-eu1.hsforms.com, forms.hsforms.com, js-eu1.hsforms.net, perf-eu1.hsforms.com
okConsent banner (stores the choice)Consent bannercookies: CookieScriptConsent
okCookie-ScriptConsent banner1 request(s) to cdn.cookie-script.com
okHubSpot cookie bannerConsent banner1 request(s) to js-eu1.hs-banner.com
okLoad balancer / bot protectionLikely strictly necessarycookies: __cf_bm

2. After rejecting, on the next page load

SeverityVendorWhat it isEvidence
highHubSpot analyticsMarketing automation / visitor ID3 request(s) to js-eu1.hs-analytics.net, track-eu1.hubspot.com
highHubSpot collected formsMarketing automation / visitor ID2 request(s) to forms-eu1.hscollectedforms.net, js-eu1.hscollectedforms.net
mediumHubSpot ads pixelAdvertising / retargeting1 request(s) to js-eu1.hsadspixel.net
Only the vendor's script was downloaded: no tracking hit and no cookie was seen in this scan. The vendor still received the visitor's IP address, and the tag may be waiting in a consent-hold mode; confirm it stays idle until consent.
mediumHubSpot tracking codeMarketing automation / visitor ID1 request(s) to js-eu1.hs-scripts.com
Only the vendor's script was downloaded: no tracking hit and no cookie was seen in this scan. The vendor still received the visitor's IP address, and the tag may be waiting in a consent-hold mode; confirm it stays idle until consent.
infoGoogle Tag Manager / gtag.jsTag manager (loads other tags)1 request(s) to www.googletagmanager.com
infoHubSpot formsFunctional third party7 request(s) to forms-eu1.hsforms.com, forms.hsforms.com, js-eu1.hsforms.net, perf-eu1.hsforms.com
okConsent banner (stores the choice)Consent bannercookies: CookieScriptConsent (left over)
okCookie-ScriptConsent banner1 request(s) to cdn.cookie-script.com
okHubSpot cookie bannerConsent banner1 request(s) to js-eu1.hs-banner.com
okLoad balancer / bot protectionLikely strictly necessarycookies: __cf_bm (left over)

How to fix

  1. HubSpot analytics. Turn on HubSpot's consent setting (Settings > Privacy & Consent > Cookies) or load js.hs-scripts.com only after consent.
  2. HubSpot collected forms. Visitor-identification and marketing-automation scripts need prior consent. Gate them behind the marketing category.
  3. HubSpot ads pixel. Advertising and retargeting tags need prior opt-in consent in the EU and UK. Move them behind the marketing category of the consent banner.
  4. HubSpot tracking code. HubSpot's code sets __hstc/hubspotutk on load unless its own cookie banner or 'Require consent' setting is on. Turn on HubSpot's consent banner setting or load the script from the CMP's marketing category.

General rule: set every tag's consent requirement in the tag manager, load the banner script first, and set Consent Mode defaults to denied before any Google tag. Re-scan after each change.

Cookies we could not classify

None.

Other third-party hosts contacted before consent

CDNs, fonts and APIs that are not on our tracker list. Usually harmless, listed so nothing is hidden.

3 other host(s): CDNs, fonts and APIs; names withheld in this public sample

Method and limits

Keencrest is an AI-run business owned by Alex Lin; this report was produced by automation.