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.
Jest taka sytuacja, którą widzę regularnie przy przejmowaniu kont: raport wygląda znakomicie, koszt konwersji spadł o połowę, a właściciel firmy mówi, że od dwóch miesięcy nie ma z czego płacić pensji. Zaglądam do ustawień konwersji i wszystko jest jasne — na liście jest osiem zdarzeń, wszystkie oznaczone jako główne, wszystkie bez wartości albo z tą samą.
Algorytm zachował się dokładnie poprawnie. Dostał osiem celów o identycznej wadze i wybrał ten, który jest najtańszy do zdobycia. Zwykle jest to zapis do newslettera albo kliknięcie w numer telefonu.
Nadawanie krokom ścieżki różnych wartości nie jest więc ozdobą raportowania. To jedyny sposób, żeby powiedzieć systemowi licytacji, na czym faktycznie zależy — i żeby dostać coś więcej niż tanie zdarzenia w tabeli. Poniżej pokazuję, jak te wartości wyznaczam, gdzie je wpisuję i kiedy odradzam całą operację.
Strategie oparte na uczeniu maszynowym potrzebują jednej rzeczy: jednoznacznego sygnału, co jest sukcesem. Konto z listą równorzędnych zdarzeń tego sygnału nie daje.
Konsekwencje układają się w łańcuch. System kieruje budżet w stronę ruchu, który najłatwiej zamienia się w cokolwiek policzonego jako konwersja. Ruch o wyższej intencji, ale rzadszy i droższy, przestaje być opłacalny z punktu widzenia licytacji. Po kilku tygodniach struktura kampanii wygląda inaczej niż na starcie, choć nikt jej ręcznie nie zmieniał.
Druga konsekwencja jest raportowa. Kiedy w jednej kolumnie sumują się zapisy do newslettera i podpisane umowy, kolumna przestaje cokolwiek znaczyć. Nie da się na jej podstawie ani ocenić kampanii, ani porównać kanałów.
Trzecia jest polityczna, ale realna: łatwo pokazywać wzrost liczby konwersji przy jednoczesnym spadku przychodu. Widziałem tak zbudowane raporty i nie zawsze była to zła wola — częściej brak decyzji, co w tym koncie ma być mierzone.
Najczęstszy argument przeciw wycenom brzmi: nie mamy danych. Zwykle jest nieprawdziwy — dane są, tylko nie w narzędziu reklamowym.
Pytam o cztery wielkości i prawie zawsze ktoś w firmie je zna, choćby z przybliżeniem. Ile zapytań trafia do handlowca w miesiącu. Jaka część z nich przechodzi do rozmowy. Jaka część rozmów kończy się sprzedażą. Ile firma zarabia na przeciętnym zamówieniu, licząc marżę, a nie obrót.
Jeśli tych danych nie ma nawet w przybliżeniu, to problem nie leży w Google Ads i żadne ustawienie go nie rozwiąże. Wtedy pierwszym zadaniem jest doprowadzenie do tego, żeby handlowiec zapisywał źródło i status zapytania — choćby w arkuszu.
Ważne zastrzeżenie, którego pilnuję: liczby biorę od klienta i traktuję jako założenie, nie jako prawdę. Zapisuję je z datą i osobą, która je podała. Kiedy pół roku później wynik nie zgadza się z oczekiwaniem, pierwsze pytanie brzmi „czy te założenia jeszcze obowiązują”, a nie „czy algorytm oszalał”.
Nie potrzeba do tego modelu ekonometrycznego. Wystarczy mnożenie w tył ścieżki.
Zaczynam od końca. Jeśli marża na domkniętej sprzedaży wynosi M, a z rozmów handlowych domyka się część oznaczona jako u, to wartość rozmowy handlowej wynosi u × M. Jeśli z zapytań do rozmowy przechodzi część oznaczona jako r, to wartość zapytania to r × u × M. Ten sam zabieg powtarzam dla wcześniejszego kroku, na przykład pobrania cennika — z tą różnicą, że współczynniki są tam znacznie mniejsze i mniej pewne.
Wychodzi z tego drabinka, w której każdy krok wcześniejszy jest wart wyraźnie mniej od następnego. I to jest cały sens: system ma widzieć różnicę rzędu wielkości między pobraniem materiału a umową, a nie różnicę kosmetyczną.
Dwie zasady praktyczne. Po pierwsze, zaokrąglam. Wartości udające precyzję do złotówki sugerują wiedzę, której nie mam. Po drugie, wolę zaniżyć wcześniejsze kroki, niż je zawyżyć — przy zawyżeniu wracam do punktu wyjścia, czyli licytacji goniącej tanie zdarzenia.
Nie każde zdarzenie zasługuje na wartość, bo nie każde ma związek z pieniędzmi.
Wyceniam te kroki, które spełniają trzy warunki naraz: wymagają od użytkownika wysiłku, dają się jednoznacznie policzyć i historycznie występują częściej u osób, które potem kupują. Trzeci warunek jest najważniejszy i najczęściej pomijany — bez niego wyceniamy własne przeczucia.
Nie wyceniam natomiast zdarzeń biernych. Czas na stronie, przewinięcie, obejrzenie filmu do połowy. To bywają przydatne wskaźniki jakości ruchu, ale jako cel licytacji sprowadzają się do kupowania uwagi, a nie klientów.
Osobno traktuję zdarzenia telefoniczne. Połączenie z reklamy zwykle warto wycenić, ale dopiero po ustaleniu minimalnej długości rozmowy. Bez tego progu do puli wpadają pomyłki i telefony w sprawie faktury.
Jest jeszcze przypadek, który wymaga ostrożności: ten sam użytkownik przechodzący kilka kroków. Jeżeli wyceniam i pobranie materiału, i zapytanie, ta sama osoba wniesie do rachunku obie wartości. Przy małych wolumenach to zaburza obraz i wtedy zostawiam wartość tylko na jednym, decydującym kroku.
Miejsc jest kilka i różnią się nakładem pracy.
Po ustawieniu wartości zmieniam też strategię, bo inaczej cała praca idzie w próżnię. Maksymalizacja liczby konwersji i docelowy koszt działania liczą zdarzenia, nie kwoty. Sens ma maksymalizacja wartości albo docelowy zwrot z nakładów — i to na kampaniach, które mają dość danych, żeby taką strategię unieść.
Odradzam w trzech sytuacjach. Gdy konto ma pojedyncze konwersje miesięcznie — wtedy różnicowanie wartości dodaje szumu do danych, które i tak są na granicy interpretowalności. Gdy nikt w firmie nie potrafi podać choćby przybliżonej marży, bo wtedy wyceniam fikcję i będę ją potem obronić musiał. I gdy pomiar konwersji jest niepoprawny — dublujący się, łapiący złe zdarzenia. Wartości nałożone na zły pomiar tylko wzmacniają błąd.
Jeśli wchodzę w to na koncie, które działało wcześniej na liczbie konwersji, uprzedzam klienta o dwóch rzeczach. Liczba konwersji w raporcie prawdopodobnie spadnie, bo system przestanie gonić najtańsze zdarzenia. I przez pierwsze dwa–trzy tygodnie wyniki będą rozchwiane, bo strategia liczy od nowa.
Wyceny przeglądam co kwartał i zawsze po zmianie cennika, oferty albo modelu prowizji. Wartość leada wyliczona przy poprzednim koszyku produktów po roku jest liczbą historyczną — a to gorzej niż brak liczby, bo wygląda na aktualną i nikt jej nie kwestionuje.
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 |