RODOConsent Modecookiesshopere-commercewidget

Consent Mode v2 dla Shoper 2026: Integracja w 10 Minut

Marcin
21 kwietnia 2026
12 min czytania

Shoper obsluguje ponad 27 000 polskich sklepow, wiekszosc z nich ma jakis baner cookies. Problem: Shoper ma wbudowany widget Cookies, ale sam widget NIE wysyla sygnalow Consent Mode v2 do Google Analytics i Google Ads. Oficjalna dokumentacja Shoper przyznaje to wprost: "Wlaczenie widgetu samo w sobie nie wywoluje zdarzenia Consent wymaganego do ustawienia domyslnego stanu zgody uzytkownika".

Przekladajac to na pieniadze: jezeli prowadzisz kampanie Google Ads z Shoper i polegasz na wbudowanym widgecie, Google Ads widzi 0% konwersji po 6 marca 2024. Smart bidding i Performance Max pracuja na slepo. Remarketingowe listy sie nie buduja. Dane GA4 sa niekompletne. W tym artykule pokaze trzy realne sciezki wdrozenia wymagania Consent Mode v2 w Shoper, ktore zamykaja ten wyciek w 10-30 minut.

Spis tresci

Dlaczego wbudowany widget Cookies w Shoper nie wystarczy

Widget Cookies w Shoper jest solidny jako frontend — ma przyciski akceptacji, kategorie, ustawienia wygladu. Sam w sobie jednak NIE jest pelnym CMP, bo brakuje mu trzech rzeczy wymaganych przez Google Consent Mode v2:

  1. Brak domyslnego stanu zgody. Consent Mode v2 wymaga, zeby na stronie zanim uruchomi sie GA4 albo Google Ads, byl juz ustawiony sygnal gtag('consent', 'default', {...}). Widget Shoper tego nie robi — zaklada, ze zrobisz to we wlasnym kodzie.

  2. Brak automatycznego blokowania skryptow marketingowych. Pixel Meta, TikTok czy LinkedIn wstawiony przez Integracje wlasne Shoper dziala, dopoki sam go nie podpiac pod CMP. Inaczej ladujesz piksele zanim uzytkownik zobaczy baner.

  3. Brak logu zgod zgodnego z art. 7 ust. 1 RODO. Widget Shoper zapisuje wybor uzytkownika lokalnie, ale nie generuje audytowalnego raportu (timestamp + ID zgody + wersja banera), ktorego wymaga UODO przy kontroli UODO cookies.

Efekt netto: widget pokazuje baner, uzytkownik klika "Akceptuj", ale z perspektywy Google i UODO tej zgody nie ma. W lutym 2025 UODO ukaral sklep na Shoper na 73 000 EUR wlasnie za ten scenariusz — baner wyswietlany, sygnaly nie wysylane, analytics dzialajacy bez podstawy prawnej.

Trzy sciezki wdrozenia CMP w Shoper

Sciezka 1: aplikacja CMP z Shoper App Store

Najprostsza opcja. W Shoper App Store instalujesz aplikacje CMP (CookiePilot, Cookiebot, CookieYes — niektorzy maja dedykowane aplikacje, inni skrypt do Integracji wlasnych). Aplikacja sama podpina sie pod szablon, wysyla sygnaly Consent Mode i obsluguje log zgod.

Dla kogo: wiekszosc polskich sklepow, ktore chca wdrozenie bez dotykania kodu. Czas: 5-10 minut. Wada: nie kazdy CMP ma oficjalna aplikacje w Shoper App Store, wiec wybor jest ograniczony.

Sciezka 2: skrypt SaaS CMP w Integracjach wlasnych

Bardziej elastyczna. Z panelu CMP pobierasz fragment <script> i wklejasz go w Dodatki i integracje -> Integracje wlasne -> pole Head. Skrypt dziala na kazdym szablonie Shoper niezaleznie od wersji silnika.

Dla kogo: wszyscy, ktorzy chca konkretny CMP bez oficjalnej aplikacji. Czas: 10-15 minut. Wada: musisz pamietac o recznej kategoryzacji innych skryptow w Integracjach wlasnych (Meta Pixel, LinkedIn, TikTok).

Bardziej techniczna. Google Tag Manager instalujesz w Shoper w dwoch miejscach (Head + Body). W GTM uzywasz szablonow Consent Mode v2 (gotowy tag od Google Ads lub CookieYes). CMP dziala jako warstwa frontend, GTM jako backend sygnalow zgody.

