Jak używać skryptów śledzących zmiany cen u konkurencji do wstrzymywania i uruchamiania reklam?

Automat reagujący na cudzy cennik

Baner wejsciowyParallax

Jak używać skryptów śledzących zmiany cen u konkurencji do wstrzymywania i uruchamiania reklam?

Automat reagujący na cudzy cennik

Autor nie posiada zdjęcia
Tomasz Piasecki
30 kwietnia 2025

Pomysł jest prosty i dlatego kuszący: jeśli nasza cena przestaje być konkurencyjna, przestańmy płacić za kliknięcia, a gdy znów wychodzimy na plus względem rynku — wróćmy do gry. Wszystko, czego do tego potrzeba, to dane o cenach i skrypt w Google Ads uruchamiany co godzinę.

W praktyce takich wdrożeń widziałem kilka i tylko część działała dłużej niż kwartał. Reszta albo rozsypała się na jakości danych, albo tak często przełączała stan kampanii, że system nie miał kiedy nauczyć się czegokolwiek, albo po cichu przestała działać i nikt nie zauważył, bo nikt nie ustawił alertu o błędzie.

Zbieram tu zasady, których się trzymam, kolejność wdrażania i miejsca, w których taki mechanizm potrafi zaszkodzić.

Kiedy ma to sens, a kiedy jest przekombinowane

Zanim usiądę do kodu, sprawdzam trzy warunki. Muszą być spełnione wszystkie.

Po pierwsze, produkt musi być identyfikowalny — kod producenta, EAN, jednoznaczny model. Jeśli sprzedajemy rzeczy nieporównywalne, meble na wymiar czy usługi, nie ma czego zestawiać i cała konstrukcja traci sens.

Po drugie, cena musi być realnym kryterium wyboru w tej kategorii. Tam, gdzie klient wybiera po terminie realizacji albo po zaufaniu do sprzedawcy, wyłączanie reklam z powodu kilku złotych różnicy odbiera nam sprzedaż bez powodu.

Po trzecie, zmienność musi być na tyle duża, żeby automat miał co robić. Jeśli ceny na rynku ruszają się raz w miesiącu, wystarczy comiesięczny przegląd w arkuszu i decyzja człowieka. Skrypt zaczyna się opłacać, gdy zmiany są codzienne, a asortyment liczy tysiące pozycji.

Przy asortymencie do kilkuset pozycji zwykle odradzam automat. Koszt utrzymania, ryzyko błędu i czas na diagnozę przewyższają zysk z reakcji o kilka godzin szybszej.

Skąd brać dane o cenach

To najtrudniejsza część projektu i jednocześnie ta, którą najczęściej odbębnia się najszybciej.

  • Raport konkurencyjności cen z Merchant Center — dane pochodzą z ofert innych sprzedawców i są zagregowane. Zaleta: legalne, dostępne, w miarę wiarygodne. Wada: nie są aktualizowane w rytmie godzinowym, więc nadają się do decyzji dziennych, nie do reagowania na akcję u konkurenta w środę po południu.
  • Zewnętrzny dostawca monitoringu cen — usługi, które zbierają ceny z porównywarek i sklepów i udostępniają je przez interfejs programistyczny. Płatne, ale zdejmują z nas problem utrzymania zbierania danych i odpowiedzialność za sposób ich pozyskania.
  • Własne pobieranie danych ze stron konkurencji — najtańsze na papierze, najdroższe w utrzymaniu. Każda zmiana szablonu u konkurenta psuje odczyt, a blokady po stronie serwera pojawiają się szybciej, niż większość osób się spodziewa.

Niezależnie od źródła robię jedno: zapisuję razem z ceną znacznik czasu i informację o kompletności odczytu. Dane cenowe starzeją się w godzinach, a decyzja podjęta na wczorajszym odczycie bywa gorsza niż brak decyzji.

Architektura: skrypt wykonuje, nie decyduje

Największy błąd konstrukcyjny, jaki widziałem, to jeden skrypt w Google Ads, który równocześnie pobierał dane, liczył porównania i przełączał stan kampanii.

Rozdzielam to na dwie warstwy. Pierwsza zbiera ceny, porównuje je z naszym cennikiem i zapisuje wynik w jednym miejscu — u mnie najczęściej w arkuszu albo w tabeli w hurtowni danych. Efektem jest lista identyfikatorów produktów z jedną z trzech decyzji: konkurencyjny, na granicy, niekonkurencyjny.

Druga warstwa to skrypt w Google Ads, który czyta tę listę i wykonuje na koncie dokładnie to, co w niej stoi. Nie liczy, nie interpretuje, nie zgaduje przy brakujących danych — przy braku wpisu nie robi nic.

Ten podział ma dwie zalety. Diagnoza problemu jest prosta, bo widać, czy zawiodło zbieranie danych, czy ich zastosowanie. I można w każdej chwili wejść w listę, zmienić decyzję ręcznie i mieć pewność, że kolejny przebieg ją wykona.

Reguły przełączania: bufory zamiast progu

Naiwna reguła brzmi: jeśli jesteśmy drożsi niż najniższa cena rynkowa, wyłącz reklamę. Taka reguła generuje setki przełączeń dziennie i to jest jej główny problem.

