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.
Rozmowy, które prowadzę tej jesieni, wyglądają inaczej niż rok temu. Zamiast pytania „ile jeszcze możemy dołożyć, żeby urosnąć”, słyszę „ile możemy zabrać, żeby nie stracić sprzedaży”. Koszty rosną po stronie klienta, rosną też w aukcji, a kupujący dłużej się waha.
Problem w tym, że większość kont, które audytuję, wciąż pracuje na celach ustawionych w spokojniejszych czasach. Docelowy CPA sprzed roku, docelowy ROAS wyliczony przy innych cenach zakupu towaru, budżety rozdzielone według udziałów, których nikt nie weryfikował od miesięcy.
Poniżej opisuję, co robię na koncie, kiedy klient mówi o cięciach — i w jakiej kolejności. Zaczynam od arkusza, nie od panelu, bo to najczęstszy błąd: najpierw ludzie coś wyłączają, a dopiero potem liczą, czy to miało sens.
Inflacja uderza w konto reklamowe kilkoma kanałami naraz i warto je rozdzielić, bo każdy wymaga innej reakcji.
Pierwszy: rośnie koszt tego, co sprzedajesz. Ta sama transakcja o tej samej wartości zostawia dziś mniejszą marżę niż rok temu. Jeśli ROAS w panelu wygląda jak w zeszłym sezonie, to nie znaczy, że kampania jest równie opłacalna — znaczy tylko, że przychód nie spadł.
Drugi: rośnie cena kliknięcia, bo konkurenci też podnieśli ceny i stać ich na wyższe stawki, a przy słabszej konwersji wszyscy walczą o ten sam, mniejszy popyt zakupowy.
Trzeci, najbardziej niedoceniany: zmienia się zachowanie użytkownika. Ścieżka się wydłuża, pojawia się więcej wizyt porównawczych i zapytań o raty, promocje oraz tańsze odpowiedniki. Widać to w raporcie wyszukiwanych haseł, zanim widać w konwersjach. Rośnie też opóźnienie konwersji, co trzeba uwzględnić przy ocenie każdej zmiany.
Zanim ruszę cokolwiek w panelu, proszę klienta o dwie liczby: aktualną marżę i koszt obsługi zamówienia. Nie średnią z zeszłego roku, tylko dzisiejszą. Zaskakująco często nikt tego nie przeliczał od czasu ostatniej podwyżki u dostawcy.
Z tych danych wychodzi próg opłacalności — poziom ROAS, poniżej którego kampania dokłada do interesu, mimo że w panelu pokazuje dodatni zwrot. Zmienia się razem z kosztami, więc odświeżam go co kwartał. Dopiero mając go, wracam do celów kampanii. Zwykle wychodzi jedna z trzech sytuacji:
Trzeci przypadek zdarza się częściej, niż można przypuszczać, i jest najbardziej kosztowny — bo wygląda jak oszczędność. W raportach wszystko w normie, tylko sprzedaży nie ma.
Przy zmianie celów pilnuję tempa. Docelowy CPA czy ROAS przesuwam etapami, po kilkanaście procent, i czekam, aż system się przestawi. Skokowa zmiana o połowę wywraca naukę algorytmu i pierwsze dni po niej nie mówią mi nic o wyniku.
Jeżeli konto ma dobrze przekazywaną wartość transakcji, przy cięciach wybieram docelowy ROAS zamiast docelowego CPA. W warunkach, w których część klientów kupuje taniej, liczba konwersji może wyglądać przyzwoicie, a wartość koszyka spadać — strategia oparta na wartości sama zaczyna wtedy szukać droższych zamówień.
Tam, gdzie wartości nie ma, zostaję przy docelowym CPA, ale przenoszę uwagę na jakość samego zdarzenia konwersji. Jeśli konwersją główną jest kliknięcie w numer telefonu na każdej podstronie, algorytm optymalizuje pod coś, co nie jest sprzedażą, i żaden cel tego nie naprawi.
Przypominam sobie też o narzędziach, które przy stabilnym rynku były mniej potrzebne. Korekty sezonowe zgłaszają systemowi krótkie okresy nietypowej konwersji i ustawiam je przed akcją, nie w jej trakcie. Wykluczenia danych pozwalają wyciąć z historii dni ze zepsutym pomiarem. Konwersje rozszerzone uruchamiam wszędzie, gdzie mogę, także w wersji dla leadów, dostępnej od tej wiosny.
Najgorsze, co można zrobić przy cięciu, to obniżyć wszystkie kampanie o ten sam procent. Wygląda sprawiedliwie i nie ma nic wspólnego z optymalizacją.
Kolejność, którą stosuję: najpierw wyłączam czyste eksperymenty bez wyniku — testy nowych rynków, nowych typów kampanii, wideo bez wpływu na sprzedaż. Potem ograniczam kampanie zasięgowe, ale nie do zera, bo za kilka miesięcy odbije się to na kampaniach zbierających popyt. Na końcu schodzę do fraz ogólnych i informacyjnych.
Czego nie ruszam do końca: kampanii na markę własną, produktowych na bestsellery i zestawów z udokumentowaną historią opłacalnych konwersji. Zwłaszcza marka bywa pierwszym kandydatem do cięcia, bo „ten ruch i tak przyjdzie z organiku” — a potem okazuje się, że na naszą nazwę licytuje się dwóch konkurentów i porównywarka.
Sprawdzam przy tym, czy budżet nie wycieka bokiem: dublujące się kampanie licytujące o te same zapytania, sieć partnerska włączona bez potrzeby, kierowanie geograficzne na rynki, których klient nie obsługuje.
Raport wyszukiwanych haseł jest teraz najważniejszym raportem na koncie. Odkąd dopasowanie do frazy przejęło zachowanie dawnego modyfikatora dopasowania przybliżonego, a większość kont pracuje na Smart Biddingu z dopasowaniem przybliżonym, o tym, na co realnie idą pieniądze, decyduje jakość listy wykluczeń.
Przeglądam ją co tydzień i wyrzucam trzy typy zapytań: wyraźnie niezakupowe, z intencją darmową i dotyczące produktów, których klient nie ma w ofercie. Wykluczenia trzymam w listach w bibliotece współdzielonej, żeby podpiąć je raz do wielu kampanii.
W Performance Max, których po zakończonej we wrześniu migracji kampanii produktowych jest na kontach więcej niż wcześniej, kontrola jest słabsza i trzeba to klientowi uczciwie powiedzieć. Raport miejsc docelowych pokazuje, gdzie trafiły wyświetlenia, ale zestaw wykluczeń dostępnych z panelu jest węższy niż w klasycznej kampanii w wyszukiwarce. Dlatego staranniej dobieram feed i grupy zasobów, zamiast liczyć na czyszczenie ruchu po fakcie.
Sezon promocyjny planuję inaczej niż rok temu. Zakładam, że część klientów przesunie zakupy na moment największych obniżek, więc szczyt może być krótszy i bardziej stłoczony wokół listopadowych wyprzedaży. Budżety na ten okres rezerwuję z góry, bo podnoszenie ich w środku szczytu wymusza na algorytmie ponowną naukę w najgorszym momencie. Skoro reklam tekstowych w starym formacie już nie ma, przy zmianie komunikacji przeglądam cały zestaw zasobów elastycznej reklamy i usuwam nagłówki mówiące o czymś, co przestało być prawdą — choćby o cenie z poprzedniego cennika.
Cięcie budżetu na koncie ze zepsutym pomiarem to zgadywanie, więc weryfikuję, czy konwersje liczą się raz i czy anulowane zamówienia gdzieś się odejmują. Osobny temat: Universal Analytics przestanie zbierać dane 1 lipca przyszłego roku. Termin jest znany od marca, więc na każdym koncie uruchamiam GA4 równolegle, żeby po wyłączeniu mieć historię do porównań rok do roku, a nie pustą usługę.
Zmieniam też rytm raportowania — zamiast kliknięć i CPC pokazuję koszt pozyskania w relacji do dzisiejszej marży, wartość koszyka i udział sprzedaży brandowej. I ustalam z klientem z góry, po jakim czasie oceniamy decyzję, bo przy wydłużonym opóźnieniu konwersji ocena po trzech dniach jest bezwartościowa.
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 |