{
    "schema": "https://saferpage.de/schemas/consent-mode-implementation.v1",
    "generated_at": "2026-06-08T20:58:18+00:00",
    "domain": "t3n.de",
    "available": true,
    "scan": {
        "id": "c073bd67-9fd6-47aa-9125-a77960cc4ba6",
        "checked_at": "2026-06-07 10:56:45.09436+02"
    },
    "status": "offen",
    "implementation_score": 40,
    "summary": "Consent-Mode-Implementierung 40/100; 3/6 Schritt(e) bereit, 3 offen.",
    "metrics": {
        "google_tag_present": true,
        "google_domain_count": 0,
        "google_consent_score": 40,
        "consent_default_found": false,
        "consent_update_found": false,
        "default_granted_key_count": 0,
        "cmp_detected": true,
        "consent_state_count": 4,
        "pre_consent_cookie_count": 2,
        "pre_consent_tracking_cookie_count": 0,
        "post_reject_new_cookie_count": 0,
        "post_reject_privacy_relevant_domain_count": 0,
        "tcf_purpose_consent_count": 0,
        "tcf_vendor_consent_count": 0,
        "gpc_privacy_relevant_domain_count": 0,
        "cookie_inventory_count": 2,
        "open_step_count": 3
    },
    "implementation_steps": [
        {
            "id": "google_scope",
            "label": "Google-Tags und Zwecke inventarisieren",
            "status": "bereit",
            "passed": true,
            "owner": "Marketing/Datenschutz",
            "phase": "Planung",
            "evidence": "Google-Tags erkannt, Google-Domains 0.",
            "action": "Google-Dienste, Tag-IDs, Zwecke, Rechtsgrundlagen und Consent-Kategorien abgleichen.",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "id": "default_denied",
            "label": "Consent Mode Defaults vor dem ersten Google-Tag setzen",
            "status": "offen",
            "passed": false,
            "owner": "GTM/Webentwicklung",
            "phase": "Implementierung",
            "evidence": "Default nicht erkannt, granted by default nein.",
            "action": "Alle Consent-Mode-v2-Signale vor GTM/gtag auf denied setzen.",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "id": "cmp_update_mapping",
            "label": "CMP-Kategorien auf Consent Updates mappen",
            "status": "offen",
            "passed": false,
            "owner": "GTM/CMP Owner",
            "phase": "Implementierung",
            "evidence": "CMP erkannt, Consent Update nicht erkannt.",
            "action": "CMP-Kategorien für Statistik und Marketing auf gtag consent update mappen.",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "id": "tag_gating",
            "label": "Marketing- und Google-Tags bis zur Einwilligung blockieren",
            "status": "bereit",
            "passed": true,
            "owner": "Marketing/IT",
            "phase": "Tag-Regeln",
            "evidence": "Tracking-Cookies vor Consent 0, Datenschutz-Domains nach Ablehnen 0.",
            "action": "GA4, Ads, Remarketing und Pixel mit Consent Checks und Trigger-Regeln freigeben.",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "id": "reject_gpc",
            "label": "Ablehnen, Widerruf und GPC testen",
            "status": "offen",
            "passed": false,
            "owner": "Datenschutz/QA",
            "phase": "Validierung",
            "evidence": "Ablehnen nicht sichtbar, Consent-Zustände 4.",
            "action": "Ablehnen, Widerruf, Preference Center und GPC gegen Cookies, Requests und Storage testen.",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "id": "evidence_retest",
            "label": "Nachweis, Re-Test und Release-Gate sichern",
            "status": "bereit",
            "passed": true,
            "owner": "Compliance/Release",
            "phase": "Nachweis",
            "evidence": "Consent-Zustände 4, Consent-Audit-Score 5, Google-Consent-Score 40.",
            "action": "Vor Livegang Default, Ablehnen, Akzeptieren und GPC dokumentieren; Export sichern und nach Tag-Änderungen erneut scannen.",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        }
    ],
    "snippets": [
        {
            "id": "gtag_default_denied",
            "label": "gtag Default vor GTM/Google-Tag",
            "placement": "im <head> vor dem ersten Google-Tag",
            "code": "window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('consent', 'default', {\n  ad_storage: 'denied',\n  analytics_storage: 'denied',\n  ad_user_data: 'denied',\n  ad_personalization: 'denied',\n  functionality_storage: 'granted',\n  security_storage: 'granted',\n  wait_for_update: 500\n});"
        },
        {
            "id": "cmp_update",
            "label": "CMP-Auswahl in Consent Update übersetzen",
            "placement": "nach Akzeptieren, Ablehnen und Widerruf",
            "code": "gtag('consent', 'update', {\n  analytics_storage: userAllowsStatistics ? 'granted' : 'denied',\n  ad_storage: userAllowsMarketing ? 'granted' : 'denied',\n  ad_user_data: userAllowsMarketing ? 'granted' : 'denied',\n  ad_personalization: userAllowsMarketing ? 'granted' : 'denied'\n});\ndataLayer.push({event: 'saferpage_consent_update'});"
        },
        {
            "id": "gtm_template_api",
            "label": "GTM Custom Template API",
            "placement": "Consent Initialization Trigger oder CMP-Template",
            "code": "// Custom Template oder CMP-Template im Google Tag Manager:\nsetDefaultConsentState({\n  ad_storage: 'denied',\n  analytics_storage: 'denied',\n  ad_user_data: 'denied',\n  ad_personalization: 'denied',\n  wait_for_update: 500\n});\n\n// Nach CMP-Auswahl:\nupdateConsentState({\n  analytics_storage: statisticsConsent ? 'granted' : 'denied',\n  ad_storage: marketingConsent ? 'granted' : 'denied',\n  ad_user_data: marketingConsent ? 'granted' : 'denied',\n  ad_personalization: marketingConsent ? 'granted' : 'denied'\n});"
        }
    ],
    "validation_tests": [
        {
            "id": "default_state",
            "label": "Erstaufruf ohne Interaktion",
            "expected": "Consent Default ist gesetzt, nicht notwendige Google-/Marketing-Tags feuern nicht, keine Tracking-Cookies vor Einwilligung.",
            "evidence": "Tag Assistant Summary, Network-Log, Cookie-Tabelle und SaferPage Consent-Audit."
        },
        {
            "id": "reject_state",
            "label": "Ablehnen und Widerruf",
            "expected": "Alle Marketing-/Analytics-Signale bleiben denied, bereits gesetzte nicht notwendige Cookies werden nicht erweitert.",
            "evidence": "Reject-Zustand, Storage-Diff und Drittanbieter-Kontakte nach Ablehnen."
        },
        {
            "id": "accept_state",
            "label": "Akzeptieren",
            "expected": "Nur freigegebene Kategorien wechseln auf granted; GA4/Ads feuern erst nach passender Einwilligung.",
            "evidence": "Consent update, Tag-Firing-Reihenfolge und Anbieter-/Cookie-Abgleich."
        },
        {
            "id": "gpc_state",
            "label": "Global Privacy Control",
            "expected": "GPC wird mindestens als Opt-out-Signal im Datenschutz- und Tracking-Kontext ausgewertet.",
            "evidence": "GPC-Browserlauf, Request- und Cookie-Diff."
        }
    ],
    "priority_actions": [
        "Alle Consent-Mode-v2-Signale vor GTM/gtag auf denied setzen.",
        "CMP-Kategorien für Statistik und Marketing auf gtag consent update mappen.",
        "Ablehnen, Widerruf, Preference Center und GPC gegen Cookies, Requests und Storage testen."
    ],
    "sources": [
        {
            "label": "Google Consent Mode Overview",
            "url": "https://developers.google.com/tag-platform/security/concepts/consent-mode",
            "detail": "Grundprinzip und Implementierungsarten für Consent Mode."
        },
        {
            "label": "Google Consent Setup Guide",
            "url": "https://developers.google.com/tag-platform/security/guides/consent",
            "detail": "Einrichtung mit eigener Consent-Lösung und Tag-Manager-APIs."
        },
        {
            "label": "Google Tag API Referenz",
            "url": "https://developers.google.com/tag-platform/gtagjs/reference?hl=de",
            "detail": "gtag consent default/update und Consent-Parameter."
        },
        {
            "label": "Google Tag Assistant Debugging",
            "url": "https://developers.google.com/tag-platform/security/guides/consent-debugging",
            "detail": "Prüfung von Default- und Update-Consent im Debugging."
        }
    ],
    "links": {
        "consent_mode_center": "https://saferpage.de/consent-mode/t3n.de",
        "json": "https://saferpage.de/consent-mode/t3n.de/export",
        "csv": "https://saferpage.de/consent-mode/t3n.de/export-csv",
        "gtm_markdown": "https://saferpage.de/consent-mode/t3n.de/gtm-md",
        "report": "https://saferpage.de/t3n.de",
        "consent_center": "https://saferpage.de/consent/t3n.de",
        "cmp_plan_json": "https://saferpage.de/consent/t3n.de/cmp-plan",
        "cookie_center": "https://saferpage.de/cookies/t3n.de",
        "vendor_center": "https://saferpage.de/anbieter/t3n.de",
        "alert_center": "https://saferpage.de/alarme/t3n.de",
        "guide": "https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden"
    },
    "disclaimer": "Technische Umsetzungsvorlage aus öffentlichen Scan-Signalen; Betreiber müssen CMP- und Tag-Konfiguration fachlich freigeben."
}