Dla kogo: sklepy, ktore juz maja GTM, marketerzy, ktorzy operuja wieloma pikselami. Czas: 30-60 minut pierwsza konfiguracja, pozniej dodawanie tagow to kwestia minut. Wada: najwiecej ruchomych czesci, latwo cos pominac.

Dla wiekszosci polskich sklepow na Shoper sciezka 1 albo 2 to oczywisty wybor. GTM ma sens tylko dla sklepow z 5+ pikselami albo z dedykowanym zespolem marketingowym.

Wdrozenie krok po kroku — skrypt CMP w Integracjach wlasnych

Pokaze sciezke 2 na przykladzie CookiePilot, bo nie wymaga aplikacji Shoper App Store i dziala zawsze.

Krok 1. Rejestracja w CookiePilot (3 minuty)

Na app.cookiepilot.io zakladasz konto. Dodajesz domene sklepu. System generuje jeden fragment <script>:

<script src="https://cdn.cookiepilot.io/v1/cmp.js" data-site-id="abc123" async></script>

Krok 2. Wklejenie skryptu w Shoper (2 minuty)

Logujesz sie do panelu admin Shoper -> Dodatki i integracje -> Integracje wlasne -> Dodaj integracje. Wklejasz skrypt w pole Head. W nazwie wpisujesz "CookiePilot CMP". Zapisujesz.

Wazne: w polu "Przypisz do kategorii cookies" wybierasz Niezbedne. CMP musi zadzialac przed wyswietleniem banera uzytkownikowi, wiec nie moze czekac na zgode.

Krok 3. Wylaczenie wbudowanego widgetu Cookies (1 minuta)

W panelu Shoper -> Wyglad i tresci -> Widgety wylaczasz wbudowany widget Cookies. Dwa banery na raz to najbardziej niechlujny scenariusz.

Krok 4. Konfiguracja banera w CookiePilot (3 minuty)

W panelu CookiePilot uruchamiasz skaner cookies. System laduje strone glowna i kilka podstron sklepu, zwraca liste cookies z propozycja kategorii cookies. Sprawdzasz klasyfikacje:

  • cart, shop_session, phpsessid — niezbedne (zostaw)
  • _ga, _ga_<ID> — analityczne
  • _fbp, _fbc, _tt_sessionId, _uetsid, _gcl_au — marketingowe

Pixel Meta albo TikTok z Integracji wlasnych Shoper musisz pamietac o podpieciu osobno — o tym w nastepnej sekcji.

W CookiePilot w zakladce Integracje zaznaczasz Google Consent Mode v2. System automatycznie wstawia w skrypcie kod gtag('consent', 'default', {...}) z wszystkimi parametrami = denied. Po zgodzie uzytkownika parametry przechodza na granted.

Przypisanie skryptow do kategorii cookies w Shoper

Shoper ma ukryta, ale krytyczna funkcje. Kazdy skrypt dodany w Integracjach wlasnych mozna przypisac do kategorii cookies — i Shoper zablokuje go, dopoki uzytkownik nie zgodzi sie na dana kategorie. Wiele sklepow o tym nie wie i wlada piksele w kategorii "Niezbedne" z lenistwa.

Gdzie to ustawic

Dodatki i integracje -> Integracje wlasne -> kazdy skrypt ma pole "Kategoria cookies". Opcje: Niezbedne, Analityczne, Marketingowe, Funkcjonalne.

Co jak przypisac

SkryptKategoria
Meta Pixel (fbq)Marketingowe
LinkedIn Insight TagMarketingowe
TikTok PixelMarketingowe
Google Tag ManagerNiezbedne (GTM sam wysyla sygnaly zgody)
Google Analytics 4 (przez GTM albo bezposrednio)Analityczne
Microsoft ClarityAnalityczne
HotjarAnalityczne
Skrypt CMP (CookiePilot, Cookiebot)Niezbedne

Pulapka: GTM powinien byc Niezbedne, bo Tag Manager sam nie ustawia cookies reklamowych — dopiero tagi w srodku GTM to robia. Jezeli ustawisz GTM jako "Marketingowe", caly lancuch Consent Mode nie zadziala, bo GTM sie nie zaladuje dopoki uzytkownik nie zaakceptuje reklam. Dlatego dokumentacja Shoper traktuje GTM jako wyjatek.

Co jesli skrypt nie ma kategorii

Shoper automatycznie przypisze go do Niezbedne. To domyslne zachowanie jest niebezpieczne prawnie, bo kazdy nieprzypisany pixel reklamowy startuje bez zgody. Regularny audyt listy Integracji wlasnych (raz na kwartal) jest rekomendowany.

