XM

xm.com

Compare

https://xm.com

Scanned Apr 15, 2026 · 32.6s

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 32 user data leaks before consent on xm.com, including FullStory, VWO, GA4 and 3 more.

Security Headers

2/6 present

Strict-Transport-Security

max-age=15768000 ; preload

Content-Security-Policy

Add a Content-Security-Policy header to prevent XSS and code injection attacks

X-Frame-Options

Add X-Frame-Options header to prevent clickjacking attacks

X-Content-Type-Options

nosniff

Referrer-Policy

Set a Referrer-Policy header to control how much referrer information is shared

Permissions-Policy

Add a Permissions-Policy header to restrict browser features like camera, microphone, and geolocation

Google Consent Mode

V2
90/100
GTM Containers:GTM-KPSPFZ

Consent Parameters

ParameterDefaultUpdated
Ad Storagedeniedgranted
Ad User Datadeniedgranted
Ad Personalizationdeniedgranted
Analytics Storagegrantedgranted
Functionality Storagenot_setnot_set
Personalization Storagenot_setnot_set
Security Storagenot_setnot_set

Issues (1)

analytics_storage defaults to "granted" — should default to "denied" for GDPR compliance

Post-Rejection Audit

Reject Button

Missing

Post-Rejection Fires

0 vendors

Consent Mode

Not Detected

GTM Load

968ms pre-consent

Google Tag Manager(GTM-KPSPFZ)

Loaded 968ms after page load — before the consent banner was detected (banner appeared at 9332ms). Per a 2022 German court ruling, GTM itself transmits the user's IP to Google pre-consent.

Consent Mode V2: Not Detected

Google Consent Mode was not detected on this site.

Consent Record Audit

Issues detected

Consent record stored after interaction

GDPR Art. 7(1)

No consent record written — cannot prove consent was given

No CMP consent cookie or localStorage entry was found after the consent interaction. GDPR requires controllers to demonstrate consent was given.

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
Analytics8 vendors
Marketing5 vendors
Security4
Functional3 vendors
Tag Management1 vendor
Critical19
Google Analytics
Google Analytics3 findingsID tracked

region1.google-analytics.com, _ga_P4EP81EM3L, _ga

GA4
criticalNetworkAnalyticsGA4

GA4 (Google) loaded before consent: Sends pageview and event data to Google Analytics

ID: G-P4EP81EM3LHost: region1.google-analytics.comFired: 4088ms after load
Google Analytics
criticalCookieAnalyticsGoogle Analytics

Google Analytics cookie "_ga_P4EP81EM3L" set before consent

Cookie: _ga_P4EP81EM3LDomain: .xm.com
Google Analytics
criticalCookieAnalyticsGoogle Analytics

Google Analytics cookie "_ga" set before consent

Cookie: _gaDomain: .xm.com
FullStory
FullStory4 findings

edge.fullstory.com, rs.fullstory.com, fs_uid, _fs_tab_id

FullStory
criticalNetworkAnalyticsFullStory

FullStory (FullStory) loaded before consent: FullStory session recording and digital experience analytics

Host: edge.fullstory.comFired: 497ms after load
FullStory
criticalNetworkAnalyticsFullStory

FullStory (FullStory) loaded before consent: FullStory session recording and digital experience analytics

Host: rs.fullstory.comFired: 3410ms after load
FullStory
criticalCookieAnalyticsFullStory

FullStory cookie "fs_uid" set before consent

Cookie: fs_uidDomain: .xm.com
FullStory
criticalStorageAnalyticsFullStory

FullStory (FullStory) wrote "_fs_tab_id" to sessionStorage before consent

Key: _fs_tab_idType: sessionStorageFired: 3386ms after load
VWO
VWO7 findings

dev.visualwebsiteoptimizer.com, _vwo_uuid_v2, _vwo_uuid, _vis_opt_s, _vis_opt_test_cookie, _vwo_ds, _vwo_sn

VWO
criticalNetworkAnalyticsVWO

VWO (VWO) loaded before consent: VWO A/B testing and conversion optimization

Host: dev.visualwebsiteoptimizer.comFired: 497ms after load
VWO
criticalCookieAnalyticsVWO

VWO cookie "_vwo_uuid_v2" set before consent

Cookie: _vwo_uuid_v2Domain: .xm.com
VWO
criticalCookieAnalyticsVWO

VWO cookie "_vwo_uuid" set before consent

Cookie: _vwo_uuidDomain: .xm.com
VWO
criticalCookieAnalyticsVWO

VWO cookie "_vis_opt_s" set before consent

Cookie: _vis_opt_sDomain: .xm.com
VWO
criticalCookieAnalyticsVWO

VWO cookie "_vis_opt_test_cookie" set before consent

Cookie: _vis_opt_test_cookieDomain: .xm.com
VWO
criticalCookieAnalyticsVWO

VWO cookie "_vwo_ds" set before consent

Cookie: _vwo_dsDomain: .xm.com
VWO
criticalCookieAnalyticsVWO

