Kto co robi
| Etap | Ty | Ja |
|---|---|---|
| 1. Start | Podajesz adres sklepu, platformę sklepową i listę platform reklamowych. | Uruchamiam serwer i certyfikat SSL, zakładam Ci konto w panelu. |
| 2. Subdomena (opcjonalnie) | Dodajesz jeden rekord CNAME w DNS. | Sprawdzam rekord, wystawiam certyfikat, przełączam pomiar na Twoją subdomenę. |
| 3. Sklep | Dajesz dostęp administratora do sklepu albo wykonujesz dwa–trzy ustawienia według tej instrukcji. | Podłączam zdarzenia ze sklepu i zamówienia wysyłane z serwera sklepu. |
| 4. Platformy reklamowe | Przekazujesz identyfikatory i tokeny. | Konfiguruję wysyłkę do GA4, Google Ads, Meta, TikToka i Pinteresta w ustalonym zakresie. |
| 5. Test | Składasz zamówienie testowe. | Sprawdzam je w podglądzie GTM i w panelu, przekazuję dostęp. |
Co przygotować
- Adres sklepu i platforma — Shoper, WooCommerce, Shopify, PrestaShop, IdoSell albo sklep autorski.
- Adres e-mail do logowania w panelu. Konto zakładam ja; dodatkowe konta dla zespołu również — napisz, komu.
- Identyfikatory platform reklamowych — pełna lista z miejscami, gdzie je znaleźć: Gdzie znaleźć identyfikatory platform. Dla Pinteresta zakres danych ustalamy przy wdrożeniu.
- Dostęp do DNS domeny — tylko jeśli chcesz własną subdomenę.
- Średnia liczba użytkowników z GA4 z ostatnich 3 miesięcy — od niej zależy pakiet.
Krok 1. Własna subdomena (opcjonalnie)
Pomiar działa od razu na adresie w mojej domenie. Własna subdomena jest w cenie każdego pakietu i wymaga od Ciebie jednego rekordu DNS.
Wybierz nazwę subdomeny, np.
sst.sklep-demo.pl, i daj mi znać.Dodaj w DNS rekord CNAME: nazwa
sst, cel — adres Twojego serwera, który Ci podam (formatgtmNN.lukaszszczesiak.pl).Jeśli DNS jest w Cloudflare, ustaw na tym rekordzie „DNS only” (szara chmurka).
Napisz, że rekord jest dodany. Sprawdzam go w dwóch niezależnych publicznych serwerach DNS i dopiero wtedy wystawiam certyfikat. Certyfikat odnawia się sam.
Najczęstszy błąd: włączone proxy Cloudflare (pomarańczowa chmurka). Certyfikat się wtedy nie wystawi i przełączenie się zatrzyma. Wystarczy przestawić rekord na „DNS only”.
Szczegóły rekordu: Rekord CNAME dla własnej subdomeny.
Krok 2. Podłączenie sklepu
Sklep wysyła dwie rzeczy: zdarzenia z przeglądarki (wyświetlenia, koszyk) oraz zamówienie prosto z serwera sklepu, tzw. webhookiem. Webhook nie zależy od przeglądarki klienta, więc zamówienie dociera także wtedy, gdy klient zamknie kartę albo ma bloker reklam.
Żeby zamówienie dało się przypisać do kliknięcia reklamy, sklep musi zapisać przy nim identyfikatory wizyty (m.in. z Google Analytics, Meta i Google Ads). Do tego służy mały skrypt w sklepie.
Shoper
Pole dodatkowe do zamówienia. W panelu Shopera: Konfiguracja → Pola dodatkowe → sekcja „Dodatkowe pole do zamówienia”. Typ tekstowy, nieobowiązkowe, aktywne.
Nie wybieraj sekcji „do klienta” — takie pole wyświetla się tylko gościom i u zalogowanych klientów zostaje puste.
Skrypt w szablonie sklepu. Dostajesz ode mnie gotowy skrypt z numerem Twojego pola. Wkleja się go na końcu sekcji
bodyszablonu, tak żeby działał na każdej stronie sklepu — nie przez Google Tag Managera.Webhook zamówienia. W panelu Shopera: Webhooki → nowy webhook → zdarzenie
order.create→ adres URL, który Ci podam.
Pole musi mieścić około 250 znaków. Jeśli Shoper przycina dłuższe wartości, część identyfikatorów przepadnie — sprawdzam to przy teście.
WooCommerce
Fragment kodu w sklepie. Dostajesz ode mnie plik PHP. Instaluje się go jako wtyczkę „must-use” albo dopisuje do
functions.phpmotywu potomnego. Zapisuje identyfikatory wizyty przy zamówieniu i działa zarówno z klasycznym, jak i blokowym koszykiem WooCommerce.Webhook zamówienia. WooCommerce → Ustawienia → Zaawansowane → Webhooki → dodaj webhook → temat
order.created(w polskim panelu: „Zamówienie utworzone”) → adres URL dostarczenia, który Ci podam.
Adres webhooka zawiera klucz. Traktuj go jak hasło i nie publikuj.
Shopify
Na Shopify najprościej zainstalować aplikację TagRelay — robi to samo bez wklejania kodu i ma własny kreator. Instrukcja: TagRelay krok po kroku.
PrestaShop, IdoSell, sklepy autorskie
Dla tych platform nie ma jednej gotowej ścieżki — sposób podłączenia zamówień ustalam po obejrzeniu sklepu i opisuję w dokumencie przekazywanym po wdrożeniu.
Krok 3. Platformy reklamowe
Identyfikatory i tokeny wpisuję w konfigurację serwera — w panelu klienta nie ma formularza do ich edycji. Jeśli zmieniasz piksel, konto reklamowe albo generujesz nowy token, napisz do mnie, inaczej zdarzenia będą szły pod stare dane.
Lista danych z opisem, gdzie je znaleźć: identyfikatory platform.
Krok 4. Test zamówienia
Wejdź do sklepu z linku reklamy albo zwykłym wejściem i zaakceptuj cookies.
Dodaj produkt do koszyka i złóż zamówienie testowe (np. z płatnością przelewem, do anulowania).
W panelu otwórz „Lista zamówień” — zamówienie powinno się tam pojawić razem z kanałami wizyty.
W platformach sprawdź to samo zamówienie: w GA4 raport „Czas rzeczywisty”, w Meta Events Manager zakładka „Testuj zdarzenia”.
Równolegle sprawdzam to samo zamówienie w podglądzie GTM po stronie serwera i potwierdzam, że wysyłka do każdej platformy zwróciła poprawną odpowiedź.
Logowanie do panelu
- Adres:
panel.lukaszszczesiak.pl. Logujesz się e-mailem i hasłem z konta, które Ci założyłem. - Po 5 nieudanych próbach logowanie z danego adresu IP blokuje się na 15 minut.
- Logowanie dwuskładnikowe (2FA): menu „Hasło i 2FA” → zeskanuj kod QR aplikacją uwierzytelniającą (np. Google Authenticator, 1Password) → wpisz 6-cyfrowy kod. Od tej chwili panel pyta o kod przy każdym logowaniu.
- Widzisz wyłącznie swoje domeny i serwery.
Panel: co gdzie sprawdzisz
| Pozycja w menu | Po co tam zaglądać |
|---|---|
| Moje kontenery | Czy serwer działa, dostępność z 24 godzin i 30 dni. |
| Monitoring i alerty | Ile zdarzeń przyjęto i ile zakończyło się błędem, osobno dla GA4, Meta, Google Ads i pozostałych; tabela dostaw do platform ze wskaźnikiem powodzenia. |
| Requesty i zgody | Ruch dzień po dniu oraz jaka część przyszła ze zgodą na cookies, a jaka bez. |
| Boty, AI i ITP | Udział botów i asystentów AI w ruchu oraz ruch z przeglądarek ograniczających cookies. |
| Źródła i sprzedaż · Urządzenia i aplikacje | Skąd przychodzi ruch i z jakich urządzeń. |
| Sprzedaż → Lista zamówień | Rejestr zamówień ze sklepu z kanałami przed zakupem. |
| Sprzedaż → Atrybucja kanałów · Lejek i droga do zakupu | Które kanały uczestniczyły w zakupach i gdzie klienci odpadają. |
| Sprzedaż → Jakość danych | Ile zamówień ma komplet identyfikatorów, a ile przyszło bez nich. |
| Leady | To samo dla formularzy kontaktowych — pojawia się, gdy strona zbiera leady. |
| Debug sGTM — wejścia | Żądania odrzucone przez serwer, z przyczyną i sposobem naprawy. |
| Logi | Pojedyncze żądania z filtrami; eksport do CSV. |
| Tester | Wysłanie testowego żądania do własnego serwera. |
| Nowości | Zmiany w panelu, opisane po ludzku. |
| Hasło i 2FA | Zmiana hasła, włączenie i wyłączenie 2FA. |
Grupy „Sprzedaż” i „Leady” pokazują się zależnie od tego, co Twoje domeny faktycznie zbierają.
Stan całej infrastruktury jest dostępny bez logowania: panel.lukaszszczesiak.pl/status.
Cotygodniowa kontrola w 2 minuty
„Moje kontenery” — serwer ma status działający.
„Monitoring i alerty” — wskaźnik powodzenia dostaw do platform jest wysoki i nie spada z dnia na dzień.
„Lista zamówień” — liczba zamówień z ostatnich dni zgadza się z panelem sklepu.
Jeśli u góry panelu widzisz ostrzeżenie, że domena odrzuca ponad połowę wejść — otwórz „Debug sGTM — wejścia” i prześlij mi zrzut.
Stan serwera jest sprawdzany co minutę. Powiadomienia poza panel (np. e-mail albo Slack) działają po skonfigurowaniu webhooka po mojej stronie — napisz, jeśli chcesz je dostawać.
Zgody na cookies
Baner zgód działa w Twoim sklepie — panel i serwer go nie zastępują. Serwer przekazuje platformom decyzję klienta w czterech kategoriach Consent Mode: ad_storage, analytics_storage, ad_user_data, ad_personalization.
- W „Requesty i zgody” widzisz trzy stany: zgoda, odmowa i brak decyzji.
- Zamówienie klienta, który odmówił cookies analitycznych, pojawi się w GA4 bez źródła — jako „(not set)”. To oczekiwany skutek odmowy, nie błąd pomiaru.
- Dla takich zamówień panel może pokazać źródło prognozowane — na szaro, z etykietą „prognozowane”. Nie wchodzi ono do głównych wskaźników i nie jest wysyłane do Google ani Meta.
Typowe problemy
| Objaw | Przyczyna | Co zrobić |
|---|---|---|
| Subdomena nie działa mimo dodanego rekordu | Włączone proxy Cloudflare albo rekord typu A zamiast CNAME. | Ustaw CNAME z trybem „DNS only” i daj mi znać. |
| W „Debug sGTM” pojawiają się odpowiedzi 400 | Serwer nie rozpoznał żądania — zwykle zmienił się adres webhooka albo konfiguracja po stronie serwera. | Prześlij mi zrzut; to naprawiam po stronie serwera. |
| Zamówienie w GA4 ma źródło „(not set)” | Klient nie zgodził się na cookies analityczne. | Nic — to poprawne zachowanie. Udział takich zamówień widać w „Jakość danych”. |
| Zamówień z reklam Google nie widać w Google Ads | Klient odmówił zgody reklamowej albo wizyta nie niosła identyfikatora kliknięcia. | Sprawdź udział odmów w „Requesty i zgody”; zakres zgód to decyzja właściciela sklepu. |
| Shoper: zamówienia bez identyfikatorów u zalogowanych klientów | Użyto pola „do klienta” zamiast „do zamówienia”. | Utwórz pole w sekcji „Dodatkowe pole do zamówienia” i podaj mi jego numer. |
| Po zmianie szablonu sklepu spadła jakość danych | Skrypt zapisujący identyfikatory zniknął razem ze starym szablonem. | Wklej skrypt ponownie albo daj mi znać przed zmianą szablonu. |
Czego nie zrobisz sam w panelu
- Założenie konta dla kolejnej osoby z zespołu.
- Dodanie nowej domeny lub kolejnego sklepu.
- Zmiana identyfikatorów i tokenów platform reklamowych.
- Zmiana tagów na serwerze.
Każdą z tych rzeczy załatwiasz jedną wiadomością do mnie.