BT

bt.com

Compare

https://bt.com

Scanned Apr 15, 2026 · 37.9s

Your website score is

0/100
Critical

Grade

F0

Banner

Yes

Regulatory Compliance

Multi-regulation overview — click any regulation for details

Technical scan only. A passing score does not equal legal compliance. Consult qualified legal counsel for your jurisdiction.

Tag Leak detected 17 user data leaks before consent on bt.com, including OneTrust (Tracker Tracker), GA4, Dynatrace.

Security Headers

6/6 present

Strict-Transport-Security

max-age=31536000

Content-Security-Policy

frame-ancestors 'self' *.adobe.com; default-src blob: https: data: *.sprinklr.com wss://*.sprinklr.com *.liveperson.net wss://*.liveperson.net 'unsafe-inline' 'unsafe-eval';

X-Frame-Options

SAMEORIGIN

X-Content-Type-Options

nosniff

Referrer-Policy

strict-origin-when-cross-origin

Permissions-Policy

geolocation 'self'

Google Consent Mode

V2
95/100

Consent Parameters

ParameterDefaultUpdated
Ad Storagedeniedgranted
Ad User Datadeniedgranted
Ad Personalizationdeniedgranted
Analytics Storagedeniedgranted
Functionality Storagedenieddenied
Personalization Storagedenieddenied
Security Storagedenieddenied

Issues (1)

No GTM container detected — consent mode works best with Google Tag Manager

Post-Rejection Audit

Reject Button

Found

Post-Rejection Fires

3 vendors

Consent Mode

Advanced

GTM Load

Not detected

Consent Mode V2: Advanced

Advanced Consent Mode — consent update call fires on rejection and tracking stops correctly.

✓ gtag('consent', 'update') call detected on rejection

Vendors firing after rejection (3)

VendorCategoryTimingURL
Google — GA4analytics17232msregion1.google-analytics.com
Google — GA4analytics17319mswww.googletagmanager.com
Google — Google Adsadvertising17528mspagead2.googlesyndication.com

Consent Record Audit

Issues detected

Consent record stored after interaction

GDPR Art. 7(1)

Found: OptanonConsent (OneTrust)

Record contains timestamp

Art. 7(1)

Timestamp field detected

Record contains consent state

Art. 7(1)

Accept/reject state detected

Record contains consent categories

Art. 7(1)

Consent categories (analytics, marketing, etc.) not found in record

Consent withdrawal mechanism accessible

GDPR Art. 7(3)

No way for users to withdraw consent found on page

No cookie settings link, footer link, or floating consent button was detected. GDPR requires users to withdraw consent as easily as they gave it.

Why this matters

Under GDPR Article 7, controllers must be able to demonstrate that consent was given (Art. 7(1)) and ensure users can withdraw consent at any time, as easily as giving it (Art. 7(3)). Sites with no consent record or no withdrawal mechanism cannot legally rely on consent as a lawful basis.

Tracker categories detected

Advertising7 vendors
Analytics5 vendors
Marketing7 vendors
Functional3 vendors
Critical10
OneTrust (Tracker Tracker)
criticalNetworkOneTrust (Tracker Tracker)

OneTrust (tracker) loaded before consent

Host: cdn-ukwest.onetrust.comFired: 2843ms after load
GA4
criticalNetworkAnalyticsGA4

GA4 loads before consent — this is expected and required for GCM v2 to initialise consent defaults before any tags fire

Host: www.googletagmanager.comFired: 2843ms after load
Dynatrace
Dynatrace5 findings

rxVisitor, dtSa, dtCookie, rxvt, dtPC

Dynatrace
criticalCookieAnalyticsDynatrace

Dynatrace cookie "rxVisitor" set before consent — This cookie is used by RUM API, Dynatrace Real User Monitoring (RUM) gives you the power to know your customers by providing performance analysis in real time.

Cookie: rxVisitorDomain: .bt.comRetention: Session
Dynatrace
criticalCookieAnalyticsDynatrace

Dynatrace cookie "dtSa" set before consent — This cookie is used by RUM API, Dynatrace Real User Monitoring (RUM) gives you the power to know your customers by providing performance analysis in real time.

Cookie: dtSaDomain: .bt.comRetention: Session
Dynatrace
criticalCookieAnalyticsDynatrace

Dynatrace cookie "dtCookie" set before consent — This cookie is used by RUM API, Dynatrace Real User Monitoring (RUM) gives you the power to know your customers by providing performance analysis in real time.

Cookie: dtCookieDomain: .bt.comRetention: Session
Dynatrace
criticalCookieAnalyticsDynatrace

Dynatrace cookie "rxvt" set before consent — This cookie is used by RUM API, Dynatrace Real User Monitoring (RUM) gives you the power to know your customers by providing performance analysis in real time.