VWO cookie "_vwo_sn" set before consent

Cookie: _vwo_snDomain: .xm.com
New Relic (Analytics Tracker)
criticalNetworkAnalyticsNew Relic (Analytics Tracker)

New Relic (analytics) loaded before consent

Host: bam.eu01.nr-data.netFired: 4187ms after load
Wingify (Analytics Tracker)
criticalNetworkAnalyticsWingify (Analytics Tracker)

Wingify (analytics) loaded before consent

Host: r1eu01.visualwebsiteoptimizer.comFired: 8060ms after load
criticalConsent

No "reject all" option found — users cannot refuse non-essential cookies (ICO guidance requires this)

criticalConsent Record

No recognizable consent cookie or storage entry detected after interaction — GDPR Article 7(1) requires controllers to demonstrate consent was given (server-side storage cannot be verified)

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)

Warnings16
Google Tag Manager
Google Tag Manager2 findingsID tracked

www.googletagmanager.com

Google Tag Manager
warningNetworkTag ManagementGoogle Tag Manager

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

ID: GTM-KPSPFZHost: www.googletagmanager.comFired: 493ms after load
Google Tag Manager
warningGTMTag ManagementGoogle Tag Manager

GTM loaded before consent banner — IP address transmitted to Google pre-consent (container: GTM-KPSPFZ)

warningConsentUnknown

Unknown was clicked but no consent storage was written — tags may continue firing as if consent was never given

Google Ads
warningNetworkAdvertisingGoogle Ads

Google Ads cookieless ping detected before consent — GCM v2 active with ad_storage and ad_user_data: denied. No user identifiers are collected in this request.

Host: pagead2.googlesyndication.comFired: 3304ms after load
vendor logo
warningNetwork

Unknown third-party request to cdn.moloco.com before consent

Host: cdn.moloco.comFired: 3250ms after load
vendor logo
warningNetwork

Unknown third-party request to cloud.xm-cdn.com before consent

Host: cloud.xm-cdn.comFired: 3553ms after load
warningStorage

localStorage key "vwoSn" written before consent

Key: vwoSnType: localStorageFired: 2141ms after load
warningStorage

localStorage key "_vwo_1028869_config" written before consent

Key: _vwo_1028869_configType: localStorageFired: 2156ms after load
warningStorage

localStorage key "ss_incoming_params" written before consent

Key: ss_incoming_paramsType: localStorageFired: 3228ms after load
warningStorage

localStorage key "ss_webReferrer" written before consent

Key: ss_webReferrerType: localStorageFired: 3235ms after load
warningStorage

localStorage key "NRBA_SESSION" written before consent

Key: NRBA_SESSIONType: localStorageFired: 3563ms after load
warningStorage

localStorage key "_vwo_eventHistSession" written before consent

Key: _vwo_eventHistSessionType: localStorageFired: 5611ms after load
warningStorage

localStorage key "_vwo_eventHist" written before consent

Key: _vwo_eventHistType: localStorageFired: 5611ms after load
warningStorage

localStorage key "_vwo_nls_q_1028869" written before consent

Key: _vwo_nls_q_1028869Type: localStorageFired: 6364ms after load
warningStorage

localStorage key "_vwo_eventHistLastSession" written before consent

Key: _vwo_eventHistLastSessionType: localStorageFired: 6614ms after load
warningStorage

localStorage key "_vwo_nlsCache" written before consent

Key: _vwo_nlsCacheType: localStorageFired: 6852ms after load
Info5
New Relic
infoNetworkAnalyticsNew Relic

New Relic (New Relic) loaded before consent: New Relic browser monitoring agent

Host: js-agent.newrelic.comFired: 2981ms after load
Akamai
infoCookieFunctionalAkamai

Akamai cookie "AKA_A2" set before consent — Used for Akamai's Advanced Acceleration feature, intended to improve web performance

Cookie: AKA_A2Domain: .xm.comRetention: 1 hour or longer
infoCookieFunctional

Akamai bot manager — necessary for site protection

Cookie: _abckDomain: .xm.com
infoCookieFunctional

Akamai bot management session — necessary for site protection

Cookie: ak_bmscDomain: .xm.com
infoCookieFunctional

Akamai bot management — necessary for site protection

Cookie: bm_svDomain: .xm.com
Compliant34
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: CD7TT6JC77U9FFTD07M0Host: analytics.tiktok.comFired: 2310ms after load
TikTok Pixel
CompliantNetworkAdvertisingTikTok Pixel

TikTok Pixel (TikTok) loaded correctly after consent

Host: analytics-ipv6.tiktokw.usFired: 4517ms 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: 4433ms after load
TikTok Pixel
CompliantStorageAdvertisingTikTok Pixel

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

Key: tt_appInfoType: sessionStorageFired: 4446ms 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: 4447ms after load
Microsoft Clarity
Microsoft Clarity2 findingsID tracked

www.clarity.ms, scripts.clarity.ms

