W panelu Stape te funkcje nazywają się power-upami. W rozmowach z agencjami i na forach e-commerce słychać raczej „pluginy Stape”. Chodzi o to samo: przełączniki przy kontenerze server-side Google Tag Manager, które zmieniają to, co w ogóle trafia do GA4, Google Ads i Meta. Nie myl ich z wtyczką do Shopify albo z szablonem tagu CAPI w GTM. Tamte też są potrzebne, ale to inna półka.
Ranking jest pod sklep z płatnym ruchem, Consent Mode i już działającym sGTM na własnej subdomenie, na przykład collect.sklep.pl. Jeśli kontener jeszcze nie stoi, najpierw porównaj hosting w profilu Stape i w katalogu rozwiązań server-side. Power-up na kontenerze bez custom domain i bez zgód to tylko droższy sposób na te same dziury.
Nazwy, plany i zachowanie power-upów biorę z dokumentacji Stape. Custom Loader i Click ID Restorer są na planie Free. Cookie Keeper, Bot Detection i Enricher wymagają planu Pro albo wyższego. Cookie Keeper z własną listą cookies to Business. Własny plan i limity requestów warto zestawić z kalkulatorem kosztów server-side, bo Stape rozlicza się za requesty.
Czym się różnią pluginy, power-upy i szablony GTM
Manager dostaje od wdrożeniowca trzy nazwy na przemian i trudno ocenić, czy praca jest skończona. Rozróżnienie jest proste.
| Co to jest | Gdzie to włączasz | Co z tego ma sklep |
|---|---|---|
| Power-up Stape | Panel kontenera sGTM, sekcja Power-ups | Infrastruktura: loader, cookies, boty, wzbogacanie eventów, geo |
| Aplikacja CMS | Shopify, WordPress, Magento, BigCommerce | DataLayer, webhook zakupu, często ten sam loader i Cookie Keeper |
| Szablon tagu GTM | Kontener web albo server | Wysyłka do Meta CAPI, Google Ads, TikTok, Klaviyo |
Ten artykuł dotyczy power-upów, bo to je „uruchamiasz” bez pisania kodu i to one najczęściej leżą wyłączone po starcie sGTM. Aplikacja CMS nie zastępuje rankingu. Na Shopify i WordPressie i tak musisz zaznaczyć Cookie Keeper i Custom Loader w konfiguracji aplikacji. Szczegóły aplikacji są w poradach Flesz: Shopify i WordPress. Szerszy zestaw krótkich notatek jest pod tagiem Stape.io.
Co musi być gotowe, zanim cokolwiek włączysz
Power-up nie naprawi złego dataLayer. Jeśli purchase nie ma transaction_id, wartości i pozycji, serwer tylko wierniej wyśle śmieci. Zanim ruszysz przełączniki, sprawdź trzy rzeczy.
- Custom domain. Requesty idą na subdomenę sklepu, nie na
*.stape.ioanigoogletagmanager.com. Bez tego Custom Loader i Cookie Keeper tracą główny sens first-party. - Jedna kopia GTM. Po Custom Loader standardowy snippet z
googletagmanager.commusi zniknąć z motywu, wtyczki i GTM-injectorów. Dwa loadery dają podwójne eventy. - Zgody. Consent Mode i CMP zostają. Power-up nie jest zwolnieniem z zgody marketingowej. Enricher ma osobny przełącznik: zapis profilu tylko przy zgodzie. Cookie Keeper przedłuża cookies, które i tak powinny powstać po decyzji użytkownika.
Do odbioru warstwy tagów przyda się checklista GTM i checklista server-side. Pytania o hosting, region i koszty są w FAQ server-side.
Ranking: pięć power-upów, które ruszają liczby w sklepie
Kolejność nie jest alfabetyczna. Najpierw to, bez czego reszta działa na połowie sesji. Potem atrybucja płatnego ruchu. Na końcu jakość sygnału, który idzie do algorytmów reklamowych.
| Miejsce | Power-up | Plan | Jaki rozjazd zamyka |
|---|---|---|---|
| 1 | Custom Loader | Free | Zakupy w backendzie są, w GA4 ich nie ma, bo GTM się nie załadował |
| 2 | Cookie Keeper | Pro | Safari wraca po tygodniu jako nowy użytkownik, kampania spada do Direct |
| 3 | Click ID Restorer | Free | Safari i Brave wycinają gclid / msclkid z URL |
| 4 | Bot Detection | Pro | Smart Bidding uczy się na konwersjach, których nie było |
| 5 | Enricher | Pro | Meta i Google dostają purchase bez e-maila i telefonu, Event Match Quality spada |
Trzy z pięciu wymagają Pro. Plan Free wystarczy, żeby postawić kontener i Custom Loader na teście. W sklepie z realnym budżetem reklamowym Pro przestaje być „opcją premium”. Jest warunkiem Cookie Keeper, Bot Detection i Enricher.
1. Custom Loader: GTM ma w ogóle dotrzeć do przeglądarki
Adblock i listy filtrujące znają adresy googletagmanager.com i google-analytics.com. Jeśli loader GTM stamtąd nie wstaje, nie ma dataLayer, nie ma hitów do sGTM, nie ma CAPI. Server-side nic nie „odzyska”, bo nic nie przyszło.
Custom Loader podmienia ścieżkę gtm.js i gtag.js na Twoją subdomenę. Cookies z tego loadera są first-party. Stape podaje prosty test: backend 500 zakupów, GA4 380. Po włączeniu loadera luka powinna się zmniejszyć. Jeśli nie, w dokumentacji jest drugi stopień: Enhanced ad blocker protection, czyli szyfrowanie wzorców requestów, które filtry rozpoznają po URL.
Co ma zrobić wdrożeniowiec
- Włączyć Custom Loader na kontenerze i wygenerować snippet albo konfigurację aplikacji CMS.
- Wpisać Web GTM ID i wybrać custom domain.
- Usunąć standardowy snippet GTM z motywu i wtyczek.
- Jeśli Cookie Keeper też ma działać, zaznaczyć Generate with Cookie Keeper. Ta opcja pojawia się dopiero po włączeniu Cookie Keeper.
Na Shopify i WordPressie Stape każe iść przez aplikację, nie przez ręczny JS. Na PrestaShop, IdoSell albo custom frontcie wybierasz platformę Other i wklejasz wygenerowany kod. Krótka nota techniczna jest w Flesz: Custom Loader.
Jak to odebrać po tygodniu
W DevTools, zakładka Network, filtrujesz host collect. Powinien być request loadera ze statusem 200. W GA4 porównujesz liczbę purchase z liczbą opłaconych zamówień z tego samego okna, najlepiej po transaction_id. Sam wzrost sesji nic nie mówi. Liczy się zakup.
Najczęstszy błąd po tej zmianie to stary kod GTM w motywie plus nowy Custom Loader. W raportach rośnie liczba eventów, a nie kompletność. Przed publikacją kontenera web sprawdź źródło strony: jeden gtm.js, z Twojej subdomeny.
2. Cookie Keeper: Safari nie może kasować atrybucji po siedmiu dniach
Od Safari 16.4 Intelligent Tracking Prevention obcina życie części first-party cookies do siedmiu dni. Klient z iPhone'a klika reklamę w poniedziałek, wraca w kolejny i GA4 widzi nowego użytkownika z kanału Direct. W sklepie z 25-35% ruchem Safari to nie niuans raportu. To dziura w ROAS i w retargetingu.
Cookie Keeper trzyma identyfikator użytkownika w cookies first-party i przy kolejnej wizycie odtwarza wybrane cookies marketingowe, jeśli zniknęły. Na liście standardowej są między innymi _ga, FPID, _gcl_aw, _fbp, _fbc, _ttp, ttclid, cookies Microsoft UET, Pinterest, Snapchat, LinkedIn, Awin i Rakuten. Własne nazwy cookies są na planie Business.
Stape opisuje sklep z okularami, w którym Direct stanowił 34,63% ruchu. Po Cookie Keeper Direct spadł o 67,9%, Paid Search urósł o 56,8%, Organic o 36,1%. To przykład z ich dokumentacji, nie obietnica dla każdego sklepu. U Ciebie efekt zależy od udziału Safari i od tego, czy kampanie w ogóle trzymają click ID w URL.
Co ma zrobić wdrożeniowiec
- Plan Pro albo wyższy.
- Zaznaczyć cookies kanałów, które naprawdę lecą w sklepie. Nie odhaczaj wszystkiego „na zapas”.
- Wygenerować loader z Cookie Keeper i, w aplikacji CMS, zaznaczyć ten power-up w ustawieniach aplikacji. Sam przełącznik w panelu Stape nie wystarczy, jeśli sklep nadal serwuje stary snippet.
- Jako identyfikator użytkownika Stape rekomenduje cookie, nie bardziej kruche metody.
Test z dokumentacji: Safari 16.4+, parametr ?galid=test123, skasowanie _ga, dwa odświeżenia, to samo _ga wraca. Nota: Cookie Keeper.
Jak to odebrać po dwóch-czterech tygodniach
W GA4: Pozyskiwanie ruchu, udział Direct, filtr na przeglądarkę. Jeśli Safari ma wyraźnie wyższy Direct niż Chrome, ITP nadal wygrywa. Po poprawnym Cookie Keeper ten rozjazd powinien się zmniejszyć. Równolegle patrz na powracających użytkowników i na retencję, nie tylko na sam Direct. Spadek Direct przy równym przychodzie z backendu jest dobrym znakiem. Spadek Direct przy spadku przychodu w GA4 oznacza, że ktoś zepsuł measurement, nie atrybucję.
3. Click ID Restorer: gclid znika z paska, konwersja nie musi
Cookie Keeper trzyma cookies, które już powstały. Click ID Restorer ratuje sytuację wcześniejszą: Safari i Brave w trybie prywatnym usuwają z URL parametry gclid (Google Ads) i msclkid (Microsoft Ads). Bez nich Conversion Linker i tagi konwersji nie mają czego zapisać. W dokumentacji Stape pojawia się też perspektywa szerszego wycinania gclid poza samym Private.
Power-up nie zgaduje brakującego identyfikatora. Działa tak: w Google Ads, w Suffiksie końcowego adresu URL, dodajesz parametr zapasowy o dowolnej nazwie, na przykład backup_gclid={gclid}. Landing ma wtedy oba parametry. Jeśli przeglądarka wytnie gclid, zostaje kopia. Stape podmienia kopię z powrotem na natywny gclid, zanim request wejdzie do sGTM. Native cookies konwersji mogą się wtedy zapisać.
To nie jest zadanie samego analityka
Bez wpisu w Google Ads (i analogicznie w Microsoft Ads) włączenie power-upu nic nie da. Manager musi dopisać ten krok do pracy media: konto Ads, Ustawienia konta, Tracking, Final URL suffix. Ta sama nazwa parametru idzie do pola w Stape. Jeśli w Ads jest backup_gclid={gclid}, w Stape wpisujesz backup_gclid.
Test z dokumentacji: otwórz https://sklep.pl/?backup_gclid=test123 w Safari w trybie prywatnym. W Preview sGTM event powinien mieć już gclid=test123. Power-up jest na planie Free. Nota: Click ID Restorer.
Jak to odebrać
W sGTM Preview i w logach Stape na evencie purchase szukasz gclid albo cookies FPGCLAW / _gcl_aw po wejściu z reklamy. W Google Ads porównujesz konwersje z Safari przed i po, na tym samym oknie atrybucji. Jeśli media korzystają ze Smart Bidding, daj dwa-trzy cykle uczenia, zanim wyciągniesz wniosek o ROAS.
4. Bot Detection: nie karm algorytmu fałszywym zakupem
Brakujący purchase boli. Fałszywy purchase boli bardziej, bo Google Ads i Meta traktują go jako etykietę „ten ruch konwertuje”. Smart Bidding, Performance Max i lookalike uczą się wtedy wzorca, który nigdy nie kupi. W raporcie sesje rosną, współczynnik konwersji spada, budżet idzie w środek niczego.
Bot Detection ocenia każdy przychodzący request w skali 0-100. Poniżej 50: raczej człowiek. 50-75: podejrzane, Stape sam tego nie blokuje. Powyżej 75: potwierdzony bot. Dwa tryby:
- Dodaj nagłówki. Do requestu trafiają
X-Device-Bot(true/false, true od progu 50) iX-Device-Bot-Score. W sGTM robisz zmienną Request Header i wyjątki na tagach. - Blokuj boty. Requesty ze score powyżej 75 na ścieżkach
/collect(GA4) i/data(Data Tag) dostają blokadę. Webhooki na te same ścieżki mogą wylecieć razem z botami.
Plan Pro albo wyższy. Nota: Bot Detection.
Włączaj warstwami, nie od razu na blokadę
- Tydzień albo dwa tylko nagłówki. Wrzuć score do parametru eventu GA4 i zobacz, ile ruchu siada powyżej 75.
- Wyjątek na tagach Google Ads i Meta CAPI, gdy
X-Device-Botjest true. GA4 możesz na razie zostawić, żeby widzieć skalę śmieci. - Blokadę włączasz, gdy scoring nie tnie webhooków z Magento, Baselinkera albo płatności. Webhooki przenieś na osobną ścieżkę, na przykład
/webhooks, i dopisz ją w Data Client.
W dokumentacji Stape jest też twardsza teza: bot w biddingu to błąd etykiety, nie ubytek konwersji. Dlatego najpierw czyścisz kanały reklamowe, niekoniecznie od razu cały GA4.
Jak to odebrać
Porównaj liczbę zamówień z ERP z konwersjami w Google Ads i Meta, nie tylko z GA4. Jeśli po filtrze botów konwersje w Ads spadną, a przychód w sklepie stoi, to raczej wychodzenie ze śmieci, nie awaria tagu. Sprawdź logi Stape: przy blokadzie szukaj statusu 403. Upewnij się, że testowy webhook zakupu nadal wpada do Preview.
5. Enricher: Event Match Quality nie urośnie z pustego purchase
Server-side CAPI bez danych użytkownika to często gorszy sygnał niż piksel w przeglądarce. Meta liczy Event Match Quality z e-maila, telefonu, imienia, lokalizacji. Jeśli użytkownik kupił jako zalogowany tydzień temu, a dziś purchase idzie z webhooka bez tych pól, platforma dostaje transakcję-widmo.
Enricher zapamiętuje wybrane pola z wcześniejszych eventów i dokleja je do kolejnych. Identyfikuje użytkownika w tej kolejności: email_address, cookie _sbp z aplikacji CMS, FPID, _ga, _dcid, nagłówek stape-user-id. Dane możesz trzymać w cookie _sbpee albo w Stape Store. Store jest trwalszy i wlicza się w limit planu.
Tryb Automatic mapuje pola na standardowe parametry /g/collect i /data, więc większość tagów CAPI zjada je bez ręcznego mapowania. Semi-automatic dokłada prefiks enricher i wymaga zmiennych w sGTM. Do Meta zwykle chcesz Automatic. Plan Pro albo wyższy. Nota: Enricher.
RODO nie znika, bo dane są „po stronie serwera”
W konfiguracji jest przełącznik: zapisuj cookie albo Store tylko przy zgodzie marketingowej. Consent Mode v2 na /collect i obiekt consent_settings na /data. Ten przełącznik ma być włączony na rynku UE. Cookie _sbpee dopisz do polityki i do CMP. Nie trzymaj w Enricherze surowego e-maila „na wszelki wypadek”, jeśli tag i tak wysyła hash. Zakres pól ogranicz do tego, czego żąda platforma reklamowa: e-mail, telefon, ewentualnie miasto i kod pocztowy, nie data urodzenia.
CSV z CRM (zakładka Profiles) ma sens przy offline conversions i stałych klientach B2B. E-mail jest obowiązkowy. To nie jest pierwszy krok po włączeniu power-upu.
Jak to odebrać
W Meta Events Manager: Event Match Quality dla Purchase, udział eventów z EMQ i parametrami użytkownika, 7 i 28 dni po starcie. W Google Ads: enhanced conversions, odsetek konwersji z dopasowanym mailem. W Preview: po zalogowaniu widać pola, po wylogowaniu kolejne eventy wciąż je mają (zahashowane po stronie tagu). Porównanie piksela i CAPI jest w porównaniu pikseli marketingowych.
Dwa dodatkowe, gdy masz już piątkę
Nie są w top 5, bo łatwo je źle ustawić albo dotyczą węższego problemu. W dojrzałym wdrożeniu oba warto znać.
Anonymizer: sitko PII przed GA4, nie wyłącznik atrybucji
Anonymizer wycina albo maskuje pola, zanim hit wyjdzie do GA4. Jest na planie Free. Przydaje się, gdy dataLayer czasem puszcza e-mail w parametrze custom albo gdy DPO chce twardo obcięte IP.
Tu łatwo przesadzić. Anonimizacja Client ID psuje liczbę użytkowników i powracających. Anonimizacja parametrów kampanii psuje atrybucję w GA4. „Anonymize Smart” dla IP zostawia kraj, bez prawdziwego adresu. Zaczynaj od IP i od usuwania oczywistego PII, nie od cid. Nota: Anonymizer.
GEO Headers: kraj na serwerze, bez geolokalizacji w przeglądarce
GEO Headers dokłada do requestu m.in. X-GEO-Country, region i miasto (MaxMind GeoLite2). Free. Managerowi służy do dwóch rzeczy: raport regionalny bez czekania na geo GA4 oraz reguła w sGTM, która inaczej traktuje ruch z UE i spoza UE. IP w UE to dane osobowe, więc ten power-up też wpisujesz do dokumentacji przetwarzania, nie włączasz „bo jest darmowy”. Nota: GEO Headers.
W jakiej kolejności to włączać
Nie włączaj pięciu przełączników w piątek o 16:00 i nie wracaj w poniedziałek do „zepsutego GA4”. Każdy krok ma własny odczyt.
- Custom domain i jeden transport do sGTM. Bez tego reszta stoi na trzeciej stronie.
- Custom Loader, usunięcie starego snippetu, tydzień porównania purchase z ERP.
- Click ID Restorer razem z suffixem w Google Ads. To praca media, nie tylko GTM.
- Cookie Keeper na Pro, z listą cookies kanałów, które naprawdę lecą.
- Bot Detection w trybie nagłówków, potem wyjątki na Ads i Meta, blokada na końcu.
- Enricher z przełącznikiem zgody i wpisem
_sbpeew CMP. - Anonymizer i GEO Headers po decyzji, jakie pola GA4 ma prawo widzieć.
Jeśli sklep jest na Shopify albo WordPressie, aplikacja CMS wchodzi między punkt 1 i 2: to ona wstawia loader i zaznacza Cookie Keeper. Szablony Meta CAPI i Google Ads w sGTM stawiasz równolegle, ale bez loadera i bez click ID i tak będą ślepe.
Czego nie włączać od razu
Panel Stape ma dużo power-upów. Część jest po to, żeby rozwiązać rzadki problem, nie żeby „dokończyć konfigurację”.
| Power-up | Kiedy ma sens | Dlaczego nie na starcie |
|---|---|---|
| Open Container for Bot Index | Świadoma decyzja SEO, żeby boty widziały gtm.js |
Domyślnie Stape blokuje gtm.js przed botami. Odwracasz to tylko z powodem. |
| Multi-Domains | Kilka sklepów, jeden kontener sGTM, plan Business | Jeden sklep na jednej domenie tego nie potrzebuje. |
| POAS Data Feed | Masz koszt własny SKU i chcesz optymalizować zysk, nie obrót | Bez feedu kosztów wyślesz zgadywany zysk do Ads. |
| File proxy, Schedule, Request Delay | Konkretny plik, cron albo odroczony webhook | Nie ruszają atrybucji sklepu. |
| Block Request by IP | Stałe IP biura albo znany zakres śmieci, plan Business | Nie zastąpi Bot Detection i łatwo wyciąć VPN-y zespołu. |
| sGTM Preview Header | Debug webhooka spoza web GTM | Narzędzie na czas testu. Stape sam je wyłączy, jeśli zapomnisz, ale tokenu nie zostawiaj na produkcji. |
Jak sprawdzić, czy wdrożenie naprawdę działa
Odbiór nie polega na zrzucie ekranu z włączonymi kafelkami w Stape. Manager porównuje trzy źródła: backend sklepu, GA4, platformy reklamowe. Okno: 7 dni po Custom Loader, 14-28 dni po Cookie Keeper i Enricher, bo atrybucja i EMQ nie przestawią się z dnia na dzień.
| Pytanie | Gdzie spojrzeć | Dobry znak |
|---|---|---|
| Czy GTM w ogóle wstaje? | Network na collect.*, liczba purchase vs ERP | Luka purchase maleje, jeden loader w źródle strony |
| Czy Safari gubi źródło? | GA4, Direct x przeglądarka | Safari zbliża się do Chrome, Direct nie spada kosztem przychodu |
| Czy klik z Ads przeżywa checkout? | Preview sGTM na purchase, cookies _gcl_aw / _fbc |
Po Safari Private widać odtworzony gclid |
| Czy boty idą do bidding? | GA4 parametr bota, konwersje Ads vs ERP | Ads bliżej ERP, 403 w logach Stape tylko na śmieci |
| Czy CAPI ma kogo dopasować? | Meta EMQ, Google enhanced conversions | EMQ rośnie bez wzrostu reklamacji RODO o nowe cookies bez zgody |
Jeśli liczby po dwóch tygodniach nie drgnęły, nie dokładaj kolejnego power-upu. Wróć do custom domain, podwójnego loadera i suffixu w Google Ads. Te trzy rzeczy psują ranking częściej niż „zły kontener”.
Najczęściej zadawane pytania
Czy plan Free wystarczy na sklep z reklamami?
Na test i na Custom Loader plus Click ID Restorer tak. Cookie Keeper, Bot Detection i Enricher są na Pro. W sklepie, który liczy ROAS z Safari i Meta, Free kończy się w momencie, gdy chcesz utrzymać cookies i czyścić boty. Limity requestów licz osobno: duży feed i preview też jedzą pulę.
Czy te pluginy obchodzą consent i adblock „wbrew użytkownikowi”?
Nie powinny. Custom Loader omija rozpoznawalne URL-e trackerów, ale tagi Google nadal czytają Consent Mode. Cookie Keeper odtwarza cookies, które powstały w ramach Twojego modelu zgody. Enricher ma zapis tylko przy zgodzie marketingowej. Jeśli ktoś wdraża to bez CMP i bez odmowy, problemem nie jest Stape, tylko wdrożenie. Tego nie podpiszesz jako „zgodne, bo server-side”.
Mamy aplikację Stape na Shopify. Czy ranking i tak obowiązuje?
Tak. Aplikacja wstawia dataLayer i często loader, ale Cookie Keeper i Custom Loader musisz świadomie zaznaczyć w jej ustawieniach. Click ID Restorer i tak wymaga suffixu w Google Ads. Bot Detection i Enricher włączasz w panelu kontenera, nie w Shopify admin.
Czy zamiast Stape nie lepiej zostać na Google Cloud?
Można. Wtedy tych power-upów nie ma jako kafelków. Loader, przedłużanie cookies i boty budujesz sami albo kupujesz u innego hosta. Stape jest skrótem dla zespołu bez DevOps. Porównanie wariantów jest w katalogu i w kreatorze rozwiązania server-side. Jeśli sGTM ma wejść na stałe, zakres prac jest w ofercie server-side tagging.
Ile czasu zajmie włączenie piątki?
Sama konfiguracja w panelu to godziny, nie tygodnie. Odbiór to tygodnie, bo Safari, EMQ i Smart Bidding nie przeliczają się w jeden dzień. Click ID Restorer czeka na publikację suffixu w Ads. Enricher czeka na wpis cookies w CMP. Realny kalendarz sklepu: dwa sprinty, z pomiarem po każdym kroku, nie jedna wielka publikacja wszystkiego naraz.
Czy Enricher jest legalny w Polsce?
Może być, jeśli dane są objęte zgodą, zakres pól jest minimalny, cookie jest w polityce, a DPO wie, że profil siedzi w Stape Store albo w _sbpee. Nie jest legalny „z urzędu”, bo siedzi na serwerze. To ten sam test co przy Meta CAPI: podstawa prawna, retencja, umowa powierzenia, region hostingu. Stape Europe (Scaleway) i Stape Global (GCP) to różne odpowiedzi na pytanie o transfer.
Źródła
- Power-ups from Stape, katalog funkcji
- Everything is set up. What to do next?, Stape Helpdesk (aktualizacja 12.08.2026)
- Custom Loader power-up, Stape Helpdesk
- Cookie Keeper power-up, Stape Helpdesk
- Click ID Restorer, Stape Helpdesk
- Bot Detection power-up, Stape Helpdesk
- Enricher power-up, Stape Helpdesk
- Anonymizer power-up, Stape Helpdesk
- Understanding Stape power-ups, blog Stape (aktualizacja 31.08.2026)