Marketing i reklama

UTM zniknął po przekierowaniu: jak przetestować link przed publikacją?

Link do kampanii działa, strona otwiera się prawidłowo, ale w Google Analytics 4 ruch nie pojawia się pod oczekiwanym źródłem. Winne bywa przekierowanie, które po drodze usuwa parametry UTM. Problem jest szczególnie kosztowny przy płatnych kampaniach, newsletterach i publikacjach sponsorowanych: kliknięcia są, użytkownicy trafiają na stronę, lecz dane o pochodzeniu wizyt stają się niepełne.

Samo otwarcie strony docelowej nie oznacza, że link został poprawnie przygotowany. Przed publikacją trzeba sprawdzić całą ścieżkę przekierowań, adres przekazany do narzędzia analitycznego oraz zachowanie linku w rzeczywistej przeglądarce. Taki test pozwala wychwycić błędy, których nie widać podczas zwykłego kliknięcia.

Dlaczego parametry UTM znikają podczas przekierowania?

Parametry utm_source, utm_medium i utm_campaign informują system analityczny odpowiednio o źródle ruchu, medium oraz nazwie kampanii. Dodatkowe oznaczenia, takie jak utm_content czy utm_term, pozwalają rozróżniać kreacje reklamowe i słowa kluczowe. Google Analytics 4 wykorzystuje je do identyfikacji kampanii, ale musi otrzymać odpowiednie informacje podczas zbierania danych.

Załóżmy, że sklep internetowy przygotował newsletter z linkiem:

https://go.sklep.example/jesien?utm_source=newsletter&utm_medium=email&utm_campaign=jesien_2026

Adres prowadzi najpierw przez domenę obsługującą kampanię, a następnie przekierowuje użytkownika na właściwą stronę sklepu. Serwer zwraca odpowiedź HTTP 302 z nagłówkiem:

Location: https://www.sklep.example/promocje

W nowym adresie nie ma już parametrów UTM. Przeglądarka wykonuje kolejne żądanie do wskazanego adresu, nie dopisując automatycznie parametrów z poprzedniego URL. Jeśli dopiero na stronie docelowej uruchamia się GA4 i nie otrzymuje danych kampanii z innego mechanizmu, prawidłowa identyfikacja źródła ruchu zostaje utrudniona.

To częsty błąd w konfiguracji skracaczy linków, przekierowań domenowych, migracji serwisów oraz reguł ustawianych w CMS-ie. Szczególnie podstępna jest sytuacja, w której pierwszy adres zachowuje UTM, ale drugi przekierowuje użytkownika na wersję z www, HTTPS lub ukośnikiem na końcu ścieżki i usuwa cały ciąg zapytania.

Nie należy jednak zakładać, że każdy znikający UTM oznacza wadliwe przekierowanie. Parametry może usuwać również JavaScript już po załadowaniu strony, np. za pomocą history.replaceState(). Jeśli GA4 zarejestrował wcześniej poprawny adres, pomiar mógł się udać mimo czystego URL w pasku przeglądarki. Jeśli adres zmieniono przed wysłaniem zdarzenia, wynik będzie inny.

Decyzja zależy więc od miejsca utraty danych. Gdy parametry znikają w nagłówku Location, należy poprawić przekierowanie. Jeżeli docierają do strony, ale nie do GA4, trzeba sprawdzić kolejność uruchamiania skryptów i konfigurację tagów. Poprawianie analityki, kiedy problem leży na serwerze, zwykle oznacza pracę w niewłaściwym miejscu.

Jak sprawdzić link z UTM przed publikacją kampanii?

Najbardziej wiarygodny test łączy kontrolę odpowiedzi HTTP z analizą rzeczywistego pomiaru w przeglądarce. Pierwsza ujawnia miejsce utraty parametrów, druga pozwala ustalić, czy system analityczny rzeczywiście je otrzymuje.

