Pomiar server-side (sGTM, Meta CAPI)
Większe witryny nie wysyłają danych do Google i Meta bezpośrednio z przeglądarki, ale przez własny serwer (server-side GTM, Meta Conversions API). Cookienovo pilnuje zgody również dla tych integracji serwerowych.
Server-side GTM: działa od razu
Baner wysyła sygnały Google Consent Mode v2 (ad_storage, analytics_storage, ad_user_data, ad_personalization), które podróżują wraz ze zdarzeniami również do Twojego kontenera server-side GTM. Serwerowe tagi Google respektują dzięki temu zgodę odwiedzającego automatycznie — nie jest potrzebna żadna dodatkowa konfiguracja.
Stan zgody dla Twojego serwera (Meta CAPI i inne)
W przypadku integracji spoza Google Twój serwer może zweryfikować stan zgody konkretnego odwiedzającego jednym wywołaniem. Identyfikator odwiedzającego (browser_id) masz dostępny w przeglądarce — baner wyświetla go jako „Consent ID”, a Ty wysyłasz go do swojego backendu wraz ze zdarzeniem konwersji.
GET https://cookienovo.com/api/consents/state?browser_id=BROWSER_ID
site-token: VÁŠ_SITE_TOKEN
→ 200 {
"data": {
"decision": "accept_all", // accept_all | partial | reject_all
"categories": {
"marketing": true, "analytics": true,
"functional": true, "statistical": false, "other": false
},
"config_version": "4cd038cbc4de4230", // verzia lišty pri rozhodnutí
"decided_at": "2026-07-20T21:02:11Z"
}
}
→ 200 { "data": null } // návštevník ešte nerozhodol = bez súhlasu
Meta Conversions API
Przed wysłaniem zdarzenia do Meta CAPI sprawdź kategorię marketing. Bez zgody nie wysyłaj zdarzenia — pomiar serwerowy podlega tym samym zasadom co pixel w przeglądarce.
state = cookienovo_consent(browser_id) # volanie vyššie
if state && state.categories.marketing:
meta_capi.send(event) # súhlas udelený
else:
pass # bez súhlasu sa event neposiela
Sygnały w przeglądarce
Oprócz Google baner automatycznie wysyła zgodę również do Microsoft UET (Bing Ads) i Meta pixel — fbq('consent', grant/revoke). Pomiar frontendowy i server-side widzą dzięki temu ten sam stan.
Notatki
- Rate limit: 600 wywołań na minutę na IP — przy większym ruchu cache'uj stan per odwiedzający.
- Prywatność: browser_id nie przechowujemy w czytelnej postaci — zapytanie działa przez jednokierunkowy hash.
- Zmiana zgody: odwiedzający może zmienić wybór w każdej chwili; sprawdzaj stan przy każdej konwersji, nie cache'uj go dłużej niż kilka minut.