Microsoft Clarity
CompliantNetworkAnalyticsMicrosoft Clarity

Microsoft Clarity (Microsoft) loaded correctly after consent

ID: uetHost: www.clarity.msFired: 3279ms after load
Microsoft Clarity
CompliantNetworkAnalyticsMicrosoft Clarity

Microsoft Clarity (Microsoft) loaded correctly after consent

Host: scripts.clarity.msFired: 3948ms after load
Meta Pixel
Meta Pixel3 findingsID tracked

www.facebook.com, connect.facebook.net, _fbp

Meta Pixel
CompliantNetworkAdvertisingMeta Pixel

Meta Pixel (Meta) loaded correctly after consent

ID: 1620834084807082Host: www.facebook.comFired: 4149ms after load
Meta Pixel
CompliantNetworkAdvertisingMeta Pixel

Meta Pixel (Meta) loaded correctly after consent

Host: connect.facebook.netFired: 2318ms after load
Meta Pixel
CompliantCookieAdvertisingMeta Pixel

Meta Pixel cookie "_fbp" set correctly after consent

Cookie: _fbpDomain: .xm.com
Twitter/X Pixel
CompliantNetworkAdvertisingTwitter/X Pixel

Twitter/X Pixel (X (Twitter)) loaded correctly after consent

Host: static.ads-twitter.comFired: 2318ms after load
Microsoft Ads
Microsoft Ads3 findings

bat.bing.com, _uetsid, _uetvid

Microsoft Ads
CompliantNetworkAdvertisingMicrosoft Ads

Microsoft Ads (Microsoft) loaded correctly after consent

Host: bat.bing.comFired: 2318ms after load
Microsoft Ads
CompliantCookieAdvertisingMicrosoft Ads

Microsoft Ads cookie "_uetsid" set correctly after consent

Cookie: _uetsidDomain: .xm.com
Microsoft Ads
CompliantCookieAdvertisingMicrosoft Ads

Microsoft Ads cookie "_uetvid" set correctly after consent

Cookie: _uetvidDomain: .xm.com
Taboola
Taboola5 findings

cdn.taboola.com, trc.taboola.com, taboola_session_id, t_gid, t_pt_gid

Taboola
CompliantNetworkAdvertisingTaboola

Taboola (Taboola) loaded correctly after consent

Host: cdn.taboola.comFired: 2318ms after load
Taboola
CompliantNetworkAdvertisingTaboola

Taboola (Taboola) loaded correctly after consent

Host: trc.taboola.comFired: 3174ms after load
Taboola
CompliantCookieMarketingTaboola

Taboola cookie "taboola_session_id" set correctly after consent

Cookie: taboola_session_idDomain: .taboola.comRetention: Session
Taboola
CompliantCookieMarketingTaboola

Taboola cookie "t_gid" set correctly after consent

Cookie: t_gidDomain: .taboola.comRetention: 13 months
Taboola
CompliantCookieFunctionalTaboola

Taboola cookie "t_pt_gid" set correctly after consent

Cookie: t_pt_gidDomain: .taboola.comRetention: 1 Year
Google Ads
Google Ads4 findings

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

Google Ads
CompliantNetworkAdvertisingGoogle Ads

Google Ads (Google) loaded correctly after consent

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

Google Ads (Google) loaded correctly after consent

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

Google Ads cookie "_gcl_au" set correctly after consent

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

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

Key: _gcl_lsType: localStorageFired: -17582ms after load
DoubleClick/Google Marketing
DoubleClick/Google Marketing2 findings

test_cookie, IDE

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
X5 findings

muc_ads, guest_id_marketing, guest_id_ads, personalization_id, guest_id

CompliantCookieMarketingX

X cookie "muc_ads" set correctly after consent

Cookie: muc_adsDomain: .t.coRetention: 24 months
CompliantCookieMarketingX

X cookie "guest_id_marketing" set correctly after consent

Cookie: guest_id_marketingDomain: .twitter.comRetention: 2 years
CompliantCookieMarketingX

X cookie "guest_id_ads" set correctly after consent

Cookie: guest_id_adsDomain: .twitter.comRetention: 2 years
CompliantCookieMarketingX

X cookie "personalization_id" set correctly after consent

Cookie: personalization_idDomain: .twitter.comRetention: 2 years
CompliantCookieMarketingX

X cookie "guest_id" set correctly after consent

Cookie: guest_idDomain: .twitter.comRetention: 2 years
Bing / Microsoft
CompliantCookieMarketingBing / Microsoft

Bing / Microsoft cookie "MUID" set correctly after consent

Cookie: MUIDDomain: .bing.comRetention: 1 year
Adform
CompliantCookieMarketingAdform

Adform cookie "uid" set correctly after consent

Cookie: uidDomain: .criteo.comRetention: 60 days
Criteo
CompliantCookieAdvertisingCriteo

Criteo cookie "cto_bundle" set correctly after consent

Cookie: cto_bundleDomain: .criteo.com

Is this your site?

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

Scan xm.com

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