https://marksandspencer.com
Scanned Apr 15, 2026 · 42.9s
Your website score is
Grade
BannerConsent 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 65 user data leaks before consent on marksandspencer.com, including Optimizely (Advertising Tracker), Optimizely, Tealium (Tracker Tracker) and 11 more.
Security Headers
1/6 presentStrict-Transport-Security
max-age=15768000
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
Set X-Content-Type-Options to 'nosniff' to prevent MIME type sniffing
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
V2Consent Parameters
Issues (5)
ad_storage defaults to "granted" — should default to "denied" for GDPR compliance
ad_user_data defaults to "granted" — should default to "denied" for GDPR compliance
ad_personalization defaults to "granted" — should default to "denied" for GDPR compliance
analytics_storage defaults to "granted" — should default to "denied" for GDPR compliance
No GTM container detected — consent mode works best with Google Tag Manager
Post-Rejection Audit
Reject Button
Found
Post-Rejection Fires
4 vendors
Consent Mode
Not Detected
GTM Load
Not detected
Consent Mode V2: Not Detected
Google Consent Mode was not detected on this site.
✓ gtag('consent', 'update') call detected on rejection
Vendors firing after rejection (4)
| Vendor | Category | Timing | URL |
|---|---|---|---|
| Google — GA4 | analytics | 19609ms | www.googletagmanager.com |
| Google — Google Ads | advertising | 20085ms | www.googleadservices.com |
| Google — Google Ads | advertising | 20087ms | www.google.com |
| Google — Google Ads | advertising | 20151ms | googleads.g.doubleclick.net |
Consent Record Audit
PassConsent 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)Cookie settings link / floating button found
Tracker categories detected
Critical25
Meta Pixel2 findingsID trackedwww.facebook.com, connect.facebook.net

www.facebook.com, connect.facebook.net

Meta Pixel (Meta) loaded before consent: Meta Pixel tracking endpoint

Meta Pixel (Meta) loaded before consent: Sends user data to Meta for ad targeting and conversion tracking
Optimizely (Advertising Tracker)2 findingscdn-pci.optimizely.com, a22021240096.cdn-pci.optimizely.com

cdn-pci.optimizely.com, a22021240096.cdn-pci.optimizely.com

Optimizely (advertising) loaded before consent

Optimizely (advertising) loaded before consent

Optimizely (Optimizely) loaded before consent: Optimizely experimentation and A/B testing
Tealium (tracker) loaded before consent
Dynatrace (analytics) loaded before consent

OneTrust (tracker) loaded before consent
CHEQ (Tracker Tracker)2 findingseuob.iseaskies.com, obseu.iseaskies.com
euob.iseaskies.com, obseu.iseaskies.com
CHEQ (tracker) loaded before consent
CHEQ (tracker) loaded before consent
AppsFlyer (AppsFlyer) loaded before consent: AppsFlyer mobile attribution and marketing analytics
mParticle (mParticle) loaded before consent: mParticle customer data platform

Microsoft Ads (Microsoft) loaded before consent: Microsoft Ads (Bing) UET conversion tracking
Google Ads2 findingswww.googleadservices.com, googleads.g.doubleclick.net

www.googleadservices.com, googleads.g.doubleclick.net

Google Ads (Google) loaded before consent: Google Ads conversion tracking

Google Ads (Google) loaded before consent: Sends conversion data to Google Ads
Rokt (Analytics Tracker)2 findingsidentity.mparticle.com, jssdks.mparticle.com
identity.mparticle.com, jssdks.mparticle.com
Rokt (analytics) loaded before consent
Rokt (analytics) loaded before consent
advertising tracker at bat.bing.net loaded before consent
Dynatrace5 findingsrxVisitor, dtSa, dtCookie, rxvt, dtPC
rxVisitor, dtSa, dtCookie, rxvt, dtPC
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.
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.
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.
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.
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.

Google — GA4 fires after user rejected consent