Praktyczna procedura wygląda następująco:

  1. Przygotuj pełny adres testowy. Użyj parametrów utm_source=test_link, utm_medium=email i utm_campaign=kontrola_2026. Zachowaj dokładnie taki sam schemat przekierowania, jaki będzie wykorzystywany w kampanii.
  2. Otwórz narzędzia deweloperskie Google Chrome. W zakładce Network włącz Preserve log oraz Disable cache, a następnie otwórz link w tej samej karcie. Opcja Preserve log pozwoli zachować historię żądań mimo przechodzenia na kolejne adresy.
  3. Sprawdź odpowiedzi przekierowujące. Odszukaj żądania dokumentów i odpowiedzi HTTP 301, 302, 307 lub 308. Przy każdej sprawdź nagłówek Location. Zapisz pierwszy adres, przy którym zabrakło parametrów, oraz końcowy adres strony.
  4. Zweryfikuj pomiar GA4. Po udzieleniu właściwej zgody analitycznej sprawdź w Network żądania pomiarowe, np. collect, oraz parametr dl, odpowiadający adresowi strony. Upewnij się, że obejmuje prawidłowe wartości UTM. Pomocniczo użyj podglądu Google Tag Managera i raportu DebugView.

Dodatkową kontrolę można wykonać narzędziem curl. Przykładowe polecenie:

curl -sS -L -D - -o /dev/null --max-redirs 10 "https://go.sklep.example/jesien?utm_source=test_link&utm_medium=email&utm_campaign=kontrola_2026"

Parametr -L pozwala podążać za przekierowaniami, -D - wyświetla nagłówki odpowiedzi, a --max-redirs 10 ogranicza liczbę przekierowań. Dzięki temu można prześledzić poszczególne nagłówki Location i wskazać konkretną regułę wymagającą poprawy.

curl świetnie nadaje się do testowania przekierowań serwerowych, ale nie zastępuje przeglądarki. Nie wykonuje standardowo skryptów JavaScript strony, dlatego może nie wykryć przekierowań realizowanych przez aplikację. Z kolei zwykłe sprawdzenie kodu odpowiedzi poleceniem HEAD nie zawsze odwzorowuje zachowanie żądania GET wykonywanego po kliknięciu.

Przy sprawdzaniu GA4 trzeba uwzględnić jeszcze zgodę użytkownika na pomiar. W podstawowej implementacji Consent Mode tagi Analytics mogą być blokowane do czasu uzyskania zgody, natomiast w zaawansowanej konfiguracji mogą działać w ograniczonym trybie. Brak zdarzenia w DebugView nie jest wtedy dowodem na usunięcie UTM. Testy należy przeprowadzić zarówno dla poprawnej ścieżki pomiarowej po zgodzie, jak i dla zachowania serwisu przed jej udzieleniem.

Przykład z praktyki wdrożeniowej: skrócony link zachowuje wszystkie parametry aż do strony produktu, lecz GA4 rejestruje page_view dopiero po usunięciu query string przez skrypt aplikacji. W takim przypadku zmiana konfiguracji przekierowania nic nie da. Trzeba zapewnić, że poprawne informacje o kampanii zostaną przekazane do analityki przed wyczyszczeniem adresu.

Jak poprawić przekierowanie i nie stracić danych kampanii?

Najprostsza poprawka polega na przeniesieniu wymaganych parametrów zapytania do nowego adresu wskazywanego w nagłówku Location. Nie wystarczy jednak bezrefleksyjnie doklejać całego ciągu znaków do URL docelowego.

Jeśli adres docelowy zawiera już zapytanie, np. ?lang=pl, kolejne parametry trzeba dołączyć za pomocą &, a nie drugiego znaku ?. W aplikacjach JavaScript można wykorzystać obiekty URL i URLSearchParams. W konfiguracji serwera należy zastosować mechanizm właściwy dla używanego rozwiązania, np. Nginx, Apache lub warstwy CDN.

Ważna jest również decyzja, które parametry mają być przekazywane dalej. W typowej kampanii warto zachować komplet stosowanych UTM. W przypadku Google Ads należy dodatkowo zweryfikować identyfikatory kliknięć, takie jak gclid, gbraid, wbraid oraz używane parametry gad_*. Ich przypadkowe usunięcie może pogorszyć pomiar kampanii reklamowych, nawet gdy standardowe UTM pozostaną nienaruszone.

Nie należy natomiast automatycznie kopiować wszystkich parametrów na domeny zewnętrzne. Ciąg zapytania może zawierać identyfikatory użytkowników, adresy e-mail lub dane wewnętrzne. Przekazywanie takich informacji do podmiotów trzecich stwarza ryzyko naruszenia zasad ochrony danych. Bezpieczniejsza jest kontrolowana lista dopuszczonych parametrów.

