The Independent.ie website demonstrates multiple violations of GDPR and ePrivacy requirements including pre-consent tracking, failure to respect user rejection choices, and unequal consent mechanisms. The site initiates tracking requests before consent is obtained and continues tracking activities even after users reject all cookies. The consent banner requires users to click through multiple layers to reject tracking while making acceptance immediately available, creating prohibited dark patterns under EDPB guidance.
🤖 = AI-assessed · 👁 = Vision (screenshot) · HIGH MEDIUM LOW = risk level from legal analysis
2 tracking domain(s) made requests before any consent signal was recorded.
| domain | vendor | category | request_count | first_request_time | example_url |
|---|---|---|---|---|---|
| securepubads.g.doubleclick.net | Google Publisher Ads | ADVERTISING | 6 | 2026-04-02T14:47:46 | https://securepubads.g.doubleclick.net/tag/js/gpt.js |
| pagead2.googlesyndication.com | Google AdSense/GAM | ADVERTISING | 1 | 2026-04-02T14:47:51 | https://pagead2.googlesyndication.com/pagead/ping?e=1 |
No advertising cookies found in Storage before consent.
Tracker globals defined before consent: ['google_tag_manager']
| global | type |
|---|---|
| google_tag_manager | __defined_object__ |
No tracking keys found in web storage pre-consent.
2 tracking script(s) in DOM without CMP-blocking type attribute.
| src | type | vendor |
|---|---|---|
| https://securepubads.g.doubleclick.net/tag/js/gpt.js | Google Publisher Ads | |
| https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202603300101/pubads_impl.js?cb=3109751 | Google Publisher Ads |
No post-accept phase detected. Was 'Accept All' clicked during recording?
52 cookies in storage after Accept All (full metadata).
| name | domain | expires_days | http_only | secure | same_site | classification |
|---|---|---|---|---|---|---|
| X-AB | sc-static.net | 1.0 | False | True | None | UNKNOWN |
| __cf_bm | .independent.ie | 0.0 | True | True | Lax | ESSENTIAL |
| gig_canary | cdns.gigya.com | 0.0 | True | True | None | UNKNOWN |
| fp.browser_session_id | .independent.ie | session | False | False | Lax | ESSENTIAL |
| gig_canary | cdns.eu1.gigya.com | 0.0 | True | True | None | UNKNOWN |
| gmid | .gigya-cp.independent.ie | 365.0 | True | True | None | UNKNOWN |
| ucid | .gigya-cp.independent.ie | 365.0 | True | True | None | UNKNOWN |
| hasGmid | .gigya-cp.independent.ie | 183.0 | False | True | None | UNKNOWN |
| gig_bootstrap_4_CO8231Ix1RbYi2EmMbsrlw | .independent.ie | 365.0 | False | True | None | UNKNOWN |
| sc | www.independent.ie | 0.0 | False | False | Lax | UNKNOWN |
| _mhtc_cId | .independent.ie | 31.0 | False | False | Lax | UNKNOWN |
| didomi_token | .independent.ie | 366.0 | False | False | Lax | ESSENTIAL |
| euconsent-v2 | .independent.ie | 366.0 | False | False | Lax | ESSENTIAL |
| _gcl_au | .independent.ie | 90.0 | False | False | Lax | UNKNOWN |
| sessionId | www.independent.ie | 0.0 | False | False | Lax | ESSENTIAL |
| viewSq | www.independent.ie | 0.0 | False | False | Lax | UNKNOWN |
| _mhtrdisableshortname | www.independent.ie | 0.0 | False | False | Lax | UNKNOWN |
| _ttp | .tiktok.com | 90.0 | False | True | None | UNKNOWN |
| uid | .criteo.com | 390.0 | False | True | None | UNKNOWN |
| _twpid | .independent.ie | 390.0 | False | True | Strict | UNKNOWN |
| _rdt_uuid | .independent.ie | 90.0 | False | True | Strict | UNKNOWN |
| muc_ads | .t.co | 400.0 | False | True | None | UNKNOWN |
| IDE | .doubleclick.net | 390.0 | True | True | None | AD |
| _scid | .independent.ie | 395.0 | False | False | Lax | UNKNOWN |
| _scid_r | .independent.ie | 395.0 | False | False | Lax | UNKNOWN |
| guest_id_marketing | .twitter.com | 400.0 | False | True | None | UNKNOWN |
| guest_id_ads | .twitter.com | 400.0 | False | True | None | UNKNOWN |
| personalization_id | .twitter.com | 400.0 | False | True | None | UNKNOWN |
| guest_id | .twitter.com | 400.0 | False | True | None | UNKNOWN |
| sc_at | .snapchat.com | 390.0 | False | True | None | UNKNOWN |
| test_cookie | .doubleclick.net | 0.0 | True | True | None | UNKNOWN |
| bcookie | .linkedin.com | 365.0 | False | True | None | UNKNOWN |
| li_gc | .linkedin.com | 180.0 | False | True | None | UNKNOWN |
| lidc | .linkedin.com | 1.0 | False | True | None | UNKNOWN |
| _ga | .independent.ie | 400.0 | False | False | Lax | AD |
| cto_bundle | .criteo.com | 390.0 | False | True | None | UNKNOWN |
| _mhtc_sId | .independent.ie | 0.0 | False | False | Lax | UNKNOWN |
| _hjSessionUser_1713171 | .independent.ie | 365.0 | False | True | None | ESSENTIAL |
| _hjSession_1713171 | .independent.ie | 0.0 | False | True | None | ESSENTIAL |
| _fbp | .independent.ie | 90.0 | False | False | Lax | AD |
| _tt_enable_cookie | .independent.ie | 90.0 | False | False | Lax | UNKNOWN |
| _ttp | .independent.ie | 90.0 | False | False | Lax | UNKNOWN |
| __gads | .independent.ie | 390.0 | False | True | None | AD |
| __gpi | .independent.ie | 390.0 | False | True | None | AD |
| __eoi | .independent.ie | 180.0 | False | True | None | AD |
| cto_bundle | .independent.ie | 390.0 | False | False | Lax | UNKNOWN |
| _ga_W2EK8THFQJ | .independent.ie | 400.0 | False | False | Lax | AD |
| ttcsid | .independent.ie | 90.0 | False | False | Lax | UNKNOWN |
| ttcsid_CSN1O63C77U450RMS5E0 | .independent.ie | 90.0 | False | False | Lax | UNKNOWN |
| DSID | .doubleclick.net | 0.0 | True | True | None | AD |
| _ain_cid | www.independent.ie | 0.0 | False | True | Strict | UNKNOWN |
| _ain_uid | www.independent.ie | 180.0 | False | True | Strict | UNKNOWN |
Globals defined after consent: ['dataLayer', 'google_tag_manager', 'fbq', '_fbq', 'hj', '_hjSettings', 'twq', 'twttr', 'lintrk', 'ttq', 'snaptr']
| global | type |
|---|---|
| dataLayer | __defined_object__ |
| google_tag_manager | __defined_object__ |
| fbq | function |
| _fbq | function |
| hj | function |
| _hjSettings | __defined_object__ |
| twq | function |
| twttr | __defined_object__ |
| lintrk | function |
| ttq | __defined_object__ |
| snaptr | function |
Accept and Reject both require 1 click(s). Symmetric.
| accept_clicks | reject_clicks | extra_clicks_to_reject | reject_required_manage_panel |
|---|---|---|---|
| 1 | 1 | 0 | True |
No post-reject phase detected in this HAR.
No post-reject phase detected in this HAR.
No post-reject phase detected in this HAR.
Tracking activity detected on 2 subpage(s) after reject.
| page | global | phase |
|---|---|---|
| https://member.independent.ie/newsletter | ga | subpage_1 |
| https://member.independent.ie/newsletter | _gaq | subpage_1 |
| https://member.independent.ie/newsletter | google_tag_manager | subpage_1 |
| https://member.independent.ie/newsletter | GoogleAnalyticsObject | subpage_1 |
| https://www.independent.ie/entertainment/puzzles | google_tag_manager | subpage_2 |
No post-reject phase detected.
No advertising cookies visible in document.cookie post-reject.
| doc_cookie_snippet |
|---|
| didomi_token=eyJ1c2VyX2lkIjoiMTlkNGVhYTItNDcyOC02ZDhlLWFjNDItOGU1MjJjMTMwZDFlIiwiY3JlYXRlZCI6IjIwMjYtMDQtMDJUMTQ6NDc6NDYuNTQ2WiIsInVwZGF0ZWQiOiIyMDI2LTA0LTAyVDE0OjQ3OjQ2LjU0NloiLCJ2ZXJzaW9uIjpudWxsfQ==; fp.browser_session_id=e692cf5c-f9ec-4b16-b0f8-c32678d1ab84; gig_bootstrap_4_CO8231Ix1RbYi2EmMbsrl… |
No tracking identifiers found in localStorage/sessionStorage post-reject.
34 first-party cookies in Storage after Accept All.
| name | domain | expires_days | http_only | secure | same_site | classification |
|---|---|---|---|---|---|---|
| __cf_bm | .independent.ie | 0.0 | True | True | Lax | ESSENTIAL |
| fp.browser_session_id | .independent.ie | session | False | False | Lax | ESSENTIAL |
| gmid | .gigya-cp.independent.ie | 365.0 | True | True | None | UNKNOWN |
| ucid | .gigya-cp.independent.ie | 365.0 | True | True | None | UNKNOWN |
| hasGmid | .gigya-cp.independent.ie | 183.0 | False | True | None | UNKNOWN |
| gig_bootstrap_4_CO8231Ix1RbYi2EmMbsrlw | .independent.ie | 365.0 | False | True | None | UNKNOWN |
| sc | www.independent.ie | 0.0 | False | False | Lax | UNKNOWN |
| _mhtc_cId | .independent.ie | 31.0 | False | False | Lax | UNKNOWN |
| didomi_token | .independent.ie | 366.0 | False | False | Lax | ESSENTIAL |
| euconsent-v2 | .independent.ie | 366.0 | False | False | Lax | ESSENTIAL |
| _gcl_au | .independent.ie | 90.0 | False | False | Lax | UNKNOWN |
| sessionId | www.independent.ie | 0.0 | False | False | Lax | ESSENTIAL |
| viewSq | www.independent.ie | 0.0 | False | False | Lax | UNKNOWN |
| _mhtrdisableshortname | www.independent.ie | 0.0 | False | False | Lax | UNKNOWN |
| _twpid | .independent.ie | 390.0 | False | True | Strict | UNKNOWN |
| _rdt_uuid | .independent.ie | 90.0 | False | True | Strict | UNKNOWN |
| _scid | .independent.ie | 395.0 | False | False | Lax | UNKNOWN |
| _scid_r | .independent.ie | 395.0 | False | False | Lax | UNKNOWN |
| _ga | .independent.ie | 400.0 | False | False | Lax | AD |
| _mhtc_sId | .independent.ie | 0.0 | False | False | Lax | UNKNOWN |
| _hjSessionUser_1713171 | .independent.ie | 365.0 | False | True | None | ESSENTIAL |
| _hjSession_1713171 | .independent.ie | 0.0 | False | True | None | ESSENTIAL |
| _fbp | .independent.ie | 90.0 | False | False | Lax | AD |
| _tt_enable_cookie | .independent.ie | 90.0 | False | False | Lax | UNKNOWN |
| _ttp | .independent.ie | 90.0 | False | False | Lax | UNKNOWN |
| __gads | .independent.ie | 390.0 | False | True | None | AD |
| __gpi | .independent.ie | 390.0 | False | True | None | AD |
| __eoi | .independent.ie | 180.0 | False | True | None | AD |
| cto_bundle | .independent.ie | 390.0 | False | False | Lax | UNKNOWN |
| _ga_W2EK8THFQJ | .independent.ie | 400.0 | False | False | Lax | AD |
| ttcsid | .independent.ie | 90.0 | False | False | Lax | UNKNOWN |
| ttcsid_CSN1O63C77U450RMS5E0 | .independent.ie | 90.0 | False | False | Lax | UNKNOWN |
| _ain_cid | www.independent.ie | 0.0 | False | True | Strict | UNKNOWN |
| _ain_uid | www.independent.ie | 180.0 | False | True | Strict | UNKNOWN |
47 cookie(s) observed but not found in cookie policy at https://www.mediahuis.ie/cookiepolicy.
| cookie_name | status |
|---|---|
| __eoi | observed but not in cookie policy |
| _rdt_uuid | observed but not in cookie policy |
| _ga | observed but not in cookie policy |
| DSID | observed but not in cookie policy |
| gig_canary | observed but not in cookie policy |
| guest_id_ads | observed but not in cookie policy |
| guest_id | observed but not in cookie policy |
| cto_bundle | observed but not in cookie policy |
| _mhtc_cId | observed but not in cookie policy |
| _twpid | observed but not in cookie policy |
| ttcsid | observed but not in cookie policy |
| _ain_cid | observed but not in cookie policy |
| _tt_enable_cookie | observed but not in cookie policy |
| didomi_token | observed but not in cookie policy |
| X-AB | observed but not in cookie policy |
| _fbp | observed but not in cookie policy |
| ucid | observed but not in cookie policy |
| lidc | observed but not in cookie policy |
| bcookie | observed but not in cookie policy |
| __cf_bm | observed but not in cookie policy |
| sc | observed but not in cookie policy |
| _ga_W2EK8THFQJ | observed but not in cookie policy |
| gmid | observed but not in cookie policy |
| hasGmid | observed but not in cookie policy |
| gig_bootstrap_4_CO8231Ix1RbYi2EmMbsrlw | observed but not in cookie policy |
| _hjSession_1713171 | observed but not in cookie policy |
| viewSq | observed but not in cookie policy |
| sc_at | observed but not in cookie policy |
| IDE | observed but not in cookie policy |
| test_cookie | observed but not in cookie policy |
AI analysis: 0 cookie(s) fail the strictly-necessary test and should be absent after reject-all. Summary:
No advertising cookies observed in Set-Cookie response headers.
No CNAME cloaking detected across 4 subdomain(s).
| subdomain | cname_target | is_tracker | vendor | error |
|---|---|---|---|---|
| member.independent.ie | (no CNAME / A record only) | False | None | None |
| focus.independent.ie | (no CNAME / A record only) | False | None | None |
| gigya-cp.independent.ie | (no CNAME / A record only) | False | None | None |
| markup.independent.ie | (no CNAME / A record only) | False | None | None |
All advertising cookies absent from Storage post-reject.
No tracking identifiers found in first-party web storage post-reject.
Tracker globals still defined after reject-all: ['google_tag_manager']
| global | type |
|---|---|
| google_tag_manager | __defined_object__ |
See H.1 — same evidence applies.
| global | present |
|---|---|
| google_tag_manager | True |
dataLayer contains 3 tracking event(s): ['gtm.js', 'gtm.dom', 'pageview']
| event |
|---|
| didomi-consent |
| didomi-ready |
| gtm.js |
| gtm.dom |
| gtm.load |
| user-ready |
| pageview |
| gtm.click |
2 tracker script(s) in DOM without CMP type-blocking post-reject. 0 script(s) correctly blocked.
| src | type_attr | vendor |
|---|---|---|
| https://securepubads.g.doubleclick.net/tag/js/gpt.js | Google Publisher Ads | |
| https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202603300101/pubads_impl.js?cb=3109751 | Google Publisher Ads |
See I.1 — same check.
| src | type_attr | vendor |
|---|---|---|
| https://securepubads.g.doubleclick.net/tag/js/gpt.js | Google Publisher Ads | |
| https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202603300101/pubads_impl.js?cb=3109751 | Google Publisher Ads |
Based on DOM script inventory; full Sources tab verification requires Chrome DevTools protocol introspection (beyond current scope).
| src | type_attr | vendor |
|---|---|---|
| https://securepubads.g.doubleclick.net/tag/js/gpt.js | Google Publisher Ads | |
| https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202603300101/pubads_impl.js?cb=3109751 | Google Publisher Ads |
Requires manual browser configuration check.
Requires manual browser configuration check.
No obvious ITP-bypass server-side cookies detected.
Reject All not directly accessible from first consent screen — requires entering Manage Preferences. EDPB guidelines require equal prominence.
| accept_visible_at_first_screen | reject_visible_at_first_screen | reject_requires_extra_layer | accept_button_text | reject_button_text |
|---|---|---|---|---|
| True | False | True | Accept |
Cannot definitively determine from the screenshot whether the non-essential categories default to OFF or ON state
| ai_evidence |
|---|
| The privacy manager screenshot shows individual consent categories with 'Disagree' and 'Agree' options, but the default states are not clearly visible in the provided screenshot |
This creates a clear dark pattern where acceptance is made significantly easier and more prominent than rejection, steering users toward accepting all cookies rather than providing equal choice
| ai_evidence |
|---|
| The 'Accept' button is prominently displayed in black on the first layer while rejection requires going through a 'Manage' flow. The Accept button is visually more prominent than any rejection mechanism |
Persistent consent widget found: 'Manage'
| found | text | in_iframe |
|---|---|---|
| True | Manage | False |
Site content accessible after declining consent.
| accessible |
|---|
| True |
Advertising cookies found in second tab — consent state may not be persisted.
| consent_cookie_found | ad_cookies_found | tcf_available | tcf_display_status |
|---|---|---|---|
| False | True | True | None |
Advertising cookies found on return — consent state not correctly maintained.
| ad_cookies_on_return | total_cookies |
|---|---|
| True | 42 |
No persistent cross-phase identifiers detected in POST bodies.
No TCF consent strings detected in query parameters.
| phase | domain | timestamp | summary | is_reject_all | is_accept_all | cmp | tcf_policy_version | purpose_consents | li_claims | decode_error |
|---|---|---|---|---|---|---|---|---|---|---|
| post_accept | cm.g.doubleclick.net | 2026-04-02T14:47:35 | Accept-all (purposes 1–10 consented, CMP: Unknown CMP (ID 7)) | False | True | Unknown CMP (ID 7) | 5 | All 10 core purposes CONSENTED | [2, 7, 9, 10, 11] | None |
No session ID bridging detected across consent states.
No post-reject phase detected.
CMP identified as: Didomi
| url | test_date | test_time_utc | cmp_detected | total_requests | phases_detected | phase_strategy |
|---|---|---|---|---|---|---|
| Crosswords and Sudokus - Online Games and Puzzles - Irish Independent | 2026-04-02 | 2026-04-02T14:47:45 | Didomi | 249 | ['pre_consent'] | {'accept': 'not_detected', 'reject': 'not_detected'} |