Jedna strona e-commerce laduje srednio 40-60 cookies. Z tego 5-8 to cookies niezbedne, reszta wymaga aktywnej zgody uzytkownika. Jezeli nie potrafisz poprawnie sklasyfikowac tych 40, masz dwa problemy: baner wyglada przypadkowo, a UODO ma w rekach gotowy dowod w postepowaniu.
Klasyfikacja cookies to nie formalnosc. To decyzja, ktora wplywa na to, co dziala bez zgody, co czeka na kliknicie "Akceptuj" i ktore skrypty musisz zablokowac auto-blockingiem. W tym przewodniku pokaze cztery kategorie cookies uzywane przez CMP, dwie dodatkowe osie podzialu (first/third-party, session/persistent) i praktyczny sposob, jak policzyc to wszystko na wlasnej stronie. Dopiero na tej podstawie da sie zaprojektowac baner cookies zgodnie z wymaganiami — czyli jak skonfigurowac baner tak, zeby przeszedl kontrole.
Spis tresci
- Dlaczego kategorie cookies maja znaczenie prawne
- Cookies niezbedne (strictly necessary)
- Cookies funkcjonalne (preferences)
- Cookies analityczne (statistics)
- Cookies marketingowe (advertising)
- First-party vs third-party — dlaczego ta roznica zmienia wszystko
- Session vs persistent — czas zycia cookie
- Jak sklasyfikowac cookies na wlasnej stronie
- Jak kategorie mapuja sie na Consent Mode v2
- Podsumowanie
Dlaczego kategorie cookies maja znaczenie prawne
Podstawa jest art. 5(3) dyrektywy ePrivacy (w Polsce implementowany jako art. 173 Prawa Telekomunikacyjnego i art. 399 PKE). Mowi prosto: kazdy dostep do informacji przechowywanej na urzadzeniu uzytkownika wymaga jego zgody. Wyjatek: cookies "strictly necessary" do swiadczenia uslugi, o ktora uzytkownik sam poprosil.
Cala reszta — analityka, marketing, personalizacja, nawet zapamietanie jezyka jezeli nie jest krytyczne — wymaga aktywnej zgody przed zaladowaniem.
Wytyczne EDPB 2/2023 o technicznym zakresie art. 5(3) ePrivacy interpretuja przepis maksymalistycznie: obowiazek zgody obejmuje nie tylko ciasteczka HTTP, ale rowniez localStorage, sessionStorage, piksele sledzace, fingerprinting urzadzenia i zidentyfikowane ladunki URL. Mowiac praktycznie: jezeli Twoje narzedzie zapisuje cokolwiek na urzadzeniu uzytkownika i nie jest to niezbedne do dzialania strony, potrzebujesz zgody.
Dobre CMP porzadkuje to w 3-4 widoczne dla uzytkownika kategorie. Zle CMP wsadza wszystko do worka "Zaakceptuj pliki cookies" — i to wlasnie za to UODO karze.
Cookies niezbedne (strictly necessary)
Cookies, bez ktorych strona przestaje dzialac. Nie wymagaja zgody, ale wymagaja informacji w polityce cookies.
Co tu wchodzi:
| Przyklad | Po co | Cookie |
|---|---|---|
| Sesja logowania | Utrzymanie zalogowania miedzy podstronami | PHPSESSID, connect.sid, session_id |
| Koszyk sklepu | Przechowanie produktow dodanych przez nie-zalogowanego | cart_id, ps_cart (PrestaShop), wc_cart_hash (WooCommerce) |
| Zabezpieczenia CSRF | Ochrona przed atakami cross-site request forgery | XSRF-TOKEN, _token |
| Zapamietanie wyboru w banerze cookies | Zeby nie pokazywal sie przy kazdym refreshu | cookie_consent, cookiepilot_consent |
| Load balancing | Kierowanie uzytkownika do tego samego serwera | AWSALB, JSESSIONID |
| Preferencje dostepnosci kluczowe dla korzystania | Tryb wysokiego kontrastu, powiekszona czcionka | accessibility_mode |
Czego TU NIE MA: zapamietanie lubianej waluty na stronie, ulubione produkty, preferencja jezyka (jezeli strona dziala bez niej). To sa cookies FUNKCJONALNE, a nie niezbedne.
Granica jest ciasna i UODO ja egzekwuje. W lutym 2025 Prezes UODO ukaral sklep, ktory jako "niezbedne" oznaczyl cookie _ga (Google Analytics). Uzasadnienie: GA nie jest potrzebne do dzialania sklepu, wiec nie moze byc zwolnione z obowiazku zgody. Wiecej kontekstu w artykule kontrola UODO cookies.
Cookies funkcjonalne (preferences)
Poprawiaja wygode uzywania, ale strona dziala bez nich. Wymagaja zgody, chociaz bywaja traktowane lagodniej niz marketing.
Przyklady:
- Zapamietanie wybranego jezyka (
language=pl) - Zapamietanie waluty (
currency=PLN) - Ostatnio ogladane produkty (
recently_viewed) - Preferencja trybu ciemnego (
theme=dark) - Stan rozwiniecia menu na mobile (
menu_state)
Kluczowa zasada: jezeli uzytkownik odrzuci kategorie "Funkcjonalne", strona ma dalej dzialac. Po prostu zresetuje sie do domyslnego stanu. Jezeli Twoja strona bez zgody na funkcjonalne zwraca blad 500, masz blad techniczny — i to ty naruszasz RODO, bo wymuszasz zgode w zamian za dostep.
Wiele CMP laczy kategorie funkcjonalne z niezbednymi, szczegolnie w modelach trojkategoryjnych UODO. To upraszcza baner, ale wymaga ostroznosci: jezeli cookie funkcjonalne zbiera cokolwiek, co moze byc uznane za dane osobowe (np. lokalizacja z IP), MUSI byc w osobnej kategorii.
Cookies analityczne (statistics)
Cookies analityczne mierza zachowanie uzytkownikow: ile osob odwiedzilo strone, jak dlugo zostali, ktore sekcje czytali. Nie laduja na urzadzenie zadnej reklamy, ale prawie zawsze wymagaja zgody.
Dlaczego prawie zawsze? W teorii istnieje wyjatek "analityka first-party bez transferu danych poza UE". W praktyce ani Google Analytics 4, ani Meta, ani wiekszosc narzedzi analitycznych nie mieszcza sie w tej waskiej szczelinie.
Typowe cookies analityczne:
| Narzedzie | Cookie | Typ |
|---|---|---|
| Google Analytics 4 | _ga, _ga_<ID> | third-party (zbierane przez Google) |
| Matomo/Piwik (self-hosted) | _pk_id, _pk_ses | first-party |
| Microsoft Clarity | _clck, _clsk | third-party |
| Hotjar | _hjSessionUser_*, _hjSession_* | third-party |
| Plausible Analytics | brak cookies | cookieless, czesto zwolniony |
Pulapka GA4: domyslnie wlaczone sa Google Signals, ktore laduja dane uzytkownika do ekosystemu reklamowego Google (remarketing, audience sharing). Z Signals w trybie on, Google Analytics prawnie staje sie cookie marketingowym. Jezeli pokazujesz GA4 jako "analityczne" i masz Signals on, pokazujesz uzytkownikowi niewlasciwa kategorie — a przy kontroli UODO to osobne naruszenie.
Cookies marketingowe (advertising)
Cookies reklamowe sluza profilowaniu, remarketingowi, atrybucji kampanii i personalizacji reklam. Zawsze wymagaja zgody, bez wyjatkow.
Przyklady:
- Google Ads remarketing:
_gcl_au,IDE,test_cookie - Meta Pixel:
_fbp,_fbc,fr - LinkedIn Insight Tag:
li_sugr,lidc - TikTok Pixel:
_tt_sessionId,_ttp - Criteo retargeting:
uid,optout - Microsoft Advertising (Bing):
MUID,_uetsid
Jezeli odrzucisz te cookies, musisz nie tylko ich nie ustawiac — musisz zablokowac ladowanie odpowiednich skryptow. Dobre CMP z auto-blokowaniem robi to automatycznie. Zle CMP zostawia skrypt, ktory laduje piksel, ale sam piksel nie zapisuje cookie. UODO traktuje to jako niewystarczajace: sam fakt kontaktu z serwerem Meta lub Google jest transferem danych.
Cookies marketingowe powinny byc osobna kategoria w banerze, z osobnym togglem. Laczenie ich z analitycznymi jest jednym z najczestszych bledow — i jedna z pierwszych rzeczy, ktore sprawdza inspektor.
First-party vs third-party — dlaczego ta roznica zmienia wszystko
Ta os podzialu jest ortogonalna do czterech kategorii powyzej. Kazde cookie niezbedne/funkcjonalne/analityczne/marketingowe moze byc first-party albo third-party.
First-party ustawia Twoja wlasna domena. Jezeli cookiepilot.io ustawia cookie session_id, to first-party.
Third-party ustawia domena zaladowana na stronie, ale inna niz Twoja. Skrypt <script src="https://googletagmanager.com/gtag/js?id=..."> moze ustawic cookie w domenie googletagmanager.com albo w Twojej domenie, zaleznie od konfiguracji.
| Kryterium | First-party | Third-party |
|---|---|---|
| Blokada przegladarki | Safari ITP czesciowa, Firefox akceptuje | Safari i Firefox blokuja domyslnie, Chrome wycofuje stopniowo |
| Ryzyko prawne | Nizsze — dane zostaja u Ciebie | Wysokie — transfer do strony trzeciej |
| Consent Mode v2 | Mniej wrazliwe | Krytyczne — bez zgody ad_storage=denied blokuje cookies reklamowe |
| Typowi reprezentanci | Sesja, koszyk, preferencje | GA4 z Signals, Meta Pixel, Criteo |
Jezeli uzywasz tylko first-party cookies (np. Plausible, Matomo self-hosted, wlasna analityka), ryzyko prawne jest zauwazalnie nizsze. Dla wiekszosci polskich e-commerce to jednak abstrakcja — i tak laduja GA4, Meta Pixel i Google Ads. Trzeba to zaprojektowac swiadomie.
Wiecej kontekstu o tym, co przestaje dzialac bez zgody na third-party, opisalem w artykule co tracisz bez Consent Mode v2.
Session vs persistent — czas zycia cookie
- Session cookies zyja tylko do zamkniecia przegladarki. Idealne do koszyka czy tymczasowej sesji.
- Persistent cookies maja date wygasniecia w przyszlosci (dzien, miesiac, rok, a niekiedy 13 miesiecy).
Z perspektywy prawnej UODO wymaga, zeby czas zycia cookie byl proporcjonalny do celu. Cookie zgody na baner moze zyc 12 miesiecy. Cookie analityczne w GA4 domyslnie to 24 miesiace, ale mozesz skrocic do 14 dni — i to jest rekomendacja UODO dla sklepow, ktore chca minimalizowac ryzyko. Cookie remarketingowe Meta to default 90 dni.
Kazde cookie persistent powyzej 12 miesiecy warto uzasadnic w polityce cookies. W formularzach audytowych CMP powinno byc jasne: dlaczego wlasnie 90/180/365 dni, a nie mniej.
Jak sklasyfikowac cookies na wlasnej stronie
Szybka scieżka na jedno popoludnie:
- Otworz strone w incognito, przejdz przez typowa sciezke uzytkownika (strona glowna -> produkt -> koszyk -> checkout).
- DevTools -> Application -> Cookies. Zapisz liste wszystkich cookies: nazwa, domena, expires.
- Dla kazdego cookie zadaj trzy pytania:
- Czy strona przestaje dzialac bez niego? Tak -> NIEZBEDNE.
- Czy tylko polepsza wygode bez zbierania danych poza uzytkownikiem? Tak -> FUNKCJONALNE.
- Czy mierzy zachowanie i wysyla dane do narzedzia analitycznego? Tak -> ANALITYCZNE.
- Czy sluzy reklamie, profilowaniu, remarketingowi? Tak -> MARKETINGOWE.
- Sprawdz domene — jezeli to nie Twoja, oznacz jako third-party.
- Zapisz wynik w arkuszu — to jest dokument, ktory inspektor UODO poprosi w pierwszych 72 godzinach kontroli.
Alternatywa: skanery cookies, ktore robia to za Ciebie. CookiePilot skanuje strone i proponuje klasyfikacje, Cookiebot ma Cookie Scanner (platny), CookieServe ma wersje darmowa. Wada skanerow: nie zawsze lapie cookies ustawione dynamicznie (np. dopiero po zaakceptowaniu w koszyku). Zawsze warto zweryfikowac recznie przed publikacja polityki.
Jak kategorie mapuja sie na Consent Mode v2
Google Consent Mode v2 uzywa czterech parametrow, nie czterech kategorii cookies. Mapowanie nie jest 1:1.
| Parametr Consent Mode | Odpowiednia kategoria CMP | Co kontroluje |
|---|---|---|
ad_storage | Marketingowe | Cookies reklamowe Google Ads, remarketing |
analytics_storage | Analityczne | Cookies Google Analytics |
ad_user_data | Marketingowe | Wysylka danych uzytkownika do Google Ads |
ad_personalization | Marketingowe | Personalizacja reklam (retargeting list) |
Praktyczne konsekwencje:
- Jezeli uzytkownik zaznaczy tylko "Analityczne" →
analytics_storage=granted, pozostale =denied. GA4 dziala, Ads nie. - Jezeli zaznaczy "Marketingowe" → wszystkie trzy parametry reklamowe =
granted. GA4 bez zgody analitycznej wchodzi w "consent mode basic" i tak laduje, ale z ograniczonymi danymi. - Kazdy parametr =
denieddomyslnie, dopoki uzytkownik nie wybierze inaczej.
Szczegoly techniczne i kod dla GTM opisalem w przewodniku jak wdrozyc Consent Mode v2 w Google Tag Manager.
Podsumowanie
Cztery kategorie cookies (niezbedne, funkcjonalne, analityczne, marketingowe) plus dwie osie (first/third-party, session/persistent) daja 16 mozliwych kombinacji. Z tego wynikaja dokladne wymagania prawne — ktore cookies wolno ladowac od razu, ktore dopiero po zgodzie i w ktorych przypadkach trzeba dodatkowo ograniczyc czas zycia.
- Wlasciciele sklepow internetowych: zacznij od listy cookies. Bez niej kazda dyskusja o banerze jest w powietrzu. DevTools + 30 minut na skan = gotowy arkusz do audytu.
- Developerzy: sprawdzcie, co aktualnie oznaczycie jako
strictly necessary. Jezeli sa tam_ga,_fbp,_gcl_au— to bledna klasyfikacja. Przenies do odpowiedniej kategorii i oznacz z auto-blokowaniem. - Marketerzy: sprawdz, czy GA4 ma wlaczone Google Signals. Jezeli tak, a w banerze jest "Analityczne" — przemapuj do "Marketingowe" albo wylacz Signals. Inaczej baner klamie.
Dobre CMP generuje kategorie automatycznie na podstawie skanu i pozwala zmodyfikowac je recznie. CookiePilot skanuje strone, proponuje kategorie wedlug polskiego prawa i mapuje je na Consent Mode v2 bez dodatkowej konfiguracji. Mozna zaczac za darmo.
Powiazane przewodniki
- Baner Cookies Zgodny z RODO — 7 Elementow Ktore Musi Zawierac
- Google Consent Mode v2 — Kompletny Przewodnik 2026
- Co Tracisz Bez Consent Mode v2?
- Kontrola UODO Cookies 2026 — Jak Przygotowac Strone na Inspekcje
- Jak Wdrozyc Consent Mode v2 w Google Tag Manager
FAQ
Ile jest kategorii cookies wedlug RODO?
RODO ani ePrivacy nie definiuja sztywno liczby kategorii. Standard branzowy to cztery: niezbedne, funkcjonalne, analityczne i marketingowe. UODO w Poradniku dla e-commerce z marca 2025 przyjmuje podzial trojpodzialowy (niezbedne, analityczne, marketingowe). W praktyce CMP musi zaoferowac uzytkownikowi osobny wybor dla kazdej kategorii innej niz niezbedne.
Czy Google Analytics to cookie analityczne czy marketingowe?
Samo GA4 to cookie analityczne (_ga, _ga_<ID>). Ale Google Analytics z wlaczonymi Google Signals i integracja z Google Ads automatycznie przechodzi w kategorie marketingowa, bo dane sa uzywane do remarketingu. W CMP trzeba zdecydowac: albo wylaczyc Signals i klasyfikowac jako analityczne, albo zostawic i zbierac zgode marketingowa.
Czy cookies niezbedne wymagaja zgody uzytkownika?
Nie. Art. 5(3) dyrektywy ePrivacy zwalnia z obowiazku zgody cookies strictly necessary — te, bez ktorych strona po prostu nie dziala (koszyk, sesja logowania, preferencja jezyka jezeli jest krytyczna, zabezpieczenia CSRF). Musisz jednak poinformowac o nich uzytkownika w polityce cookies.
Czym rozni sie cookie first-party od third-party?
First-party cookies ustawia domena, ktora odwiedzasz (np. cookiepilot.io). Third-party cookies ustawia domena trzeciej strony zaladowana na stronie (np. googletagmanager.com, facebook.com). Z perspektywy prawnej third-party cookies prawie zawsze wymagaja zgody, bo oznaczaja transfer danych do podmiotu zewnetrznego.
Jak sprawdzic, jakie kategorie cookies sa na mojej stronie?
Otworz strone w incognito i zajrzyj do Chrome DevTools -> Application -> Cookies. Zobaczysz liste wszystkich cookies z nazwa, domena (pokazuje first/third-party) i czasem trwania (session vs persistent). Automatyczny skaner cookies (np. wbudowany w CookiePilot lub darmowe narzedzia typu Cookiebot Scanner, CookieServe) robi to samo za Ciebie i proponuje kategorie.
Autor: Zespol CookiePilot — pomagamy polskim firmom wdrozyc zgodnosc z RODO i Consent Mode v2 bez bolu glowy.
Napisane przez
Marcin
Zespół CookiePilot dzieli się wiedzą o RODO, PKE i zarządzaniu cookies.