Jezeli masz juz GTM w sklepie albo chcesz miec pelna kontrole nad tagami, sciezka z GTM jest najmocniejsza. Polaczysz ja z sciezka 1 albo 2 (CMP na froncie, GTM na backendzie).

Kod GTM w Shoper

Shoper wymaga dodania GTM w dwoch miejscach:

  1. Head — glowny skrypt GTM (<script>(function(w,d,s,l,i)...)
  2. Body — noscript fragment dla stron bez JS (<noscript><iframe src="..."></iframe></noscript>)

Dokladna instrukcja instalacji w Centrum Pomocy Shoper. Po wklejeniu i zapisaniu GTM zaczyna dzialac w ciagu 1-2 minut.

W GTM tworzysz dwa tagi:

  1. Consent Default — Custom HTML z kodem gtag('consent', 'default', {...}), trigger "Consent Initialization - All Pages". Wszystkie cztery parametry = denied.
  2. Consent Update — Custom HTML ze sluchaniem eventu z CMP (zwykle dataLayer.push({event: 'consent_update', ...})), trigger consent_update.

Szczegolowa konfiguracja z pelnym kodem: jak wdrozyc Consent Mode v2 w Google Tag Manager.

Test i walidacja

Po wdrozeniu trzy kontrole w kolejnosci.

1. Otworz sklep w trybie incognito Baner CookiePilot (albo innego CMP) pojawia sie w 0,5-1 sekundy. W DevTools -> Application -> Cookies przed klikiem widzisz tylko cookies niezbedne (cart, shop_session, phpsessid). Zero _ga, _fbp, _gcl_au.

2. Tag Assistant Instalujesz rozszerzenie Google Tag Assistant. Odswiezasz sklep. Widzisz GTM, GA4 z statusem analytics_storage: denied. Po kliknieciu "Akceptuj wszystkie" status przeskakuje na granted, pojawiaja sie requesty do google-analytics.com/collect.

3. Ground truth w GA4 Po 48 godzinach w Google Analytics 4 -> Admin -> Data Streams -> Web -> Configure consent sprawdzasz, czy sygnaly zgody naplywaja. Jezeli 100% ruchu jest "denied", cos w integracji nie zagralo. Najczesciej: CMP nie wysyla update.

Wiecej o konsekwencjach bledu i co dokladnie przestaje dzialac bez Consent Mode: co tracisz bez Consent Mode v2.

Najczestsze problemy w Shoper

Moduly marketingowe z pikselami wbudowanymi

Niektore moduly Shoper (np. integracja z Google Ads, remarketingiem Facebook) instaluja piksele automatycznie, poza Integracjami wlasnymi. Wtedy nie widzisz ich na liscie do kategoryzacji, ale one sie laduja. Sprawdzasz to w DevTools -> Network.

Rozwiazanie: w module wylacz wbudowany pixel, dodaj go recznie przez Integracje wlasne i przypisz kategorie Marketingowe.

Integracja z Baselinker

Baselinker nie ustawia cookies marketingowych — tylko komunikuje sie z Shoper przez API. Consent Mode go nie dotyczy. Warto jednak sprawdzic, czy Baselinker nie wciaga na strone jakiegos dodatkowego skryptu tracingowego.

Checkout jednostronicowy

Shoper ma dwa checkoutty: klasyczny (wielostronicowy) i jednostronicowy (SPA-like). Na jednostronicowym banery CMP czasami nie pokazuja sie przy drugim zaladowaniu — CMP mysli, ze juz dzialalo. Rozwiazaniem jest uruchomienie CMP tez na eventach historii przegladarki (history.pushState), co CookiePilot robi automatycznie, a niektore inne CMP wymagaja dodatkowej konfiguracji.

Cache CDN i Cloudflare

Shoper uzywa wlasnego CDN. Jezeli dodatkowo masz Cloudflare przed Shoper, cache agresywnie serwuje statyczny HTML bez skryptu CMP. Test: otworz sklep w incognito z 3 roznych sieci (dom, mobile, praca). Jezeli baner gdzies sie nie pokazuje, CDN musi byc skonfigurowany.

Multi-language sklepy

Jezeli masz wersje PL + EN + DE, CMP musi pokazywac baner w jezyku uzytkownika. Shoper wysyla jezyk w lang atrybucie HTML — dobry CMP (CookiePilot, Cookiebot) rozpoznaje to automatycznie. Sprawdz w kazdej wersji osobno.

Aktualizacje szablonu

Niektore szablony Shoper po update zresetowuja ustawienia Integracji wlasnych. Po kazdej aktualizacji szablonu otworz panel i upewnij sie, ze skrypt CMP dalej tam jest. Lepiej jeszcze: dodaj skrypt na poziomie calego sklepu, nie konkretnego szablonu.

Podsumowanie

Consent Mode v2 w Shoper to dzis raczej "kiedy" niz "czy". Wbudowany widget to dobre zaczynek, ale niepelne rozwiazanie. W 10-30 minut, w zaleznosci od sciezki, domykasz to do pelnej zgodnosci z Google i UODO.

  • Wlasciciele sklepow Shoper: w ciagu 24 godzin otworz sklep w incognito, otworz DevTools -> Network i sprawdz co laduje sie przed akceptacja banera. Jezeli widzisz GA4, Meta Pixel albo cokolwiek innego niz cookies niezbedne, musisz wdrozyc CMP.
  • Developerzy Shoper: zweryfikujcie, czy skrypty w Integracjach wlasnych maja przypisane kategorie. Nieprzypisane ida do "Niezbedne" i laduja bez zgody. Sprawdz tez, czy module marketingowe nie wkladaja pixeli poza Integracjami wlasnymi.
  • Marketerzy e-commerce: bez Consent Mode v2 Smart Bidding dla Google Ads traci dokladnosc nawet o 50-70% (dane Google z 2024). Kazdy dzien opoznienia to kampanie prowadzone po omacku.

Dla typowego sklepu na Shoper zalecam sciezke 2 (skrypt CMP w Integracjach wlasnych) z CMP obslugujacym Consent Mode v2 natywnie. Szerzej o tym, jak porownac platformy, w artykule o wyborze CMP dla e-commerce. Jezeli szukasz CMP z polskim wsparciem i gotowym skryptem pod Shoper, sprawdz CookiePilot — darmowy plan do 10 000 odslon, wdrozenie 10 minut.

Powiazane przewodniki

FAQ

Czy wbudowany widget Cookies w Shoper wystarczy do RODO?

Nie wystarczy do pelnej zgodnosci z Consent Mode v2. Widget Shoper pokazuje baner i zbiera zgode, ale nie wysyla domyslnego stanu gtag('consent', 'default', {...}) przed zaladowaniem tagow Google. W efekcie Google Analytics i Google Ads dzialaja w trybie bez zgody — dane nie sa mierzone poprawnie, a Shoper oficjalnie to potwierdza. Trzeba dolozyc CMP, ktore obsluguje Consent Mode v2 natywnie.

Trzy sciezki bez kodu: aplikacja CMP z Shoper App Store (np. CookiePilot, Cookiebot) — instalacja jednym klikiem; skrypt CMP SaaS wklejony w Dodatki i integracje -> Integracje wlasne — dziala na kazdym szablonie Shoper; Google Tag Manager z szablonem Consent Mode + wbudowany widget Shoper jako frontend. Opcja 1 jest najprostsza, opcja 2 najbardziej elastyczna.

Gdzie w Shoper wkleic skrypt CMP?

W panelu admin Shoper: Dodatki i integracje -> Integracje wlasne. Dodajesz nowa integracje, wklejasz fragment skryptu do pola Head. W polu "Kategoria cookies" wybierasz Niezbedne, zeby skrypt dzialal przed zgoda uzytkownika.

Dlaczego moje skrypty reklamowe w Shoper laduja sie przed zgoda?

Bo nie sa przypisane do kategorii cookies. Shoper ma funkcje przypisywania skryptow do kategorii — niepoprzypisane ida domyslnie do kategorii "Niezbedne", co jest bledem prawnym dla pixeli Meta, Google Ads czy TikTok. Rozwiazanie: w panelu Shoper kazdy dodany skrypt przypisz do wlasciwej kategorii (analityczne, marketingowe).

Tak, ale wymagaja sprawdzenia. Baselinker nie ustawia cookies reklamowych, wiec Consent Mode go nie dotyczy. Moduly platnosci (Przelewy24, PayU, Autopay) ustawiaja cookies niezbedne do przebiegu transakcji — te sa automatycznie kategoryzowane jako "Niezbedne" i nie wymagaja zgody. Problem pojawia sie zwykle dopiero przy pixelach reklamowych wbudowanych w moduly marketingowe Shoper, ktore trzeba recznie podpiac pod CMP.


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.

Udostępnij ten artykuł: