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.
Kampanie produktowe mają opinię łatwych w prowadzeniu, bo nie wymagają wymyślania słów kluczowych ani pisania tekstów reklam. Po części to prawda — i właśnie dlatego są tak często zostawiane same sobie. Podłączony feed, jedna grupa produktów obejmująca wszystko, jedna stawka na cały asortyment i przekonanie, że kampania „działa”.
Działa w takim sensie, że wydaje pieniądze. Problem polega na tym, że w takiej konfiguracji nie masz żadnego wpływu na to, czy budżet idzie na produkty z marżą, czy na te, które przyciągają kliknięcia i nic nie zostawiają.
Optymalizacja stawek w PLA to w praktyce dwa zadania, które trzeba wykonać w tej kolejności: najpierw podzielić asortyment tak, żeby dało się nim sterować, a potem ustawić stawki dla powstałych grup. Pominięcie pierwszego kroku sprawia, że drugi jest bezcelowy.
W kampanii w sieci wyszukiwania licytuję słowa kluczowe. W kampanii produktowej licytuję produkty — a to zmienia niemal wszystko.
Nie decyduję, na jakie zapytania pokaże się dana oferta. To Google dopasowuje zapytanie do produktu na podstawie danych z pliku produktowego: tytułu, opisu, kategorii, atrybutów. Moim narzędziem wpływu jest więc jakość feedu oraz stawka przypisana do produktu lub grupy produktów.
Wynika z tego bardzo praktyczna konsekwencja. Jeśli produkt ma zły tytuł i ubogie atrybuty, żadna stawka tego nie naprawi — będzie się pokazywał na zapytania, które do niego nie pasują, i konwertował słabo. Dlatego zawsze zaczynam od przeglądu feedu, a nie od stawek. Kilka godzin poświęconych na uporządkowanie tytułów i kategorii daje zwykle więcej niż tydzień grzebania w stawkach.
Druga konsekwencja: stawka jest jedynym prawdziwym pokrętłem, jakie mam na poziomie kampanii. Tym bardziej warto go używać świadomie.
Domyślnie kampania produktowa ma jedną grupę „Wszystkie produkty”. To punkt startu, nie stan docelowy.
Podział robię na podstawie tego, czym produkty faktycznie różnią się biznesowo, a nie tego, jak wygląda struktura sklepu. Najczęściej używam kombinacji kilku wymiarów:
Zasada, którą się trzymam: dziel tak długo, jak długo każda powstała grupa zbiera dość danych, żeby dało się o niej cokolwiek powiedzieć. Podział na sto grup, z których każda ma dwa kliknięcia miesięcznie, nie jest optymalizacją, tylko utrudnianiem sobie życia.
Na starcie nie mam danych, więc nie próbuję zgadywać idealnej stawki. Ustalam ją tak, żeby zebrać informacje bez utraty kontroli nad wydatkiem.
Punktem odniesienia jest dla mnie prosty rachunek: przy jakim koszcie kliknięcia i realistycznym współczynniku konwersji produkt jeszcze zarabia. Jeśli produkt kosztuje sto złotych, marża wynosi dwadzieścia, a co pięćdziesiąte kliknięcie kończy się zakupem, to na kliknięcie mogę wydać najwyżej kilkadziesiąt groszy, żeby wyjść na zero. Taki rachunek robi się w kilka minut i natychmiast pokazuje, które kategorie w ogóle nie mają szans przy obecnych cenach kliknięć.
Produktom tanim i niskomarżowym daję niskie stawki, drogim i wysokomarżowym wyższe. To brzmi banalnie, ale w kontach z jedną stawką na wszystko właśnie tej podstawowej różnicy brakuje.
Po ustawieniu stawek czekam. Nie tydzień z przymusu, ale tyle, ile potrzeba, żeby w grupach pojawiły się dane, na których da się oprzeć decyzję.
Po zebraniu danych przeglądam grupy produktów w kolejności udziału w wydatkach — od największych. Interesują mnie trzy sytuacje.
Grupy, które konwertują powyżej celu: podnoszę stawkę, żeby zdobyć więcej ruchu. Zwykle o dziesięć do dwudziestu procent na raz, potem obserwacja. Sprawdzam przy tym udział w wyświetleniach — jeśli jest już bardzo wysoki, podnoszenie stawki niewiele zmieni i lepiej poszukać wzrostu gdzie indziej.
Grupy, które generują koszt bez konwersji: zanim obniżę stawkę, sprawdzam, czy problem jest w stawce. Bywa, że produkt ma zły tytuł, brak zdjęcia dobrej jakości albo jest niedostępny na stronie. Obniżenie stawki wyciszy objaw, ale nie naprawi przyczyny.
Grupy z dużą liczbą kliknięć i wysokim kosztem konwersji: to najczęściej efekt dopasowania do zapytań ogólnych. Tu pomaga nie stawka, a wykluczenia — bo tak, w kampaniach produktowych też można i trzeba wykluczać zapytania.
Zmiany wprowadzam pojedynczo i notuję datę. Bez tego po miesiącu nie odtworzysz, co spowodowało zmianę wyniku.
W kampaniach produktowych automatyzacja stawek daje zwykle więcej niż w sieci wyszukiwania, bo liczba kombinacji produkt–zapytanie jest tak duża, że ręczne zarządzanie i tak jest przybliżeniem.
Warunek jest jednak twardy: do Google Ads muszą trafiać wartości transakcji, nie same zdarzenia zakupu. Bez wartości docelowy ROAS nie ma czego optymalizować, a przy asortymencie o zróżnicowanych cenach optymalizacja pod liczbę konwersji potrafi zaprowadzić kampanię prosto w tanie produkty o zerowej marży.
Cel ROAS ustawiam na poziomie, który kampania faktycznie osiągała, nie na poziomie, który chciałbym osiągnąć. Ambitna wartość od pierwszego dnia zwykle kończy się tym, że system prawie przestaje licytować.
Zostawiam też sobie kontrolę tam, gdzie ma znaczenie: osobne kampanie dla grup produktów o wyraźnie innej ekonomice, żeby jedna strategia nie musiała pogodzić sprzecznych celów.
Kampania produktowa psuje się cicho i najczęściej nie z powodu stawek.
Regularnie sprawdzam status produktów w Merchant Center — odrzucone oferty to najczęstsza przyczyna nagłego spadku ruchu i najłatwiejsza do przeoczenia, bo w Google Ads kampania wygląda normalnie. Pilnuję też zgodności cen i dostępności między feedem a sklepem, bo rozbieżność potrafi wyłączyć ofertę bez ostrzeżenia.
Raz w miesiącu wracam do podziału grup. Asortyment się zmienia, sezonowość przesuwa akcenty, a etykiety własne sprzed pół roku mogą już nie opisywać rzeczywistości.
I rzecz, o której łatwo zapomnieć przy skupieniu na stawkach: zdjęcia i ceny są w tej kampanii Twoją reklamą. Jeśli w porównaniu ofert wypadasz najdrożej i masz najsłabsze zdjęcie, żadna stawka tego nie odwróci.
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 |