Cookie: rxvtDomain: .bt.comRetention: Session
Dynatrace
criticalCookieAnalyticsDynatrace

Dynatrace cookie "dtPC" set before consent — This cookie is used by RUM API, Dynatrace Real User Monitoring (RUM) gives you the power to know your customers by providing performance analysis in real time.

Cookie: dtPCDomain: .bt.comRetention: Session
Google — GA4
criticalPost-RejectionAnalyticsGoogle — GA4

Google — GA4 fires after user rejected consent

Fired: 17232ms after load
Google — Google Ads
criticalPost-RejectionAdvertisingGoogle — Google Ads

Google — Google Ads fires after user rejected consent

Fired: 17528ms after load
criticalConsent Record

No recognizable consent withdrawal mechanism detected — GDPR Article 7(3) requires users can withdraw consent as easily as giving it (cookie settings link or floating button expected)

Warnings10
vendor logo
warningNetwork

Unknown third-party request to assets.adobedtm.com before consent

Host: assets.adobedtm.comFired: 854ms after load
vendor logo
warningNetwork

Unknown third-party request to www.google.com before consent

Host: www.google.comFired: 2901ms after load
vendor logo
warningNetwork

Unknown third-party request to img01.products.bt.co.uk before consent

Host: img01.products.bt.co.ukFired: 3988ms after load
warningStorage

sessionStorage key "rxVisitor" written before consent

Key: rxVisitorType: sessionStorageFired: 1380ms after load
warningStorage

sessionStorage key "rxvisitid" written before consent

Key: rxvisitidType: sessionStorageFired: 1392ms after load
warningStorage

sessionStorage key "rxvt" written before consent

Key: rxvtType: sessionStorageFired: 1421ms after load
warningStorage

sessionStorage key "dtSa" written before consent

Key: dtSaType: sessionStorageFired: 1520ms after load
warningStorage

sessionStorage key "showCustHome" written before consent

Key: showCustHomeType: sessionStorageFired: 2440ms after load
warningStorage

localStorage key "custType" written before consent

Key: custTypeType: localStorageFired: 2440ms after load
warningStorage

sessionStorage key "showNonCustHome" written before consent

Key: showNonCustHomeType: sessionStorageFired: 3435ms after load
Info10
Dynatrace (Cdn)
infoNetworkDynatrace (Cdn)

Dynatrace (cdn) loaded before consent

Host: js-cdn.dynatrace.comFired: 854ms after load
Google (Cdn)
Google (Cdn)2 findings

www.gstatic.com, fonts.gstatic.com

Google (Cdn)
infoNetworkGoogle (Cdn)

Google (cdn) loaded before consent

Host: www.gstatic.comFired: 4561ms after load
Google (Cdn)
infoNetworkGoogle (Cdn)

Google (cdn) loaded before consent

Host: fonts.gstatic.comFired: 5808ms after load
OneTrust CMP
infoNetworkConsent MgmtOneTrust CMP

OneTrust CMP (OneTrust) loaded before consent: OneTrust geo-lookup — determines which consent banner to show based on user location

Host: geolocation.onetrust.comFired: 5123ms after load
Imperva3 findings

nlbi_3141921_3174521, nlbi_3141921_3060389, nlbi_3141921

infoCookieFunctionalImperva

Imperva cookie "nlbi_3141921_3174521" set before consent — Incapsula DDoS Protection and Web Application Firewall: Load balancing cookie. To ensure requests by a client are sent to the same origin server.

Cookie: nlbi_3141921_3174521Domain: .bt.comRetention: session
infoCookieFunctionalImperva

Imperva cookie "nlbi_3141921_3060389" set before consent — Incapsula DDoS Protection and Web Application Firewall: Load balancing cookie. To ensure requests by a client are sent to the same origin server.

Cookie: nlbi_3141921_3060389Domain: .bt.comRetention: session
infoCookieFunctionalImperva

Imperva cookie "nlbi_3141921" set before consent — Incapsula DDoS Protection and Web Application Firewall: Load balancing cookie. To ensure requests by a client are sent to the same origin server.

Cookie: nlbi_3141921Domain: .bt.comRetention: session
OneTrust
infoCookieConsent MgmtOneTrust

OneTrust cookie "OptanonConsent" set before consent

Cookie: OptanonConsentDomain: .bt.com
infoCookieFunctional

Imperva/Incapsula visitor ID — necessary for site protection

Cookie: visid_incap_3141921Domain: .bt.com
infoCookieFunctional

Imperva/Incapsula session — necessary for site protection

Cookie: incap_ses_1842_3141921Domain: .bt.com
Compliant38
Pinterest Tag
CompliantNetworkAdvertisingPinterest Tag

