W teście na jednym sklepie przez API dało się zdjąć wykluczenia z plików kampanii, ale nie dało się ich nałożyć. Automat mógł więc tylko dokładać produkty do plików, a wykluczanie i przywracanie zostało w panelu. Trafienie produktu do pliku nie uruchamia jeszcze reklamy; o tym decyduje konfiguracja kampanii. Dobór produktów do plików warto oprzeć na regule z histerezą i zabezpieczeniach, bo zmiany, której API nie cofnie, trzeba potem poprawiać ręcznie.
| Wysłana lista wykluczeń | Odczyt po zapisie | Wniosek |
|---|---|---|
| pusta lista | wykluczenie Google nie zapisało się | |
| Meta | pusta lista | wykluczenie Meta nie zapisało się |
| Google i Meta | pusta lista | oba odrzucone |
| Google, Meta i trzeci plik katalogu | tylko trzeci plik | trzeci plik zapisuje się normalnie |
[0] | brak wykluczeń | produkt w plikach obu kampanii |
Objaw: zapis wykluczenia nie zostaje w rekordzie
Pole feeds_excludes trzyma listę plików produktów, z których produkt jest wykluczony. Dokumentacja Shoper API dla zapisu produktu pokazuje to pole w przykładzie zapisu, z identyfikatorem pliku na liście.
W teście na żywym sklepie zapisy z identyfikatorami plików kampanii Google albo Meta wracały przy odczycie jako pusta lista, a trzeci plik katalogu zapisywał się normalnie. Według naszej obserwacji wykluczeniami z plików kampanii zarządza usługa kampanii Shopera, a nie zapis produktu. Zapis listy z wartością 0 oznaczał „brak wykluczeń” i działał. W tym sklepie przez API dało się więc produkt do plików kampanii dodać, ale nie wykluczyć. Inne sklepy i przyszłe wersje platformy mogą zachowywać się inaczej, dlatego przed każdym masowym zapisem tego pola robi się jeden zapis próbny i odczyt wyniku.
Druga pułapka: Google i Meta zdejmują się razem
Dokładny przebieg: produkt był wykluczony z plików Google i Meta. Celem było zdjęcie tylko wykluczenia Google, więc wysłana lista zawierała samo wykluczenie Meta. Odczyt po zapisie pokazał pustą listę: wykluczenie Meta też zniknęło i produkt trafił do plików obu kampanii. Ponieważ samo wykluczenie Meta też nie zapisuje się przez API, nie da się przez API zdjąć jednego wykluczenia i zostawić drugiego.
To ma znaczenie, jeśli sklep prowadzi w obu kanałach inne asortymenty. Wtedy dodanie produktu przez API do pliku jednej kampanii jest zarazem decyzją o drugiej, a wykluczenie z drugiej trzeba potem zrobić ręcznie w panelu. Trafienie do pliku nie oznacza jeszcze wyświetlania reklamy: to zależy od ustawień kampanii, budżetu i reguł platformy reklamowej.
Dlaczego warto w ogóle automatyzować dobór produktów
Wykluczenia nakładane ręcznie latami rzadko są potem przeglądane. W jednym z obsługiwanych sklepów poza plikami produktów było około dwóch trzecich dostępnego asortymentu, czyli produktów na stanie, które nie mogły się pokazać w kampaniach produktowych. Z drugiej strony produkt z jednym rozmiarem i jedną sztuką nie powinien być promowany w kampanii produktowej. Potrzebna jest reguła, która co noc ocenia, co pasuje do plików kampanii.
Reguła doboru produktów do kampanii
Reguła, którą stosujemy, ma kilka elementów. Konkretne progi zależą od asortymentu sklepu, więc tu opisuję tylko ich rolę:
- wejście do kampanii przy wystarczającej liczbie sztuk i dostępnych rozmiarów albo przy produkcie w jednym rozmiarze
- wyjście przy łagodniejszym progu niż wejście, czyli histereza: produkt na granicy nie wskakuje i nie wypada co noc
- wyjątek dla produktów z dużym zapasem w części rozmiarów
- sezonowość: produkty letnie poza sezonem zostają poza kampanią, a produkty całoroczne nie podlegają tej zasadzie
- liczenie z nocnego zrzutu katalogu, bez dodatkowych zapytań do API tylko po to, żeby policzyć regułę
Produkty do dodania trafiają do plików przez API. Produkty do wykluczenia trafiają do pliku CSV, z którego ktoś wyklucza je w panelu, bo w tym sklepie API tego nie pozwalało zrobić. Nocny dobór jest więc w połowie ręczny: dodania działają same, wykluczenia czekają na człowieka.
Zabezpieczenia nocnego procesu
Dodania, których API nie cofnie, trzeba potem wykluczać ręcznie, więc proces ma kilka bezpieczników:
- bez jawnej flagi zapisu działa tylko podgląd
- w trybie nocnym odmawia zapisu, jeśli liczba dodań przekracza ustalone maksimum: nietypowa noc oznacza zwykle zmianę w danych źródłowych, a nie w regule
- przed zmianą zapisuje kopię pola
feeds_excludeskażdego zmienianego produktu - przed zapisem czyta produkt na żywo, a nie ze zrzutu, i pomija go, jeśli już jest w pliku
- pierwszy zapis jest próbny: jeśli odczyt pokazuje, że wykluczenie nie zostało zdjęte, proces przerywa całą noc
- zapisuje produkty z krótką przerwą między nimi, żeby nie zbliżać się do limitów API
W trybie nocnym proces loguje ostrzeżenie, gdy wykluczeń do zrobienia w panelu jest więcej niż kilkadziesiąt. Limit wykluczeń nie blokuje nocy, bo te i tak przechodzą przez człowieka.
Kopia pola sprzed zmiany jest dowodem, co zmieniono, ale nie daje automatycznego cofnięcia, bo nałożenie wykluczeń przez API nie działało. W opisanym sklepie zamiast cofania zrobiliśmy odbudowę plików według reguły: w panelu wykluczono z plików kampanii wszystkie produkty, a potem automat dodał z powrotem tylko te, które spełniają regułę. Kontrola pełnym odczytem katalogu potwierdziła, że w plikach są dokładnie produkty z reguły, a żaden z wcześniej wskazanych do wykluczenia nie wrócił.
Taka odbudowa odtwarza zbiór wynikający z reguły, a nie dokładny stan sprzed zmiany. Wcześniejsze ręczne wyjątki, np. produkt świadomie wykluczony mimo spełnienia reguły albo dodany mimo jej niespełnienia, trzeba odczytać z kopii pola sprzed zmiany i nanieść ponownie: wykluczenia w panelu, a dodania przez API.
Kiedy dobór do kampanii zrobisz sam, a kiedy z kimś
Jednorazowy przegląd wykluczeń w panelu, odczyt pola z API i dodanie wybranych produktów do plików z zapisem próbnym. Przy kilkudziesięciu produktach panel wystarczy.
Tysiące produktów, zmienne stany, kampanie w Google i Meta naraz i potrzeba, żeby dodania do plików działały co noc automatycznie i bez skakania produktów, a wykluczenia trafiały na gotową listę do zrobienia w panelu.
Gdy zlecasz nam dobór produktów do plików kampanii, dostajesz analizę obecnych wykluczeń, zapis próbny na Twoim sklepie, regułę dopasowaną do asortymentu, nocny proces z zabezpieczeniami z sekcji 05, listę produktów do wykluczenia w panelu i opis odbudowy plików według reguły, z listą ręcznych wyjątków do ponownego naniesienia. Więcej o automatyzacjach przez Shoper API i o pliku produktów Google z Shopera.