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.
Jeżeli w Merchant Center widzisz odrzucone produkty i komunikat o brakującym lub nieprawidłowym identyfikatorze, to trafiłeś na jeden z najczęstszych problemów z feedami produktowymi. Widzę go na większości sklepów, które przejmuję, i prawie zawsze w tym samym scenariuszu: sklep działa od lat, produkty się sprzedają, a nikt nie zajrzał do zakładki z diagnostyką od czasu wdrożenia.
Problem jest szczególnie nieprzyjemny, bo nie boli od razu i nie widać go w sklepie. Produkt jest na stronie, da się go kupić, tylko w reklamach i w bezpłatnych wynikach produktowych po prostu nie istnieje. Budżet przepływa na te pozycje, które przeszły weryfikację, a asortyment, który miał być najbardziej dochodowy, milczy.
W tym tekście rozkładam identyfikatory produktów na części: czym są GTIN i MPN, kiedy Google ich wymaga, kiedy wolno powiedzieć, że produkt ich nie ma, i jak uporządkować to w feedzie, żeby nie wracać do tematu co pół roku.
GTIN to Global Trade Item Number — globalny numer jednostki handlowej. To nie jest wynalazek Google, tylko standard nadawany przez organizację GS1 i używany w handlu od dziesięcioleci. Jeśli kiedykolwiek widziałeś kod kreskowy na opakowaniu, widziałeś GTIN.
Nazwa GTIN jest zbiorcza i obejmuje kilka formatów, które w praktyce spotykamy pod innymi nazwami:
Najważniejsza cecha GTIN jest taka, że identyfikuje konkretny wariant produktu, a nie model. Buty w rozmiarze czterdzieści i te same buty w rozmiarze czterdzieści dwa mają różne numery. Ten sam telefon w innym kolorze albo z inną pamięcią ma inny numer. To źródło większości pomyłek w feedach, o którym napiszę osobno.
Numer ma też sumę kontrolną — ostatnia cyfra jest wyliczana z pozostałych. Dzięki temu Google potrafi wykryć, że numer został przepisany z błędem, i odrzuci go, nawet jeśli formalnie ma poprawną długość.
MPN to Manufacturer Part Number — numer katalogowy nadany przez producenta. W przeciwieństwie do GTIN nie jest globalnie unikalny sam z siebie; jest unikalny w obrębie asortymentu jednego producenta. Dlatego nabiera sensu dopiero w połączeniu z atrybutem marki.
Logika wymagań Google jest w gruncie rzeczy prosta, choć rzadko tak wyjaśniana. System chce mieć możliwość jednoznacznego rozpoznania, o którym produkcie mówi Twój feed. Do tego wystarczy jedna z dwóch kombinacji: marka plus GTIN albo marka plus MPN. Pierwsza jest zawsze preferowana, bo pozwala rozpoznać produkt bez zgadywania.
Reguła nadrzędna brzmi: jeśli producent nadał produktowi GTIN, masz go podać. Nie ma tu miejsca na wybór wygodniejszej opcji — podanie MPN zamiast istniejącego GTIN nie jest zgodne ze specyfikacją, nawet jeśli technicznie feed przejdzie.
Wyjątki od wymogu marki są nieliczne i dotyczą kategorii, w których marka nie ma zastosowania w normalnym sensie, na przykład filmów, książek i nagrań muzycznych. W praktyce dla typowego sklepu oznacza to, że marka jest wymagana wszędzie.
To pytanie warto zadać, bo odpowiedź tłumaczy, dlaczego nie ma sensu szukać obejść.
Identyfikator pozwala połączyć Twoją ofertę z konkretnym produktem w katalogu Google. Dopiero po takim połączeniu system może zrobić to, co jest sensem wyszukiwarki produktowej: pokazać obok siebie oferty tego samego towaru od różnych sklepów, dopisać do produktu opinie i specyfikację, umieścić go w porównaniu cen i podpowiedzieć w odpowiedzi na zapytanie o model.
Bez identyfikatora Twoja oferta zostaje osobnym, anonimowym wpisem. Google musiałby zgadywać z tytułu i opisu, o co chodzi — a tytuły w feedach bywają takie, że nawet człowiek nie zgadnie.
Z punktu widzenia sklepu ma to dwie konsekwencje. Pierwsza, oczywista: bez wymaganego identyfikatora produkt bywa po prostu odrzucany. Druga, mniej widoczna: nawet gdy produkt przejdzie, brak identyfikatora obniża jego szanse w tych miejscach, w których liczy się dopasowanie do katalogu. Produkt „działa”, ale wyświetla się rzadziej i nikt nie wie dlaczego.
Warto rozumieć różnicę między błędem i ostrzeżeniem, bo reakcja powinna być inna.
Zakładka z diagnostyką pokazuje liczbę produktów w każdym stanie i przykłady dotkniętych pozycji. Zwracam uwagę na dwie rzeczy, o których łatwo zapomnieć. Po pierwsze, powiadomienia o problemach z kontem trafiają na adres e-mail przypisany do konta — jeśli to skrzynka po byłym pracowniku, nikt ich nie czyta. Po drugie, po zgłoszeniu poprawki produkt nie wraca do obiegu natychmiast; trzeba odczekać kolejne pobranie feedu i ponowną weryfikację.
Zdarza się też sytuacja odwrotna od intuicyjnej: numer jest poprawny, ale przypisany do innego produktu, niż zgłaszamy. Wtedy Google widzi konflikt z katalogiem i traktuje to poważniej niż brak numeru.
Specyfikacja przewiduje przypadek, w którym produkt naprawdę nie ma GTIN ani MPN. Służy do tego osobny atrybut, którym oświadczamy, że identyfikatorów nie istnieje.
Uzasadnione zastosowania to przede wszystkim:
Czego ten atrybut nie jest: nie jest sposobem na wyłączenie błędu. Widziałem sklepy, w których ustawiono go globalnie dla całego asortymentu, żeby odrzucenia zniknęły. Odrzucenia faktycznie zniknęły, a razem z nimi możliwość dopasowania produktów do katalogu — i skuteczność, której nikt potem nie umiał wytłumaczyć. Google zresztą weryfikuje takie deklaracje i przy markowym asortymencie potrafi je zakwestionować.
Zasada jest prosta: to oświadczenie o stanie faktycznym, a nie przełącznik konfiguracyjny.
Kolejność jest zawsze ta sama i zaczyna się poza działem marketingu.
Pierwsze źródło to producent lub dystrybutor — najczęściej ma numery w swoim cenniku albo pliku z asortymentem, tylko nikt ich nie zaimportował do sklepu, bo nie były potrzebne. Drugie to opakowanie produktu; kod kreskowy z magazynu to dokładnie ta informacja, której szukamy. Trzecie to własna rejestracja w GS1, jeśli produkujemy pod własną marką i chcemy funkcjonować w handlu poza własnym sklepem.
Czego nie robić, w kolejności od najgorszego. Nie wymyślać numerów ani nie generować ich losowo — suma kontrolna i tak to wychwyci, a jeśli przypadkiem trafimy w istniejący numer, zgłosimy cudzy produkt jako swój. Nie kopiować numeru z podobnego wariantu; to najczęstszy realny błąd, bo wygląda niewinnie i psuje dopasowanie w całej kategorii. Nie kupować numerów od pośredników odsprzedających pule z jednego rejestru firmy.
I rzecz najważniejsza organizacyjnie: numery powinny mieszkać w systemie magazynowym albo w bazie sklepu, a nie w pliku, który ktoś ręcznie podkleja do feedu. Feed ma je tylko przepisywać.
Zaczynam od zestawienia, ile produktów ma numer, ile ma sam MPN, a ile nie ma nic — i nakładam na to udział w przychodzie. To zmienia priorytety, bo zwykle okazuje się, że braki koncentrują się w jednej kategorii albo u jednego dostawcy, i naprawa dziesięciu procent asortymentu odblokowuje większość pieniędzy.
Potem sprawdzam mapowanie w samym feedzie. Bardzo częsty przypadek: numery są w bazie sklepu, ale wtyczka eksportująca feed wysyła je w niewłaściwym polu albo w ogóle nie ma ich w konfiguracji. To najtańsza możliwa naprawa i warto ją wykluczyć, zanim zaczniemy zbierać dane od dostawców.
Następnie pilnuję formatu. Numery muszą jechać do Google jako ciąg cyfr, bez spacji, myślników i bez interwencji arkusza kalkulacyjnego, który potrafi obciąć wiodące zero albo zamienić długi numer na zapis wykładniczy. Ten jeden mechanizm psuje więcej feedów niż wszystkie pozostałe przyczyny razem.
Na koniec ustawiam prosty nawyk: raz w tygodniu ktoś zagląda w diagnostykę, a nowy produkt nie trafia do sklepu bez wypełnionych identyfikatorów. To wystarcza, żeby temat nie wrócił — a w czwartym kwartale, gdy każdy dzień z odrzuconym asortymentem kosztuje najwięcej, kontrolę robię codziennie.
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 |