Pinterest Tag (Pinterest) loaded correctly after consent

ID: 2614351310657Host: ct.pinterest.comFired: 4006ms after load
TikTok Pixel
TikTok Pixel6 findingsID tracked

analytics.tiktok.com, analytics-ipv6.tiktokw.us, _ttp, tt_sessionId, tt_appInfo, tt_pixel_session_index

TikTok Pixel
CompliantNetworkAdvertisingTikTok Pixel

TikTok Pixel (TikTok) loaded correctly after consent

ID: C3NEM9B3G487IS97K16GHost: analytics.tiktok.comFired: 4027ms after load
TikTok Pixel
CompliantNetworkAdvertisingTikTok Pixel

TikTok Pixel (TikTok) loaded correctly after consent

Host: analytics-ipv6.tiktokw.usFired: 4519ms after load
TikTok Pixel
CompliantCookieAdvertisingTikTok Pixel

TikTok Pixel cookie "_ttp" set correctly after consent

Cookie: _ttpDomain: .tiktok.com
TikTok Pixel
CompliantStorageAdvertisingTikTok Pixel

TikTok Pixel (TikTok) wrote "tt_sessionId" to sessionStorage correctly after consent

Key: tt_sessionIdType: sessionStorageFired: -21746ms after load
TikTok Pixel
CompliantStorageAdvertisingTikTok Pixel

TikTok Pixel (TikTok) wrote "tt_appInfo" to sessionStorage correctly after consent

Key: tt_appInfoType: sessionStorageFired: -21727ms after load
TikTok Pixel
CompliantStorageAdvertisingTikTok Pixel

TikTok Pixel (TikTok) wrote "tt_pixel_session_index" to sessionStorage correctly after consent

Key: tt_pixel_session_indexType: sessionStorageFired: -21723ms after load
Adobe Analytics
Adobe Analytics5 findings

bt.tt.omtrdc.net, s_ecid, AMCV_0AA54673527831890A490D45%40AdobeOrg, s_cc, s_sq

Adobe Analytics
CompliantNetworkAnalyticsAdobe Analytics

Adobe Analytics (Adobe) loaded correctly after consent

Host: bt.tt.omtrdc.netFired: 1045ms after load
Adobe Analytics
CompliantCookieMarketingAdobe Analytics

Adobe Analytics cookie "s_ecid" set correctly after consent

Cookie: s_ecidDomain: .bt.comRetention: 2 years
Adobe Analytics
CompliantCookieAnalyticsAdobe Analytics

Adobe Analytics cookie "AMCV_0AA54673527831890A490D45%40AdobeOrg" set correctly after consent

Cookie: AMCV_0AA54673527831890A490D45%40AdobeOrgDomain: .bt.com
Adobe Analytics
CompliantCookieAnalyticsAdobe Analytics

Adobe Analytics cookie "s_cc" set correctly after consent

Cookie: s_ccDomain: .bt.com
Adobe Analytics
CompliantCookieAnalyticsAdobe Analytics

Adobe Analytics cookie "s_sq" set correctly after consent

Cookie: s_sqDomain: .bt.com
Google Ads
Google Ads5 findings

www.google.com, www.googleadservices.com, googleads.g.doubleclick.net, _gcl_au, _gcl_ls

Google Ads
CompliantNetworkAdvertisingGoogle Ads

Google Ads (Google) loaded correctly after consent

Host: www.google.comFired: 3238ms after load
Google Ads
CompliantNetworkAdvertisingGoogle Ads

Google Ads (Google) loaded correctly after consent

Host: www.googleadservices.comFired: 3669ms after load
Google Ads
CompliantNetworkAdvertisingGoogle Ads

Google Ads (Google) loaded correctly after consent

Host: googleads.g.doubleclick.netFired: 3776ms after load
Google Ads
CompliantCookieAdvertisingGoogle Ads

Google Ads cookie "_gcl_au" set correctly after consent

Cookie: _gcl_auDomain: .bt.com
Google Ads
CompliantStorageAdvertisingGoogle Ads

Google Ads (Google) wrote "_gcl_ls" to localStorage correctly after consent

Key: _gcl_lsType: localStorageFired: -22594ms after load
Meta Pixel
CompliantNetworkAdvertisingMeta Pixel

Meta Pixel (Meta) loaded correctly after consent

Host: www.facebook.comFired: 4006ms after load
Snapchat Pixel
CompliantNetworkAdvertisingSnapchat Pixel

Snapchat Pixel (Snapchat) loaded correctly after consent

Host: tr.snapchat.comFired: 4006ms after load
Reddit Pixel
Reddit Pixel2 findings

alb.reddit.com, _rdt_uuid

Reddit Pixel
CompliantNetworkAdvertisingReddit Pixel

