Tag Assistant nie widzi Tag Managera: baner cookies czy błąd w kodzie?
czytaj więcej
Masz sklep na WooCommerce, baner cookies stoi, wszystko wygląda porządnie. Otwierasz sklep w oknie incognito, nie klikasz niczego w banerze, zaglądasz do ciasteczek w przeglądarce i… widzisz sbjs_session, sbjs_udata i kilka podobnych. Zapisały się, zanim ktokolwiek zgodził się na cokolwiek.
Na to trafiliśmy w jednym ze sklepów na WooCommerce, który niedawno sprawdzaliśmy: przed kliknięciem zgody w przeglądarce było już 8 ciasteczek, w tym sbjs_*. Wyjaśnię Ci, skąd się biorą sbjs cookies, jak sprawdzić to u siebie, jak to naprawić i co o nich napisać w polityce cookies.
Spis treści
Skąd w sklepie biorą się sbjs cookies?
Dokłada je sam WooCommerce. Od wersji 8.5 (styczeń 2024) sklep ma funkcję Order Attribution, po polsku atrybucję zamówień: zapamiętuje, skąd klient przyszedł (z Google, z reklamy, z newslettera, z linku z kampanią), i przy zamówieniu zapisuje to w jego szczegółach. Według ogłoszenia wydania WooCommerce 8.5 funkcja jest włączona domyślnie, i to zarówno w nowych, jak i w już działających sklepach.
Nie musiałeś niczego instalować ani włączać, wystarczyła aktualizacja WooCommerce. Dlatego te ciasteczka zaskakują nawet tych, którzy porządnie ustawili baner przy starcie sklepu.
Przedrostek sbjs pochodzi od biblioteki Sourcebuster.js, której WooCommerce używa do zapamiętania źródła wizyty (opis ciasteczek sbjs_ w bazie wiedzy Pressable). Pełną listę podaje dokumentacja WooCommerce o atrybucji zamówień:
| Ciasteczko | Co zapisuje i jak długo |
|---|---|
| sbjs_session | liczbę odsłon w tej wizycie i bieżącą podstronę, 30 minut |
| sbjs_udata | dane o przeglądarce odwiedzającego, np. adres IP, przeglądarkę i typ urządzenia, do końca sesji |
| sbjs_first | źródło pierwszej wizyty (gdy klient wróci przed końcem sesji), do końca sesji |
| sbjs_current | źródło bieżącej wizyty, do końca sesji |
| sbjs_first_add | czas, stronę odsyłającą i stronę wejścia z pierwszej wizyty, do końca sesji |
| sbjs_current_add | czas, stronę odsyłającą i stronę wejścia z bieżącej wizyty, do końca sesji |
| sbjs_migrations | dane techniczne do przejścia między wersjami mechanizmu, do końca sesji |
Ta sama dokumentacja podaje, że WooCommerce odczytuje te ciasteczka tylko wtedy, gdy klient złoży zamówienie. Źródło widzisz potem w kolumnie „Pochodzenie” na liście zamówień i w szczegółach zamówienia.
Czy sbjs_* są niezbędne do działania koszyka?
Nie. To ciasteczka do mierzenia marketingu, a nie do obsługi zakupu: atrybucję zamówień da się w ustawieniach wyłączyć, a koszyk i kasa działają dalej. Sam WooCommerce zalicza je do kategorii „marketing”, o czym niżej.
To ma znaczenie prawne. Art. 399 Prawa komunikacji elektronicznej pozwala zapisać informację w urządzeniu odwiedzającego (np. ciasteczko) dopiero po jego zgodzie, a wcześniej odwiedzający ma dostać jasną informację o celu. Bez zgody wolno tylko to, co jest niezbędne do usługi, o którą sam prosi.
„Klient chce kupić” nie znaczy „klient chce, żebyś mierzył, z której reklamy przyszedł”. To, że sbjs_* są ciasteczkami samego sklepu i wygasają z końcem sesji, niczego tu nie zmienia. Przepis robi wyjątek dla ciasteczek niezbędnych, nie dla „niegroźnych”.
Baner cookies jest, a sbjs_* zapisują się przed zgodą
W sprawdzanym sklepie działała popularna wtyczka banera cookies. Mimo to sbjs_* były w przeglądarce, zanim ktokolwiek kliknął zgodę.
Wyjaśnienie jest w kodzie WooCommerce: wbudowana obsługa zgody w atrybucji zamówień działa tylko przez WP Consent API, czyli wtyczkę, przez którą wtyczki WordPressa przekazują sobie decyzję z banera. Pyta przy tym o zgodę z kategorii „marketing” (kod integracji WooCommerce z WP Consent API). Gdy tej wtyczki nie ma w sklepie, WooCommerce domyślnie uznaje, że może śledzić, i zapisuje sbjs_* każdemu odwiedzającemu, niezależnie od tego, co pokazuje baner.
Sam baner na stronie nie znaczy, że wszystko czeka na zgodę. Trzeba sprawdzić, co sklep faktycznie zapisuje.
Jak sprawdzić cookies na stronie sklepu?
Wystarczy przeglądarka. Chodzi o stan sprzed decyzji, więc baneru nie dotykasz.
Otwórz okno incognito
W Chrome Ctrl+Shift+N. Przeglądarka nie pamięta wtedy Twojej wcześniejszej zgody.
Wejdź do sklepu, baner zostaw
Otwórz stronę główną i jedną kartę produktu. Niczego nie klikaj w banerze.
Zajrzyj do ciasteczek
F12, karta Application (Aplikacja), po lewej Cookies (Pliki cookie) i adres sklepu. W filtrze wpisz sbjs.
Sprawdź odrzucenie
W nowym oknie incognito od razu kliknij „Odrzuć” i zajrzyj do ciasteczek jeszcze raz.
Jeśli sbjs_* są przed decyzją albo po odrzuceniu, atrybucja zamówień działa bez zgody. Ten sam test w karcie Network (Sieć) wyłapie też Google Analytics, które wysyła dane przed zgodą. Opisujemy to we wpisie Polityka cookies a Google Analytics i Tag Manager: test i poprawki, a tutaj zostaję przy ciasteczkach samego WooCommerce.
Jak naprawić sbjs cookies przed zgodą?
Najpierw jedno pytanie: czy w ogóle patrzysz w zamówieniach, skąd przyszedł klient? Jeśli tak, podepnij atrybucję pod zgodę. Jeśli nie, po prostu ją wyłącz.

