Google Analytics 4, în spatele unui banner de consimțământ
Magazinul nu avea nicio măsurătoare: nu se știa câți oameni intră, de unde vin și în ce punct se pierde o comandă. Datele care nu se strâng azi nu se mai pot recupera. Dar nu avea nici banner de cookie-uri, nici pagină de politică — exact motivul pentru care un tag nu putea fi pur și simplu lipit în pagină.
Ordinea e chiar funcționalitatea
-
Consent Mode v2 pornește cu tot ce cere consimțământ pe
denied. - Către Google nu pleacă nimic până nu există un accept înregistrat. Până atunci pagina încarcă două scripturi, ambele ale noastre, și nu scrie niciun cookie.
- Acceptul și refuzul stau unul lângă altul, la aceeași greutate vizuală, nimic nu e bifat în prealabil, iar subsolul redeschide alegerea pe orice pagină.
Codul de măsurare nu e fixat la build
Ajunge prin /config.js la pornirea containerului, ca API_URL: o singură
imagine servește toate mediile, iar numai producția raportează în proprietatea
reală. Unde nu e setat niciun cod nu există tag, nu există cookie și nu apare
nici bannerul — a cere permisiunea pentru ceva ce nu se întâmplă ar fi
necinstit. Asta e starea pe dezvoltare.
Documentele legale
Politica de confidențialitate spunea că site-ul nu folosește cookie-uri de
analiză, ceea ce devine fals. S-au corectat secțiunea de cookie-uri, lista
datelor colectate și lista destinatarilor. Pagina nouă /legal/cookies are
șapte secțiuni în trei limbi, cu fiecare cookie documentat pe nume, scop și
durată, plus transferul de date către Google Ireland.
Verificare pe un build de producție, în browser
| moment | cereri către googletagmanager | cookie-uri |
|---|---|---|
| înainte de accept | 0 | niciunul |
| după accept | 1 | exact _ga și _ga_CF6Y4KEWBD, cele două documentate |
| după refuz | 0 | niciunul |
analytics_storage trece pe granted doar la accept; ad_storage,
ad_user_data și ad_personalization rămân denied în toate cazurile —
magazinul nu rulează niciun tag de publicitate.
Evenimente configurate: add_to_cart, generate_lead la trimiterea
formularului de comandă (trimis abia după ce serverul acceptă comanda, nu la
click) și phone_click.
16 teste noi în frontend/src/test/consent.test.tsx, dintre care cele care
contează juridic: nimic nu se încarcă înainte de accept, nici la refuz, iar
refuzul rămâne memorat. Frontend 174 de teste în 21 de fișiere, backend 411 în
25; build-uri și typecheck curate.
Ce rămâne din issue
Legarea proprietății GA4 de Search Console nu se poate face încă — Search Console nu e configurat (etapa 7 din #2). De aceea issue-ul rămâne deschis pentru acel singur punct.
Refs #9 (closed)