https://investing.com
Scanned Apr 15, 2026 · 41.5s
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 23 user data leaks before consent on investing.com, including Google (Tracker Tracker), Meta Pixel, HotJar and 2 more.
Security Headers
1/6 presentStrict-Transport-Security
Add HSTS header to enforce HTTPS connections and prevent downgrade attacks
Content-Security-Policy
upgrade-insecure-requests; block-all-mixed-content
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
Not DetectedGoogle Consent Mode v2 was not found on this page. GCM v2 allows Google's tags to adjust their behavior based on user consent, and is required for compliant advertising measurement in the EU. Without it, your Google Ads and GA4 conversions may be impacted after consent is declined.
GTM container detected (GTM-PGT3R3D) but no consent mode initialisation found. Add gtag('consent', 'default', ...) before your GTM snippet.
Post-Rejection Audit
Reject Button
Found
Post-Rejection Fires
2 vendors
Consent Mode
Not Detected
GTM Load
6792ms pre-consent
Google Tag Manager(GTM-PGT3R3D)
Loaded 6792ms after page load — before the consent banner was detected (banner appeared at 11080ms). 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.
✓ gtag('consent', 'update') call detected on rejection
Vendors firing after rejection (2)
| Vendor | Category | Timing | URL |
|---|---|---|---|
| Meta — Meta Pixel | advertising | 20689ms | www.facebook.com |
| Outbrain — Outbrain | advertising | 20740ms | tr.outbrain.com |
Consent Record Audit
Issues detectedConsent 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
Critical10
HotJar2 findingsID trackedstatic.hotjar.com, script.hotjar.com
static.hotjar.com, script.hotjar.com
HotJar (Hotjar) loaded before consent: Session recording and heatmap analytics
HotJar (Hotjar) loaded before consent: Session recording and heatmap analytics

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

Meta Pixel (Meta) loaded before consent: Sends user data to Meta for ad targeting and conversion tracking
Amazon (advertising) loaded before consent

Meta — Meta Pixel fires after user rejected consent
Outbrain — Outbrain fires after user rejected consent
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)
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)
Warnings17
Google Tag Manager2 findingsID trackedwww.googletagmanager.com

www.googletagmanager.com

Google Tag Manager (Google) loaded before consent: Loads the GTM container which may trigger other tags

GTM loaded before consent banner — IP address transmitted to Google pre-consent (container: GTM-PGT3R3D)
Unknown was clicked but no consent storage was written — tags may continue firing as if consent was never given
Unknown third-party request to monetization.prod.invmed.co before consent
Unknown third-party request to appleid.cdn-apple.com before consent
Unknown third-party request to accounts.google.com before consent
Unknown third-party request to floor.pbxai.com before consent
Unknown third-party request to cdn.pbxai.com before consent
sessionStorage key "fab_isp_first_pv" written before consent
localStorage key "warrenai_technical_analysis" written before consent
localStorage key "warrenai_technical_analysis_guest" written before consent
sessionStorage key "pro_promote_v2_shown" written before consent
localStorage key "pubx:defaults" written before consent
sessionStorage key "tabId" written before consent
sessionStorage key "__sak" written before consent
localStorage key "undefined" written before consent
localStorage key "265d5ac2-7d0c-4675-bf4d-421a61fb482e" written before consent
Info9

CookiePro CMP (OneTrust) loaded before consent: CookiePro (OneTrust) consent management platform
Google (Cdn)2 findingsfonts.googleapis.com, fonts.gstatic.com
fonts.googleapis.com, fonts.gstatic.com
Google (cdn) loaded before consent
Google (cdn) loaded before consent

Cloudflare Web Analytics (Cloudflare) loaded before consent: Cloudflare Web Analytics beacon — privacy-focused, no cookies

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

Cloudflare cookie "__cflb" set before consent — When enabling session affinity with Cloudflare Load Balancer, Cloudflare sets a __cflb cookie with a unique value on the first response to the requesting client. Cloudflare routes future requests to the same origin, optimizing network resource usage. In the event of a failover, Cloudflare sets a new __cflb cookie to direct future requests to the failover pool.
Cloudflare bot management — necessary for site operation
Cloudflare challenge clearance — necessary for site access
Is this your site?
Run a full multi-page scan with monitoring and get detailed remediation steps
Scan investing.com →This audit is based on publicly observable website behavior. To request removal from the index, email support@tagleak.com