Używasz źródeł zamówień? Podepnij sbjs_* pod zgodę
WooCommerce ma gotową integrację z WP Consent API (pytanie o platformy zgód w dokumentacji WooCommerce). Potrzebujesz dwóch rzeczy: darmowej wtyczki WP Consent API i banera, który ją obsługuje. Na liście zgodnych wtyczek na jej stronie są m.in. Complianz, Cookiebot, CookieYes i iubenda.
Sama WP Consent API zgód nie zbiera, tylko przekazuje decyzję z banera dalej. Gdy obie wtyczki działają, WooCommerce zapisuje sbjs_* dopiero po zgodzie na marketing. Zamówienia klientów, którzy ją odrzucą, będą po prostu bez źródła.
Na koniec powtórz test: przed decyzją i po odrzuceniu sbjs_* ma nie być. Jeśli dopiero wybierasz baner, porównujemy opcje we wpisie Najlepsza wtyczka cookies do WordPress i moduł do PrestaShop.
Nie używasz źródeł? Wyłącz atrybucję zamówień
Wejdź w WooCommerce > Ustawienia > Zaawansowane > Funkcje, odznacz „Atrybucja zamówień” (w angielskim panelu Order Attribution) i zapisz zmiany. Tę ścieżkę podaje instrukcja włączania i wyłączania w dokumentacji WooCommerce.
Zamówienia złożone w czasie, gdy funkcja jest wyłączona, nie dostaną źródła, także po jej ponownym włączeniu. Jeśli i tak nikt na te dane nie patrzy, nic nie tracisz. A ciasteczek, których nie ma, nie musisz ani blokować, ani opisywać.
Co wpisać o sbjs_* w polityce cookies?
Jeśli atrybucja zostaje, wymień sbjs_* w polityce cookies z nazwy. Art. 399 wymaga, żeby informacja o celu była jednoznaczna, łatwa i zrozumiała, a ogólnik „używamy plików cookies w celach marketingowych” nie mówi, co dokładnie sklep zapisuje i po co. Klient zaglądający do przeglądarki widzi konkretne nazwy.
Polityka bez sbjs_* opisuje inny sklep niż ten, który klient ma przed sobą.
Przy każdym ciasteczku podaj:
- nazwę (sbjs_session, sbjs_udata, sbjs_first, sbjs_current, sbjs_first_add, sbjs_current_add, sbjs_migrations);
- cel: ustalenie, skąd klient trafił do sklepu, i przypisanie tego źródła do zamówienia;
- kto je zapisuje: Twój sklep (WooCommerce), nie zewnętrzna firma;
- czas przechowywania: sbjs_session 30 minut, pozostałe do końca sesji (wg tabeli wyżej);
- kategorię: marketingowe, czyli zapisywane dopiero po zgodzie.
Ciasteczko sbjs_udata zapisuje m.in. adres IP, więc w polityce prywatności opisz też atrybucję zamówień jako przetwarzanie danych osobowych. Jeśli w ustawieniach WooCommerce zgodziłeś się na udostępnianie danych o użytkowaniu Automattic (firmie, która rozwija WooCommerce), statystyczne dane z atrybucji trafiają też do niej, bez e-maili i adresów klientów (dokumentacja WooCommerce o danych dla Automattic). Jak ułożyć cały dokument, pokazujemy we wpisie Polityka cookies - wzór do pobrania (gotowy szablon).
Najczęstsze pytania o sbjs cookies
Co to jest sbjs_session?+
To ciasteczko atrybucji zamówień WooCommerce. Liczy odsłony w bieżącej wizycie i zapamiętuje podstronę, na której jest klient, a wygasa po 30 minutach.
Co to jest sbjs_migrations?+
Też ciasteczko atrybucji zamówień WooCommerce, tylko techniczne: według dokumentacji przechowuje dane potrzebne przy przejściu między wersjami mechanizmu. Podlega tym samym zasadom co reszta sbjs_*.
Czy wystarczy opisać sbjs_* w polityce cookies, bez zmiany banera?+
Nie. Opis w polityce to informacja, a przepis wymaga i informacji, i zgody przed zapisaniem ciasteczka, które nie jest niezbędne. Albo sbjs_* czekają na zgodę marketingową, albo wyłączasz atrybucję zamówień.
Czy wyłączenie atrybucji zamówień coś zepsuje w sklepie?+
Koszyk, kasa i płatności działają jak wcześniej. Tracisz tylko informację o źródle przy zamówieniach złożonych w czasie, gdy funkcja jest wyłączona.
Pamiętaj
WooCommerce może zapisywać ciasteczka marketingowe sam, bez Twojej decyzji i obok banera. Raz na jakiś czas, a zawsze po większej aktualizacji, zrób test w oknie incognito i porównaj to, co widzisz, z polityką cookies.
Jeśli nie chcesz tego pilnować samodzielnie, nasz system zarządzania zgodami ma skaner, który wykrywa ciasteczka na stronie i zasila tabelę w polityce cookies, a wdrożenie na WooCommerce robimy sami. Napisz do mnie - sprawdzę, co Twój sklep zapisuje przed zgodą.


