Poprawa routingu URL, przekierowań i przywrócenie przesyłania parametrów (GCLID / UTM) w GA4
Kontekst problemu:
Dane o wydatkach, kliknięciach i kampaniach z Google Ads nie są przesyłane do Google Analytics 4 (w GA4 koszt reklam = 0, konwersje w Google Ads = 0).
Auto-znacznikowanie (Auto-tagging) w Google Ads jest włączone, ale wsparcie Google zarejestrowało krytyczną anomalię: z tysięcy kliknięć w reklamy do GA4 dociera tylko około 8 sesji. Roboty Google okresowo rejestrują błąd dostępu do stron docelowych („Landing page unavailable”).
W trakcie audytu ustalono, że strona łamie linki reklamowe na dwa różne sposoby na poziomie wewnętrznych przekierowań/przetwarzania URL w WordPressie.
TECHNICZNE WYMAGANIA I ZADANIA:
1. Naprawić łączenie URL i usunięcie znaku zapytania (?)
Na stronie głównej i na stronach kategorii WooCommerce przy przejściu z reklamy uruchamia się wewnętrzne przekierowanie, które całkowicie usuwa znak zapytania (?). Z tego powodu parametry GET są trwale łączone z adresem strony. Serwer próbuje znaleźć taką stronę, zgłasza błąd, a GA4 nie może rozpoznać znaczników.
Przykład uszkodzenia na kategoriach: .../product-category/truny/utm_source=google&utm_medium=cpc...
Przykład uszkodzenia na głównej: https://www.lastway.com.ua/gclid=Cj0KCQjw0JnRBhDJARIsALobnXYY...
JAK POWINNO BYĆ: Znak zapytania musi pozostać na miejscu, oddzielając URL i parametry:
https://www.lastway.com.ua/product-category/truny/?utm_source=google...
https://www.lastway.com.ua/?gclid=Cj0KCQjw0JnRBhDJARIsALobnXYY...
2. Wykluczyć parametry GET z zasady konwersji URL na małe litery (Lower Case)
Na stronach usług (/ru/service/...) znak zapytania jest zachowany, ale strona wymusza przekształcenie całego ciągu URL wraz z parametrami na małe litery.
Parametr gclid (identyfikator kliknięcia Google) jest wrażliwy na wielkość liter (case-sensitive). Gdy hash base64 jest przekształcany na małe litery, ulega nieodwracalnemu zniszczeniu, a GA4 go ignoruje.
Przykład uszkodzenia (wszystkie litery stały się małe):
.../?...&gclid=cj0kcqjw0jnrbhdjarisalobnxyy8gmug0_gfbdmrrkddfqsfqocgkpoiug6z3vvipu4vwug1knp5hqaak6healw_wcb
JAK POWINNO BYĆ (oryginalna wielkość liter Google Ads):
.../?...&gclid=Cj0KCQjw0JnRBhDJARIsALobnXYY8GMUG0_gFbDMrrKDdfQSfqoCGkpOIUG6z3VVIpU4vwUg1knP5HQaAk6hEALw_wcB
Gdzie szukać problemu (krąg podejrzanych wtyczek):
Redirection: Sprawdzić globalne zasady (ustawienia przesyłania parametrów zapytania). Powinno być aktywne „Przekaż parametry zapytania”.
Cyrillic URL Debug: Sprawdzić wyrażenia regularne przetwarzające cyrylicę (np. słowo „гробы”). Możliwe, że wtyczka nieprawidłowo dekoduje ciąg i zatyka znak ?, lub wymusza małe litery parametrów.
Polylang / Connect Polylang for Elementor: Sprawdzić logikę przekierowań przy określaniu języka użytkownika (/ru/). Parametry nie powinny być modyfikowane podczas routingu wersji językowych.
Yoast SEO: Sprawdzić, czy funkcja „Oczyść stałe linki” (Redirect ugly URLs) nie jest włączona.
Funkcje niestandardowe do konwersji linków na małe litery w functions.php.
3. Sprawdzić dostępność strony dla robotów Google (Rozwiązanie „Landing page unavailable”)
Upewnić się, że systemy zabezpieczeń hostingu (firewall, ModSecurity, Imunify360 lub ochrona przed botami) nie blokują agenta użytkownika GoogleAdsBot i robotów kontrolnych Google podczas napływu ruchu reklamowego. W razie potrzeby dodać adresy IP i boty Google do białej listy (White List) na poziomie serwera.
Projekt zostanie zamknięty tylko wtedy, gdy zobaczymy, że linki przestały się łamać, a Google Analytics pomyślnie rejestruje poprawny gclid i łączy sesje z reklamą Ads w czasie rzeczywistym. Jeśli to konieczne — poczekamy na aktualizację raportów dotyczących wydatków.
Cena do uzgodnienia