Google — Google Ads fires after user rejected consent
Warnings42
Unknown third-party request to assets.digitalcontent.marksandspencer.app before consent
Unknown third-party request to images.ctfassets.net before consent
Unknown third-party request to www.google.com before consent
localStorage key "optimizely_data$$17762888736971241434$$23116130417$$tracker_optimizely" written before consent
localStorage key "optimizely_data$$17762888736971241434$$23116130417$$layer_states" written before consent
localStorage key "optimizely_data$$17762888736971241434$$23116130417$$session_state" written before consent
localStorage key "optimizely_data$$17762888736971241434$$23116130417$$visitor_profile" written before consent
localStorage key "optimizely_data$$17762888736971241434$$23116130417$$variation_map" written before consent
localStorage key "optimizely_data$$17762888736971241434$$23116130417$$layer_map" written before consent
localStorage key "optimizely_data$$17762888736971241434$$23116130417$$contextual_mab" written before consent
sessionStorage key "rxVisitor" written before consent
sessionStorage key "rxvisitid" written before consent
sessionStorage key "rxvt" written before consent
sessionStorage key "dtSa" written before consent
localStorage key "dtCFG_y9v2g88q_03d0fec4ecab1d80" written before consent
sessionStorage key "dtTAB_y9v2g88q" written before consent
localStorage key "experimentsFirstPath" written before consent
localStorage key "user-session-start-time" written before consent
sessionStorage key "onyx-dynatrace" written before consent
sessionStorage key "onyx-event-data" written before consent
localStorage key "optimizely_data$$17762888736971241434$$23116130417$$event_queue" written before consent
localStorage key "nextauth.message" written before consent
sessionStorage key "analytics_entry_ref" written before consent
sessionStorage key "analytics_entry_extid" written before consent
sessionStorage key "cwv" written before consent
sessionStorage key "dtCookie" written before consent
localStorage key "_cq_check" written before consent
sessionStorage key "_cq_tuid" written before consent
sessionStorage key "analytics_prev_pagename" written before consent
sessionStorage key "analytics_prev_pagetype" written before consent
sessionStorage key "analytics_prev_pagedetail" written before consent
sessionStorage key "AF_BANNERS_SESSION_ID" written before consent
localStorage key "_cq_cdr" written before consent
localStorage key "_cq_p_tg" written before consent
localStorage key "_cq_p_tt" written before consent
localStorage key "_cq_p_ai" written before consent
localStorage key "_cq_p_ven" written before consent
localStorage key "mparticle" written before consent
localStorage key "mprtcl-v4_FCDBA4DA-id-cache" written before consent
localStorage key "mprtcl-tos-FCDBA4DA" written before consent
sessionStorage key "mprtcl-v4_FCDBA4DA-events" written before consent
localStorage key "lastExternalReferrer" written before consent
Info14
Dynatrace (cdn) loaded before consent
Google (cdn) loaded before consent
Azure / Microsoft2 findingsASLBSA, ASLBSACORS

ASLBSA, ASLBSACORS

Azure / Microsoft cookie "ASLBSA" set before consent — Microsoft App Service and Front Door Affinity Cookies. These cookies are used to direct your browser to use the appropriate backend server.

Azure / Microsoft cookie "ASLBSACORS" set before consent — Microsoft App Service and Front Door Affinity Cookies. These cookies are used to direct your browser to use the appropriate backend server.
CHEQ AI Technologies2 findings_cq_duid, _cq_suid
_cq_duid, _cq_suid
CHEQ AI Technologies cookie "_cq_duid" set before consent — Used by the website to protect against fraud in relation to its referral system.
CHEQ AI Technologies cookie "_cq_suid" set before consent — This cookie is used to distinguish between humans and bots.

DoubleClick/Google Marketing cookie "test_cookie" set before consent — This cookie is set by DoubleClick (which is owned by Google) to determine if the website visitor's browser supports cookies.
NextAuth.js cookie "__Secure-next-auth.callback-url" set before consent — Used to store the callback URL which the user should be redirected to after login.

