Skip to main content

CMP v1+ Release Notes

Last updated: 2025-09-20

Flags (prod posture)

  • GPP_USNAT_VERSION=2
  • TCF_ENABLE=1 (set TCF_PUB_ENABLE=1 per site if Publisher segment is desired)
  • APPEND_AUTH_REQUIRED=1
  • RECEIPTS_ENABLE=1 and RECEIPTS_SIGNING_KEYS=[{ keyId, secret, active:true }]
  • SCANS_WORKER_ENABLE=1 (DB worker)
  • SCANS_USE_BULL=1 + REDIS_URL + SCANS_BULL_CONCURRENCY/ATTEMPTS/BACKOFF_MS (BullMQ)
  • GPP_US_STATES_ENABLE=1 (tenant overrides via setUsStateConfig or window.__cmpTenantConfig)

QA Flows

  1. Diagnostics → Consent Mode v2
    • Simulate Reject/Accept; ensure checklist flips green and gtag('consent','update', …) fires.
  2. GPP/TCF
    • GPP header shows correct sections by region; tcString present in EEA/UK; multi-segment when Publisher enabled.
  3. A/B demo
    • Show demo, emit Settings/Reject/Accept; refresh experiments; table and 7d chart update.
  4. Coverage/Scans charts
    • Adjust range (7/30/90d) and confirm charts update.
  5. Receipts
    • Inline verify passes; JSONL export validates via CLI.
  6. Exports
    • CSV/JSON/JSONL download works; paging + clamp headers present for CSV.

Smoke URLs

  • Portal Diagnostics: ${PORTAL_URL}/admin/diagnostics
  • Registry Swagger: ${REGISTRY_URL}/api/docs
  • Metrics: ${REGISTRY_URL}/metrics (if public) or via Prometheus

Dashboards & Alerts

  • Grafana → CMP Overview
    • Panels: scans started/completed, append accepted/throttled/unauthorized, receipts created, exports started/completed
    • Alert SLOs: scan error ratio < 1% (1h), append throttled < 0.5% (1h)

Nightly Jobs

  • Experiments daily rollup (safe to re-run):
pnpm -w nx run cmp-registry:jobs:experiments:rollup
# Backfill a window
FROM=2025-09-01 TO=2025-09-20 pnpm -w nx run cmp-registry:jobs:experiments:rollup

CI Smokes

  • Export JSONL: validates recent rows contain gppString/tcfString
  • Portal TCF: asserts tcString (and multi-segment when Publisher enabled)

Notes

  • For BullMQ E2E in dev, set SCANS_USE_BULL=1 and provide REDIS_URL.
  • GTM containers (GA4 Consent Mode, Floodlight) live in templates/gtm/ with import guide.