Istotny jest też wybór kodu przekierowania. 301 i 308 służą do przekierowań trwałych, natomiast 302 i 307 do tymczasowych. Kody 307 i 308 gwarantują zachowanie metody żądania przy przekierowaniu, co ma znaczenie m.in. dla formularzy i żądań POST. Żaden z tych kodów sam w sobie nie gwarantuje zachowania UTM — decyduje adres wskazany przez serwer.

W przypadku czasowej akcji promocyjnej przekierowanie 302 jest zwykle rozsądniejsze niż 301. Trwałe przekierowanie może zostać zapamiętane przez przeglądarkę, co utrudni późniejsze testy i zmianę kierunku ruchu. Z kolei przy stałej migracji strony 301 lub 308 są uzasadnione, ale dopiero po sprawdzeniu docelowej struktury adresów.

Przed uruchomieniem kampanii trzeba jeszcze uwzględnić miejsce publikacji. Link działający w Chrome nie musi zachowywać się identycznie w przeglądarce wbudowanej w aplikację Instagram lub Facebook. Jeżeli kampania wykorzystuje newsletter, kody QR i media społecznościowe, należy sprawdzić osobno faktyczne ścieżki wejścia. Zwłaszcza gdy platforma dodaje własne przekierowania albo parametry.

Nie ma przy tym sensu budować rozbudowanego systemu testów dla pojedynczego, prostego linku bez przekierowań. Wystarczy wtedy kontrola adresu końcowego i poprawności zdarzenia analitycznego. Automatyzacja nabiera znaczenia przy dziesiątkach lub setkach adresów — na przykład w kampaniach afiliacyjnych i dużych wysyłkach mailingowych. Skrypt może wtedy sprawdzać każdy URL i oznaczać te, dla których końcowy adres nie zawiera wymaganych parametrów.

Warunkiem dopuszczenia linku do publikacji powinien być nie tylko poprawny adres końcowy, lecz również potwierdzenie działania pomiaru. Jeśli redirect zachowuje UTM, ale GA4 ich nie odczytuje, kampania nadal nie jest gotowa do uruchomienia.

FAQ – najczęstsze pytania o UTM i przekierowania

Czy przekierowanie 301 automatycznie usuwa parametry UTM?
Nie. Zarówno 301, jak i 302 mogą zachować parametry. Wszystko zależy od adresu zwróconego w nagłówku Location i konfiguracji reguły przekierowania.

Czy brak UTM w końcowym adresie zawsze oznacza utratę danych?
Nie. Jeżeli skrypt usunął parametry dopiero po przekazaniu danych do GA4, kampania mogła zostać poprawnie zarejestrowana. Trzeba sprawdzić wysłane zdarzenie, nie tylko pasek adresu.

Czy Google Analytics 4 sam odzyska parametry usunięte przez przekierowanie?
Nie należy na to liczyć. GA4 może korzystać również z innych informacji o ruchu, ale nie odtworzy automatycznie pierwotnych wartości UTM, których nie otrzymał.

Czy wielkie litery w parametrach mają znaczenie?
Tak. Wartości utm_source=Newsletter i utm_source=newsletter są traktowane jako różne. Dlatego nazwy źródeł, mediów i kampanii najlepiej zapisywać konsekwentnie małymi literami.

Co sprawdzić, jeśli UTM działa w przeglądarce, ale nie pojawia się w raportach?
Najpierw sprawdź parametr page_location wysłanego zdarzenia, konfigurację tagu, zgodę analityczną i ewentualne nadpisanie ustawień kampanii. Następnie zweryfikuj dane w świeżej sesji testowej, ponieważ źródło przypisane do już trwającej sesji nie musi się zmienić po kolejnym wejściu z UTM.

Co zrobić w pierwszej kolejności przed wysłaniem newslettera lub uruchomieniem reklamy?
Otwórz gotowy link w Chrome z włączonym Preserve log i prześledź wszystkie przekierowania. Jeżeli którykolwiek nagłówek Location usuwa wymagane parametry, wstrzymaj publikację i popraw właśnie tę regułę. Dopiero po ponownym teście końcowego adresu oraz zdarzenia GA4 zatwierdź kampanię.

Więcej informacji na: https://cmpress.pl

No Comments

Leave a reply

Your email address will not be published. Required fields are marked *