Używam zamiast tego dwóch różnych progów. Wyłączam, gdy nasza cena jest wyżej od poziomu odniesienia o więcej niż ustalony procent, ale włączam z powrotem dopiero wtedy, gdy różnica spadnie wyraźnie poniżej tego progu. Między jednym a drugim jest pas, w którym nie dzieje się nic. To znany z automatyki mechanizm i sprawdza się tu doskonale.

Do tego dokładam warunek czasowy: żaden produkt nie może zmienić stanu częściej niż raz na dobę. I warunek na poziom odniesienia — nie porównuję się z absolutnie najtańszą ofertą w rynku, bo to często sprzedawca bez dostępności albo z wysoką dostawą. Za punkt odniesienia biorę wartość typową dla kilku najlepszych ofert.

Ostatni element to okna czasowe. Nie pozwalam automatowi ruszać kampanii w godzinach największej sprzedaży ani w dniach akcji promocyjnych. Zmiany zbieram i wykonuję w oknie, w którym ryzyko jest najmniejsze.

Co dokładnie wstrzymywać

Poziom, na którym działa automat, ma większe znaczenie niż same reguły.

Najbezpieczniej jest pracować na danych produktowych, nie na strukturze kampanii. Zamiast wyłączać grupy zasobów, oznaczam produkty etykietą i wyłączam je z pliku przekazywanego do reklam albo zmieniam ich przypisanie do kampanii o wyższym progu zwrotu. Struktura konta zostaje nietknięta, a algorytm dostaje mniej powodów do zamieszania.

Wstrzymywanie całych kampanii traktuję jako opcję ostateczną. Przy strategiach optymalizowanych pod wartość konwersji każde zatrzymanie i ponowne uruchomienie oznacza przerwę w zbieraniu danych i chwilową nieprzewidywalność wyników. Robienie tego kilka razy w tygodniu jest gorsze niż reklamowanie produktu, który przez dwa dni był o kilka procent droższy.

W kampaniach w sieci wyszukiwania czasem sensowniejsze jest zejście z budżetem albo podniesienie progu zwrotu niż wyłączenie. Klient szukający konkretnego modelu i tak trafi do nas z zapytania markowego, a my nie tracimy historii.

Bezpieczniki, logi i alerty

Automat, który nie potrafi się zatrzymać, jest tylko szybszym sposobem popełniania błędów.

  • Limit zmian na przebieg — jeśli reguły chcą przełączyć więcej niż ustalony procent asortymentu, skrypt nie robi nic i wysyła powiadomienie. To pojedynczy zapis, który uchronił mnie przed skutkami pustego pliku z cenami.
  • Kontrola kompletności danych — brak odczytów dla dużej części produktów traktuję jak awarię źródła, nie jak informację, że wszyscy konkurenci zniknęli z rynku.
  • Dziennik działań — każda zmiana zapisana z datą, identyfikatorem produktu, ceną naszą i odniesienia oraz powodem. Bez tego po miesiącu nie odtworzysz, dlaczego dany produkt jest wyłączony.
  • Alert o braku przebiegu — cisza jest najgroźniejszym stanem. Wolę dostać wiadomość, że skrypt się nie uruchomił, niż odkryć to przy comiesięcznym raporcie.

Przy okazji: skrypty w Google Ads mają ograniczenia czasu wykonania i limity operacji. Przy dużym asortymencie trzeba dzielić pracę na porcje i przewidzieć, co się dzieje, gdy przebieg zostanie przerwany w połowie.

Strona prawna i regulaminowa

Ta część rozmowy zwykle się nie odbywa, a powinna, i to przed rozpoczęciem prac.

Automatyczne pobieranie treści z cudzych serwisów bywa sprzeczne z ich regulaminami, obciąża infrastrukturę i przy większej skali może zostać zablokowane albo stać się przedmiotem sporu. Jeśli klient nie chce brać tego ryzyka na siebie, wybieram dostawcę danych, który sprzedaje je jako usługę i bierze odpowiedzialność za sposób ich zbierania.

Osobna sprawa to prawo konkurencji. Reagowanie na publicznie dostępne ceny jest normalnym elementem gry rynkowej. Kończy się to natychmiast, gdy pojawia się jakakolwiek forma uzgodnień z konkurentem albo automatyczne dostosowywanie cen w ramach umowy między sprzedawcami — to już inna kategoria zagadnień i temat na rozmowę z prawnikiem, nie ze specjalistą od reklamy.

I rzecz na koniec, praktyczna: automat reagujący na ceny nie zastępuje decyzji o polityce cenowej. Potrafi tylko oszczędzić budżet tam, gdzie i tak nie mieliśmy szansy wygrać. Jeśli asortyment jest systematycznie droższy od rynku, skrypt pokaże to bardzo wyraźnie — i to bywa jego największa wartość.

Podziel się tym artykułem z innymi!

Twitter Facebook Linke.din
Autor nie posiada zdjęcia
Tomasz Piasecki
Specjalista Google Ads / SEM
Zajmuję się kampaniami Google Ads i widocznością stron w wyszukiwarce. Na blogu UDI Group piszę o tym, jak ustawienia kampanii i decyzje techniczne przekładają się na realne wyniki. Staram się tłumaczyć mechanizmy, a nie tylko podawać gotowe przepisy.