Reddit Pixel (Reddit) loaded correctly after consent

Host: alb.reddit.comFired: 4161ms after load
Reddit Pixel
CompliantCookieAdvertisingReddit Pixel

Reddit Pixel cookie "_rdt_uuid" set correctly after consent

Cookie: _rdt_uuidDomain: .bt.com
OneTrust
CompliantCookieConsent MgmtOneTrust

OneTrust cookie "OptanonAlertBoxClosed" set correctly after consent

Cookie: OptanonAlertBoxClosedDomain: .bt.com
Adobe Audience Manager
Adobe Audience Manager4 findings

mbox, at_check, demdex, AMCVS_0AA54673527831890A490D45%40AdobeOrg

Adobe Audience Manager
CompliantCookieMarketingAdobe Audience Manager

Adobe Audience Manager cookie "mbox" set correctly after consent

Cookie: mboxDomain: .bt.comRetention: 2 years
Adobe Audience Manager
CompliantCookieFunctionalAdobe Audience Manager

Adobe Audience Manager cookie "at_check" set correctly after consent

Cookie: at_checkDomain: .bt.comRetention: session
Adobe Audience Manager
CompliantCookieMarketingAdobe Audience Manager

Adobe Audience Manager cookie "demdex" set correctly after consent

Cookie: demdexDomain: .demdex.netRetention: 180 days after last activity or 10 years when opting out
Adobe Audience Manager
CompliantCookieMarketingAdobe Audience Manager

Adobe Audience Manager cookie "AMCVS_0AA54673527831890A490D45%40AdobeOrg" set correctly after consent

Cookie: AMCVS_0AA54673527831890A490D45%40AdobeOrgDomain: .bt.comRetention: Session
Google Analytics
Google Analytics2 findings

_ga, _ga_19536D3EL2

Google Analytics
CompliantCookieAnalyticsGoogle Analytics

Google Analytics cookie "_ga" set correctly after consent

Cookie: _gaDomain: .bt.com
Google Analytics
CompliantCookieAnalyticsGoogle Analytics

Google Analytics cookie "_ga_19536D3EL2" set correctly after consent

Cookie: _ga_19536D3EL2Domain: .bt.com
Snapchat
CompliantCookieMarketingSnapchat

Snapchat cookie "sc_at" set correctly after consent

Cookie: sc_atDomain: .snapchat.comRetention: 1 year
DoubleClick/Google Marketing
DoubleClick/Google Marketing3 findings

ar_debug, test_cookie, IDE

DoubleClick/Google Marketing
CompliantCookieMarketingDoubleClick/Google Marketing

DoubleClick/Google Marketing cookie "ar_debug" set correctly after consent

Cookie: ar_debugDomain: .pinterest.comRetention: Persistent
DoubleClick/Google Marketing
CompliantCookieFunctionalDoubleClick/Google Marketing

DoubleClick/Google Marketing cookie "test_cookie" set correctly after consent

Cookie: test_cookieDomain: .doubleclick.netRetention: 1 year
DoubleClick/Google Marketing
CompliantCookieMarketingDoubleClick/Google Marketing

DoubleClick/Google Marketing cookie "IDE" set correctly after consent

Cookie: IDEDomain: .doubleclick.netRetention: 2 years
Tapad3 findings

TapAd_TS, TapAd_DID, TapAd_3WAY_SYNCS

CompliantCookieMarketingTapad

Tapad cookie "TapAd_TS" set correctly after consent

Cookie: TapAd_TSDomain: .tapad.comRetention: 2 months
CompliantCookieMarketingTapad

Tapad cookie "TapAd_DID" set correctly after consent

Cookie: TapAd_DIDDomain: .tapad.comRetention: 2 months
CompliantCookieMarketingTapad

Tapad cookie "TapAd_3WAY_SYNCS" set correctly after consent

Cookie: TapAd_3WAY_SYNCSDomain: .tapad.comRetention: 2 months
Amazon
Amazon2 findings

ad-id, ad-privacy

Amazon
CompliantCookieMarketingAmazon

Amazon cookie "ad-id" set correctly after consent

Cookie: ad-idDomain: .amazon-adsystem.comRetention: 190 days
Amazon
CompliantCookieMarketingAmazon

Amazon cookie "ad-privacy" set correctly after consent

Cookie: ad-privacyDomain: .amazon-adsystem.comRetention: 5 years
CompliantCookieMarketingAwin

Awin cookie "lantern" set correctly after consent

Cookie: lanternDomain: .bt.comRetention: Awin

Is this your site?

Run a full multi-page scan with monitoring and get detailed remediation steps

Scan bt.com

This audit is based on publicly observable website behavior. To request removal from the index, email support@tagleak.com