Modelowane listy odbiorców nie zawierają konkretnych osób, tylko prawdopodobieństwa. Wyjaśniam, jak powstają, gdzie ich szukać w panelu i jak czytać ich raporty.
Rozmowa, którą prowadzę kilka razy w roku i zawsze w podobnym tonie: „w Google Ads jest sto czterdzieści konwersji, w Analytics sto dwanaście, w sklepie sto dwadzieścia jeden zamówień — który system kłamie”.
Żaden nie kłamie. Każdy liczy coś innego, według innych zasad, w innym momencie i przypisując to do innego okresu. Różnica jest nie tylko normalna — jej brak byłby podejrzany.
Jest natomiast granica, za którą różnica przestaje być metodologiczna i staje się błędem wdrożenia. Poniżej opisuję, skąd wynikają rozbieżności, jak je rozłożyć na czynniki i jak wygląda porządek, który pozwala podejmować decyzje bez ciągłego uzgadniania liczb.
To najważniejsza różnica i wystarcza, żeby wyjaśnić większość rozbieżności.
Google Ads przypisuje konwersję do dnia kliknięcia, nie do dnia zakupu. Jeśli ktoś kliknął reklamę pierwszego dnia miesiąca i kupił dziesiątego, konwersja pojawi się w raporcie przy pierwszym dniu.
Analytics przypisuje transakcję do dnia, w którym nastąpiła. Ta sama sprzedaż wyląduje więc pod dziesiątym.
Konsekwencje są dwie. Zestawienia dzień do dnia i tydzień do tygodnia nie mogą się zgadzać w branżach o dłuższym procesie decyzyjnym. Oraz — co bywa zaskoczeniem — dane w Google Ads za ostatnie dni jeszcze się zmienią, bo konwersje z opóźnieniem dopiszą się wstecz do już zamkniętych dni. Ocena wczorajszego wyniku jest z definicji przedwczesna.
Im dłuższa ścieżka zakupowa, tym efekt większy. W sklepie z drobnym asortymentem różnica jest mała. W usługach o wysokiej wartości potrafi wynosić kilkadziesiąt procent w skali tygodnia.
Druga warstwa różnic dotyczy tego, komu przypisać zasługę.
Google Ads liczy konwersję dla siebie, jeśli w oknie konwersji było kliknięcie w reklamę — nawet gdy potem użytkownik wrócił z wyników bezpłatnych i tam dokonał zakupu. Analytics w standardowym raportowaniu przypisuje transakcję ostatniemu źródłu niebezpośredniemu, czyli w tym przypadku wyszukiwaniu bezpłatnemu.
To nie jest błąd żadnego z narzędzi. To dwie różne pytania: „czy reklama miała w tym udział” oraz „skąd przyszła ostatnia wizyta”. Odpowiedzi muszą się różnić.
Do tego dochodzą konwersje po wyświetleniu, obecne w Google Ads przy kampaniach graficznych i wideo. Analytics ich nie zna, bo nie ma pojęcia o wyświetleniach reklamy bez kliknięcia.
Osobna kwestia to okno konwersji. W Google Ads jest konfigurowalne i domyślnie liczy się w tygodniach. Jeśli okno jest ustawione na trzydzieści dni, a klienci decydują się przez sześć tygodni, konto systematycznie zaniża wyniki — i to jest rozbieżność, którą można naprawić jedną zmianą ustawienia.
Tu dochodzimy do właściwej deduplikacji.
W Google Ads każde działanie konwersyjne ma ustawienie liczenia: wszystkie albo jedna. Pierwsze zapisuje każde wystąpienie po kliknięciu, drugie — tylko pierwsze.
Dla transakcji w sklepie właściwe jest liczenie wszystkich, bo trzy zamówienia po jednym kliknięciu to trzy realne zamówienia. Dla wysłania formularza zapytania właściwe bywa liczenie jednej, bo ta sama osoba wysyłająca formularz trzy razy nie jest trzema leadami.
Najczęstsza usterka, jaką znajduję: formularz kontaktowy ustawiony na liczenie wszystkich wystąpień, przy jednoczesnym mierzeniu odsłony strony podziękowania. Wystarczy, że ktoś odświeży tę stronę albo wróci do niej z historii przeglądarki, i konwersje puchną. Konto raportuje wtedy dwukrotność rzeczywistych zapytań, a strategie automatyczne optymalizują pod tę fikcję.
Analytics ma własną logikę: cel może być zaliczony raz na sesję, a transakcje deduplikuje po identyfikatorze zamówienia — o ile ten identyfikator jest przekazywany. Jeśli nie jest, odświeżenie strony potwierdzenia zamówienia tworzy kolejną transakcję.
Jest jeden układ, w którym różnica nie wynika z metodologii, ale z błędu, i widzę go regularnie.
Konto ma jednocześnie tag konwersji Google Ads na stronie potwierdzenia i zaimportowaną transakcję z Analytics jako osobne działanie konwersyjne. Oba są oznaczone jako konwersje główne. Ta sama sprzedaż liczy się dwa razy.
Skutki wykraczają poza raportowanie. Strategie automatyczne dostają dwukrotnie zawyżony sygnał, więc licytują wyżej, niż powinny, a docelowy koszt konwersji jest w rzeczywistości dwa razy wyższy niż w panelu.
Naprawa jest prosta: wybieram jedno źródło prawdy. Zwykle zostawiam tag na stronie i import z Analytics wyłączam z konwersji głównych albo usuwam. Zostawienie importu jako konwersji pomocniczej, tylko do wglądu, jest dopuszczalne — pod warunkiem że nikt nie oznaczy go potem przez pomyłkę jako głównego.
Drugi wariant tego samego problemu: dwa różne tagi konwersji wdrożone na tej samej stronie, jeden ręcznie, drugi przez menedżera tagów, z czasów dwóch różnych wdrożeń. Warto sprawdzić kod strony potwierdzenia, a nie tylko listę działań w panelu.
Nawet po uporządkowaniu obu narzędzi zostaje różnica względem danych z systemu sklepowego i to też ma wyjaśnienie.
Zamówienia telefoniczne i e-mailowe nie przechodzą przez koszyk. Zwroty i anulowania są korygowane w sklepie, a w narzędziach reklamowych zwykle nie. Zamówienia opłacone później, przy płatności przelewem, mogą trafiać do systemu z innym statusem i inną datą.
Do tego dochodzą ograniczenia techniczne pomiaru. Blokady skryptów, odrzucenie zgody na pliki cookie, przeglądarki ograniczające ich trwałość, zmiana urządzenia między pierwszym kontaktem a zakupem. Każdy z tych przypadków oznacza wizytę, której nie da się powiązać ze źródłem.
Kierunek zmian jest tu jednoznaczny i warto go mieć z tyłu głowy przy planowaniu: pomiar oparty na plikach cookie stron trzecich będzie coraz mniej dokładny. Zapowiedziane ograniczenia w przeglądarkach i rosnące wymogi dotyczące zgód sprawiają, że różnice między systemami będą raczej rosnąć, niż maleć.
Nie próbuję doprowadzić liczb do zgodności, bo to niewykonalne. Zamiast tego ustalam zasady.
Wybieram jedno źródło do decyzji o wydatkach — dane w Google Ads, bo to one napędzają strategie stawek i to w nich widać zależność między kliknięciem a wynikiem. Wybieram inne źródło do oceny biznesowej — dane sklepu, bo tylko one uwzględniają zwroty i sprzedaż spoza internetu.
Przy porównaniach pilnuję zgodności okresów i świadomości opóźnienia. Zestawiam pełne miesiące, nie ostatnie siedem dni, i nie wyciągam wniosków z ostatnich kilku dni w Google Ads.
Raz na kwartał robię uzgodnienie: liczba zamówień w sklepie, liczba transakcji w Analytics, liczba konwersji w Google Ads, wraz z wyjaśnieniem różnic. Nie po to, żeby je zlikwidować, ale żeby wiedzieć, ile wynoszą i czy nie zmieniły się skokowo. Skokowa zmiana relacji między systemami jest najlepszym wykrywaczem zepsutego wdrożenia — znacznie lepszym niż obserwowanie samej liczby konwersji, która może spadać z całkiem zwyczajnych powodów.
Używamy plików cookies, aby ułatwić Ci nawigację oraz wykonywanie określonych funkcji. Szczegółowe informacje o wszystkich plikach cookies znajdziesz w każdej kategorii zgody poniżej.
Pliki cookies oznaczone jako "Niezbędne" są przechowywane w Twojej przeglądarce, ponieważ są one kluczowe dla zapewnienia podstawowych funkcji strony.
Używamy również plików cookies firm trzecich, które pomagają nam analizować, w jaki sposób korzystasz z tej strony, zapamiętują Twoje preferencje oraz dostarczają treści i reklamy odpowiednie dla Ciebie. Te pliki cookies będą przechowywane w Twojej przeglądarce tylko za Twoją uprzednią zgodą.
Możesz zdecydować, czy chcesz włączyć lub wyłączyć niektóre bądź wszystkie te pliki cookies, jednak wyłączenie niektórych z nich może wpłynąć na Twoje doświadczenia podczas przeglądania strony.
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __cf_bm | 13 minutes | Cloudflare bot management — distinguishes humans from bots. |
| rc::* | Persistent | Google reCAPTCHA — localStorage holding anti-bot challenge state. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| wpEmojiSettingsSupports | Session | WordPress — sessionStorage flag caching whether the browser can render emoji (feature detection). |
| ytidb* | Persistent | YouTube — IndexedDB storing playback/search state for embedded videos. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| _ga_* | 400 days | Google Analytics 4 — persists session state per property. |
| _ga | 400 days | Google Analytics — distinguishes unique users via a client id. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| NID | 183 days | Google — stores preferences for personalized ads. |
| fr | 90 days | Meta — encrypted Facebook id and browser id for ads. |
| _gcl_au | 90 days | Google AdSense/Ads — experiments with advertising efficiency (conversion linker). |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __Secure-YNID | 180 days | |
| YSC | Session | |
| __Secure-ROLLOUT_TOKEN | 180 days | |
| VISITOR_INFO1_LIVE | 180 days | |
| VISITOR_PRIVACY_METADATA | 180 days | |
| datr | 400 days | |
| sb | 400 days | |
| wd | 7 days |