OneTrust cookie "OptanonConsent" set before consent
Akamai bot management session — necessary for site protection
Cross-site request forgery token — security mechanism
Java session identifier — necessary for site operation
Akamai bot manager — necessary for site protection
Akamai bot management — necessary for site protection
Compliant37
TikTok Pixel6 findingsID trackedanalytics.tiktok.com, _ttp, _tt_enable_cookie, tt_sessionId, tt_appInfo, tt_pixel_session_index

analytics.tiktok.com, _ttp, _tt_enable_cookie, tt_sessionId, tt_appInfo, tt_pixel_session_index

TikTok Pixel (TikTok) loaded correctly after consent

TikTok Pixel cookie "_ttp" set correctly after consent

TikTok Pixel cookie "_tt_enable_cookie" set correctly after consent

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

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

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

Optimizely (Optimizely) loaded correctly after consent

GA4 (Google) loaded correctly after consent
Pinterest Tag2 findingss.pinimg.com, _pin_unauth
s.pinimg.com, _pin_unauth
Pinterest Tag (Pinterest) loaded correctly after consent
Pinterest Tag cookie "_pin_unauth" set correctly after consent
Reddit Pixel2 findingsalb.reddit.com, _rdt_uuid
alb.reddit.com, _rdt_uuid
Reddit Pixel (Reddit) loaded correctly after consent
Reddit Pixel cookie "_rdt_uuid" set correctly after consent

Meta Pixel cookie "_fbp" set correctly after consent

OneTrust cookie "OptanonAlertBoxClosed" set correctly after consent
Microsoft Ads2 findings_uetsid, _uetvid

_uetsid, _uetvid

Microsoft Ads cookie "_uetsid" set correctly after consent

Microsoft Ads cookie "_uetvid" set correctly after consent
Adobe Audience Manager3 findingsdemdex, AMCVS_1E4022CE527845D10A490D4D%40AdobeOrg, dpm

demdex, AMCVS_1E4022CE527845D10A490D4D%40AdobeOrg, dpm

Adobe Audience Manager cookie "demdex" set correctly after consent

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

Adobe Audience Manager cookie "dpm" set correctly after consent
ContentSquare4 findings_cs_mk_aa, _cs_c, _cs_s, _cs_id
_cs_mk_aa, _cs_c, _cs_s, _cs_id
ContentSquare cookie "_cs_mk_aa" set correctly after consent
ContentSquare cookie "_cs_c" set correctly after consent
ContentSquare cookie "_cs_s" set correctly after consent
ContentSquare cookie "_cs_id" set correctly after consent

Bing / Microsoft cookie "MUID" set correctly after consent

Adobe Advertising cookie "everest_g_v2" set correctly after consent
Adobe Analytics5 findingss_tp, s_ppv, s_ecid, AMCV_1E4022CE527845D10A490D4D%40AdobeOrg, s_cc

s_tp, s_ppv, s_ecid, AMCV_1E4022CE527845D10A490D4D%40AdobeOrg, s_cc

Adobe Analytics cookie "s_tp" set correctly after consent

Adobe Analytics cookie "s_ppv" set correctly after consent

Adobe Analytics cookie "s_ecid" set correctly after consent

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

Adobe Analytics cookie "s_cc" set correctly after consent

DoubleClick/Google Marketing cookie "ar_debug" set correctly after consent
Google Ads2 findings_gcl_au, _gcl_ls

_gcl_au, _gcl_ls

Google Ads cookie "_gcl_au" set correctly after consent

Google Ads (Google) wrote "_gcl_ls" to localStorage correctly after consent
Pinterest cookie "_pinterest_ct_ua" set correctly after consent
Awin cookie "lantern" set correctly after consent
TikTok2 findingsttcsid, ttcsid_C65RF9P6C8J57OP84M40

ttcsid, ttcsid_C65RF9P6C8J57OP84M40

TikTok cookie "ttcsid" set correctly after consent

TikTok cookie "ttcsid_C65RF9P6C8J57OP84M40" set correctly after consent
Is this your site?
Run a full multi-page scan with monitoring and get detailed remediation steps
Scan marksandspencer.com →This audit is based on publicly observable website behavior. To request removal from the index, email support@tagleak.com