Większość problemów z feedem nie wygląda na problemy z feedem. Wyglądają jak odrzucenie w Google Merchant Center, którego nie da się wytłumaczyć, kampania Advantage+, która wydaje budżet na jeden czarny T-shirt, albo reklama Shopping, która wysyła klienta szukającego butów w rozmiarze 42 na stronę, gdzie został już tylko rozmiar 38.
Pod niemal wszystkimi z nich kryje się to samo: warianty.
Wariant to każda wersja produktu, która różni się w jeden widoczny sposób, możliwy do wyboru przy zakupie – rozmiarem, kolorem, materiałem, pojemnością, wykończeniem. W handlu detalicznym to codzienność, a w feedach wyjątkowo trudny temat, ponieważ każdy kanał modeluje warianty inaczej, a błędy ujawniają się po cichu. Nic się nie psuje. Twoje reklamy po prostu po cichu osiągają słabsze wyniki, a diagnoza leży cztery warstwy niżej, w pliku z danymi, którego nikt nie otwiera.
Ten przewodnik obejmuje cały temat: co naprawdę jest wariantem, jak działa item_group_id i gdzie jest błędnie używany, każdy atrybut definiujący warianty wraz z jego rzeczywistymi limitami, działające przykłady feedów w XML, CSV i JSON, to, jak Google, Meta, TikTok, Pinterest, Amazon i regionalne marketplace'y oczekują struktury wariantów, oraz tabelę diagnostyczną najczęstszych błędów.
Jest długi, bo taki jest ten temat. Skorzystaj ze spisu treści, aby przejść do wybranej części.
1. Czym naprawdę jest wariant
Wariant to możliwa do kupienia wersja produktu, która różni się od pozostałych co najmniej jednym atrybutem, między którymi klient wybiera, a jednocześnie pozostaje tym samym produktem.
To ostatnie zastrzeżenie jest kluczowe. Niebieski T-shirt w rozmiarze M i czarny T-shirt w rozmiarze L to ten sam produkt. Niebieski T-shirt i niebieska bluza z kapturem już nie, nawet jeśli są tej samej marki i z tej samej tkaniny.
Standardowy model w większości kanałów to rodzic/dziecko:
- Rodzic to produkt w ujęciu koncepcyjnym – „Merino Crew Neck Sweater”. Zwykle nie da się go kupić samodzielnie.
- Dzieci to warianty – każdy z własnym SKU, własnym stanem magazynowym, czasem własną ceną i zdjęciem.
W feedzie produktowym niemal zawsze wyraża się to płasko: każdy wariant to osobny wiersz lub <item>, a łączy je wspólny klucz grupujący. Nie ma zagnieżdżenia. Sweter w 4 kolorach i 5 rozmiarach to 20 wierszy z tym samym ID grupy.
Co nie jest wariantem
Tu feedy psują się, zanim powstanie choćby jedna linijka XML.
| To nie wariant | Dlaczego | Czego użyć zamiast tego |
|---|---|---|
| Multipaki – 6-pak vs. pojedyncza sztuka | Inna liczba tej samej jednostki, a nie wybierany atrybut | atrybut multipack (Google) |
| Zestawy – aparat + obiektyw + torba | Odrębny produkt złożony przeznaczony do sprzedaży | atrybut is_bundle; osobny produkt |
| Produkty powiązane – pasująca góra i spódnica | Różne produkty, które dobrze się łączą | Osobne pozycje; użyj rekomendacji |
| Odnowiony vs. nowy | Stan, a nie wariant | atrybut condition |
| Oferty różnych sprzedawców | Ten sam produkt, inny sprzedawca | Osobne konta/feedy |
| Personalizacja – grawerowane imię | Wykonywane na zamówienie, a nie opcja dostępna w magazynie | Zwykle jedna pozycja; informacja w opisie |
Zgrupowanie któregokolwiek z nich pod wspólnym item_group_id tworzy grupę, której elementy nie są wymienne – to dezorientuje selektor wariantów na stronie docelowej, a w niektórych kanałach powoduje odrzucenie z powodu niezgodności.
2. Decyzja, od której zależy wszystko
Zanim napiszesz jakąkolwiek logikę feedu, odpowiedz na jedno pytanie dla każdego typu sprzedawanego produktu:
Gdy klient wybiera inną opcję, czy trafia na inną stronę – czy na tę samą stronę w innym stanie?
To praktyczny test, który bezpośrednio przekłada się na to, jak powinieneś zbudować feed.
Przypadek A – osobne adresy URL dla każdego wariantu. Każdy kolor ma własną stronę produktu (/merino-sweater-navy, /merino-sweater-charcoal). Wysyłaj każdy wariant jako osobny wiersz z własnym linkiem. To najczystsza konfiguracja, zapewnia najlepszą trafność reklam i jest preferowana przez kanały.
Przypadek B – jeden URL, wariant wybierany na stronie. Wszystko znajduje się pod /merino-sweater, a klient wybiera kolor i rozmiar w selektorze. Nadal możesz wysyłać każdy wariant, ale powinieneś dodać parametr głębokiego linku, aby reklama prowadziła do właściwego, wstępnie wybranego stanu:
https://example.com/merino-sweater?colour=navy&size=mBez tego parametru kupujący, który kliknął reklamę granatowego swetra w rozmiarze M, trafia na stan domyślny pokazujący grafitowy w rozmiarze S. Ta niezgodność to jeden z największych cichych zabójców konwersji w reklamie wariantów, a w Google może też wywołać odrzucenie „Mismatched value (page crawl)”, ponieważ crawler widzi stronę, na której widoczny kolor nie zgadza się z przesłanym atrybutem color.
Przypadek C – warianty, których nie warto rozdzielać. Niektóre różnice nie wpływają na decyzję zakupową na tyle, by uzasadniać osobne reklamy – na przykład długość kabla ładowarki. W takim przypadku możesz celowo wysłać jeden reprezentatywny wariant. Sekcja 7 omawia, kiedy to właściwa decyzja.
Atrybuty definiujące warianty vs. opisowe
Każdy atrybut w twoim feedzie należy do jednej z dwóch grup, a ich mylenie to częsta przyczyna wadliwych grup.
Atrybuty definiujące warianty muszą się różnić między elementami grupy. To rzeczy, które wybiera klient: color, size, material, pattern oraz wymiary specyficzne dla produktu, takie jak pojemność czy wykończenie.
Atrybuty stałe w grupie muszą być identyczne we wszystkich elementach: brand, gender, age_group, item_group_title, google_product_category. Jeśli dwa wiersze mają wspólny item_group_id, ale różne wartości gender, to albo źle zgrupowałeś produkty, albo źle je oznaczyłeś.
Atrybuty specyficzne dla wiersza, ale niedefiniujące wariantu różnią się w poszczególnych wierszach, ale nie określają wariantu: id, price, availability, gtin, image_link, link. Dwa warianty mogą mieć różne ceny – rozmiar 3XL często kosztuje więcej – choć to nie cena je odróżnia.
3. item_group_id: fundament
item_group_id to wspólny klucz, który mówi kanałowi: „te wiersze to ten sam produkt”. Cała reszta obsługi wariantów zależy od tego, czy jest on poprawny.
Specyfikacja
| Właściwość | Meta | TikTok | |
|---|---|---|---|
| Nazwa pola | item_group_id | item_group_id | item_group_id |
| Maks. długość | 50 znaków | 100 znaków | 150 znaków |
| Dozwolone znaki | Unicode; zalecane ASCII – znaki alfanumeryczne, podkreślenia, myślniki | Ciąg znaków | Ciąg znaków |
| Wielkość liter | Bez rozróżniania wielkości liter (ABC123 = abc123) | Rozróżnia wielkość liter | Rozróżnia wielkość liter |
| Wymagane? | Wymagane dla bezpłatnych informacji o produktach oraz dla reklam Shopping w Brazylii, Francji, Niemczech, Japonii, Wielkiej Brytanii i USA – gdy przesyłane są warianty | Potrzebne do grupowania wariantów | Potrzebne do grupowania wariantów |
| Pole powtarzalne | Nie – jedna wartość na produkt | Nie | Nie |
Ponieważ Google nie rozróżnia wielkości liter w tej wartości, a Meta i TikTok tak, wszędzie stosuj jednolicie małe (lub wielkie) litery. Katalog, w którym występują zarówno SWTR-001, jak i swtr-001, zostanie poprawnie zgrupowany w Google, ale w Meta rozpadnie się na dwa produkty.
Wybór wartości
Najlepszy item_group_id to nadrzędne SKU, które już masz w swoim ERP lub PIM. Istnieje, jest stabilne i unikalne.
Dobrze:
SWTR-MERINO-CREW
12345
parent-8891Źle – i dlaczego:
| Wartość | Problem |
|---|---|
| Merino Crew Neck Sweater | Spacje i mieszana wielkość liter; przekracza limity przy długich tytułach; zmienia się, gdy marketing zmieni nazwę produktu |
| sweater | Nieunikalne – zlewa cały asortyment swetrów w jedną grupę |
| SWTR-MERINO-CREW-NAVY-M | Zawiera wymiary wariantu, więc każdy wiersz dostaje unikalną wartość i nic się nie grupuje |
| Numer wiersza lub hash generowany przy każdym eksporcie | Zmienia się między eksportami; kanały tracą ciągłość grupy i uczą się od zera |
Ostatni przypadek zasługuje na szczególne podkreślenie. item_group_id musi być stabilny w czasie. Kanały gromadzą historię wyników dla grupy. Jeśli twój eksport generuje ID na nowo, przy każdej synchronizacji kasujesz tę historię i żadna optymalizacja stawek tego nie zrekompensuje.
Trzy zasady
- Każdy element grupy ma ten sam item_group_id.
- Każdy element ma unikalne id. Zduplikowane id w dowolnym miejscu feedu powoduje, że późniejszy wiersz zostaje po cichu pominięty.
- Każdy element różni się co najmniej jednym atrybutem definiującym wariant. Dwa wiersze z tym samym ID grupy i tym samym kolorem i rozmiarem to duplikaty, a nie warianty.
Konwencja, która spełnia wszystkie trzy:
item_group_id: SWTR-MERINO-CREW
id: SWTR-MERINO-CREW-NAV-M
id: SWTR-MERINO-CREW-NAV-L
id: SWTR-MERINO-CREW-CHR-MCzytelna, łatwa do debugowania, oparta na danych, które już masz.
item_group_title
Nowszy atrybut Google, opcjonalny, ale zalecany zawsze, gdy przesyłasz item_group_id. Zawiera nazwę produktu nadrzędnego – maks. 150 znaków – i musi być identyczny we wszystkich wariantach grupy.
xml
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Navy, Medium</title>Zwróć uwagę na schemat: title jest specyficzny dla wariantu, item_group_title nie. Wysyłanie tego samego ciągu w obu polach marnuje sygnał.
variant_option
To również nowość po stronie Google: ustrukturyzowany sposób deklarowania, które właściwości definiują wariant, zamiast pozostawiać kanałowi ich odgadywanie. Przyjmuje do 30 par nazwa/wartość (każdy podatrybut do 250 znaków, łącznie 5000 znaków).
xml
<g:variant_option>
<g:name>Colour</g:name>
<g:value>Navy</g:value>
</g:variant_option>
<g:variant_option>
<g:name>Size</g:name>
<g:value>M</g:value>
</g:variant_option>Jest to szczególnie przydatne dla produktów, których osie zmienności nie są objęte standardowymi atrybutami odzieżowymi – pojemność pamięci, klasa procesora, moc, liczba miejsc. Zamiast wciskać „256GB” w size, deklarujesz to prawidłowo.
4. Atrybuty definiujące warianty – szczegółowo
color
Atrybut z największą liczbą reguł w specyfikacji i najczęściej odrzucany.
| Właściwość | Wartość |
|---|---|
| Maks. długość (Google) | Łącznie 100 znaków, 40 na pojedynczy kolor |
| Maks. długość (Meta / TikTok) | 200 znaków |
| Wiele kolorów | Rozdzielaj znakiem /, kolor główny na początku |
| Wymagane | Dla odzieży w wymienionych wyżej krajach; dla wszystkich bezpłatnych informacji o produktach z kategorii Apparel & Accessories |
Niedozwolone:
- Liczby – Colour 42, RAL 5013
- Kody hex – #001F5B
- Pojedyncze litery – N dla navy
- Odwołania do zdjęcia – see photo
- Wartości alfanumeryczne lub sklejone słowa – Navy1, NavyBlue (pisz Navy Blue)
Marketingowe nazwy kolorów. Marki modowe rzadko nazywają kolory po prostu „navy”. Nazywają je „Midnight Regatta”. Kanał potrzebuje koloru, którego szukałby kupujący; twoja marka potrzebuje własnej nazwy na stronie.
Rozsądny kompromis:
color: Navy
description: ...available in Midnight Regatta (navy)...Mapuj nazwy marketingowe na standardowe w feedzie, a nazwę marki pozostaw widoczną na stronie docelowej i w opisie. Nie wpisuj nazwy marketingowej w color w nadziei, że zadziała – osłabia to dopasowanie do zapytań zawierających kolor, które należą do wyszukiwań o najwyższej intencji zakupowej w branży odzieżowej.
Produkty wielokolorowe:
color: Navy/White/GreyKolor główny na początku. Google odczytuje pierwszą wartość jako kolor dominujący.
size
| Właściwość | Wartość |
|---|---|
| Maks. długość (Google) | 100 znaków |
| Maks. długość (Meta / TikTok) | 200 znaków |
| Wymagane | Dla odzieży i obuwia w wymienionych krajach; dla bezpłatnych informacji o produktach |
| Produkty w jednym rozmiarze | one_size, OS lub OSFA |
Zasada, która ma znaczenie: bądź na tyle konkretny, by uniknąć niejednoznaczności, i spójny w całym katalogu. M jest w porządku, jeśli każdy produkt używa M. Feed mieszający M, Medium, med i M/L dla tego samego pojęcia rozbija grupy wariantów i uniemożliwia segmentację według rozmiaru.
W przypadku produktów, dla których jeden wymiar nie wystarcza, umieść w wartości wymiary rozróżniające:
size: 32/34 (waist/inseam)
size: 15.5/34 (neck/sleeve)
size: 9.5 Wide (shoe width)
size: 200x140cm (rugs, bedding)size_type i size_system
Opcjonalne, tylko dla odzieży i rzadko wykorzystywane – a oba wyraźnie poprawiają dopasowanie dla kupujących, którzy wyszukują z tymi doprecyzowaniami.
size_type – maksymalnie 2 wartości spośród: regular, petite, maternity, big, tall, plus.
size_system – jedna z wartości: US, UK, EU, DE, FR, JP, CN, IT, BR, MEX, AU. Jeśli go pominiesz, kanał przyjmie system kraju docelowego, co jest źródłem konkretnej i kosztownej awarii: turecki sprzedawca sprzedający do Niemiec z rozmiarami EU, ale bez zadeklarowanego size_system, może mieć rozmiary interpretowane według niewłaściwej skali.
xml
<g:size>10</g:size>
<g:size_system>UK</g:size_system>
<g:size_type>regular</g:size_type>material
Maks. 200 znaków w Google. Najpierw materiał główny, potem maksymalnie dwa materiały dodatkowe oddzielone znakiem /.
material: Cotton
material: Leather/Suede
material: Merino Wool/Nylon/ElastaneWymagany tylko wtedy, gdy rozróżnia twoje warianty – np. torba sprzedawana w wersji skórzanej i płóciennej. W pozostałych przypadkach opcjonalny, ale warto go przesyłać; materiał to częste doprecyzowanie w wyszukiwaniach.
pattern
Maks. 100 znaków. Dowolny tekst opisujący nadruk lub grafikę: Striped, Polka Dot, Paisley, Floral, Herringbone. Ta sama zasada – wymagany, jeśli to on się zmienia.
age_group i gender
Oba są stałe w grupie. Każdy wariant w grupie musi mieć tę samą wartość.
age_group: newborn, infant, toddler, kids, adult – jedna wartość na produkt.
gender: male, female, unisex.
Jeśli ubranie jest rzeczywiście oferowane w krojach męskim i damskim, to są to dwie osobne grupy produktów, a nie jedna grupa z mieszaną płcią. Kroje się różnią, rozmiarówka się różni, a kupujący wybiera między produktami, a nie między opcjami.
Tabela referencyjna
| Atrybut | Limit Google | Musi się różnić | Musi być zgodny w grupie |
|---|---|---|---|
| item_group_id | 50 znaków | — | ✅ |
| item_group_title | 150 znaków | — | ✅ |
| id | 50 znaków | ✅ (zawsze unikalne) | — |
| title | 150 znaków | Zalecane | — |
| color | 100 znaków (40/kolor) | Jeśli to oś zmienności | — |
| size | 100 znaków | Jeśli to oś zmienności | — |
| size_type | 2 wartości | Opcjonalne | — |
| size_system | Enum | — | Zwykle ✅ |
| material | 200 znaków | Jeśli to oś zmienności | — |
| pattern | 100 znaków | Jeśli to oś zmienności | — |
| gender | Enum | — | ✅ |
| age_group | Enum | — | ✅ |
| brand | 70 znaków | — | ✅ |
| google_product_category | — | — | ✅ |
| price | — | Może się różnić | — |
| availability | Enum | Może się różnić | — |
5. Prawdziwe przykłady feedów
XML (Google RSS 2.0)
Dwa warianty z sześcioelementowej grupy. Zwróć uwagę, co się zmienia, a co nie.
xml
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>Example Store — Product Feed</title>
<link>https://example.com</link>
<item>
<g:id>SWTR-MERINO-CREW-NAV-M</g:id>
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Navy, Medium</title>
<description>Fine-gauge 100% merino wool crew neck. Ribbed cuffs and hem, regular fit. Machine washable on wool cycle.</description>
<link>https://example.com/merino-crew-sweater?colour=navy&size=m</link>
<g:image_link>https://cdn.example.com/swtr-merino-navy-1.jpg</g:image_link>
<g:additional_image_link>https://cdn.example.com/swtr-merino-navy-2.jpg</g:additional_image_link>
<g:availability>in_stock</g:availability>
<g:price>89.00 EUR</g:price>
<g:brand>Example</g:brand>
<g:gtin>5012345678900</g:gtin>
<g:mpn>SW-MC-NAV-M</g:mpn>
<g:condition>new</g:condition>
<g:google_product_category>1604</g:google_product_category>
<g:color>Navy</g:color>
<g:size>M</g:size>
<g:size_system>EU</g:size_system>
<g:size_type>regular</g:size_type>
<g:material>Merino Wool</g:material>
<g:gender>male</g:gender>
<g:age_group>adult</g:age_group>
<g:custom_label_0>core</g:custom_label_0>
<g:custom_label_1>full-size-run</g:custom_label_1>
</item>
<item>
<g:id>SWTR-MERINO-CREW-CHR-L</g:id>
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Charcoal, Large</title>
<description>Fine-gauge 100% merino wool crew neck. Ribbed cuffs and hem, regular fit. Machine washable on wool cycle.</description>
<link>https://example.com/merino-crew-sweater?colour=charcoal&size=l</link>
<g:image_link>https://cdn.example.com/swtr-merino-charcoal-1.jpg</g:image_link>
<g:availability>out_of_stock</g:availability>
<g:price>89.00 EUR</g:price>
<g:brand>Example</g:brand>
<g:gtin>5012345678931</g:gtin>
<g:mpn>SW-MC-CHR-L</g:mpn>
<g:condition>new</g:condition>
<g:google_product_category>1604</g:google_product_category>
<g:color>Charcoal</g:color>
<g:size>L</g:size>
<g:size_system>EU</g:size_system>
<g:size_type>regular</g:size_type>
<g:material>Merino Wool</g:material>
<g:gender>male</g:gender>
<g:age_group>adult</g:age_group>
<g:custom_label_0>core</g:custom_label_0>
<g:custom_label_1>broken-size</g:custom_label_1>
</item>
</channel>
</rss>Cztery rzeczy, na które warto zwrócić uwagę:
- item_group_id i item_group_title są identyczne; id i title nie.
- link zawiera parametry głębokiego linku, dzięki czemu reklama prowadzi do właściwego, wstępnie wybranego stanu. Znak & jest zapisany jako & – to wymóg XML i częste źródło błędów parsowania.
- image_link jest specyficzny dla wariantu. Oba granatowe wiersze wskazują na zdjęcie granatowego swetra. Wysyłanie jednego głównego zdjęcia dla wszystkich kolorów to drugi najczęstszy błąd w wariantach, zaraz po brakujących ID grup.
- Wiersz z produktem niedostępnym jest oznaczony przez custom_label_1, więc można go wykluczyć lub obniżyć dla niego stawkę bez usuwania z feedu.
CSV / TSV
Te same dane w formie spłaszczonej. Wiersz nagłówka i dwa warianty:
csv
id,item_group_id,item_group_title,title,description,link,image_link,availability,price,brand,gtin,condition,google_product_category,color,size,size_system,material,gender,age_group,custom_label_0
SWTR-MERINO-CREW-NAV-M,SWTR-MERINO-CREW,Merino Crew Neck Sweater,"Merino Crew Neck Sweater — Navy, Medium","Fine-gauge 100% merino wool crew neck.",https://example.com/merino-crew-sweater?colour=navy&size=m,https://cdn.example.com/swtr-merino-navy-1.jpg,in_stock,89.00 EUR,Example,5012345678900,new,1604,Navy,M,EU,Merino Wool,male,adult,core
SWTR-MERINO-CREW-CHR-L,SWTR-MERINO-CREW,Merino Crew Neck Sweater,"Merino Crew Neck Sweater — Charcoal, Large","Fine-gauge 100% merino wool crew neck.",https://example.com/merino-crew-sweater?colour=charcoal&size=l,https://cdn.example.com/swtr-merino-charcoal-1.jpg,out_of_stock,89.00 EUR,Example,5012345678931,new,1604,Charcoal,L,EU,Merino Wool,male,adult,coreTo w CSV dochodzi do większości rzeczywistych awarii, ponieważ przecinki w tytułach i opisach muszą być ujęte w cudzysłów, a cudzysłowy wewnątrz takich pól muszą być escapowane. Jeśli twoje tytuły zawierają przecinki – a tytuły produktów z kolorem i rozmiarem niemal zawsze je zawierają – użyj TSV. Tabulatory praktycznie nigdy nie występują w danych produktowych, więc znika cała klasa błędów parsowania.
JSON
Do importu przez API:
json
{
"products": [
{
"id": "SWTR-MERINO-CREW-NAV-M",
"item_group_id": "SWTR-MERINO-CREW",
"item_group_title": "Merino Crew Neck Sweater",
"title": "Merino Crew Neck Sweater — Navy, Medium",
"link": "https://example.com/merino-crew-sweater?colour=navy&size=m",
"image_link": "https://cdn.example.com/swtr-merino-navy-1.jpg",
"availability": "in_stock",
"price": { "value": "89.00", "currency": "EUR" },
"brand": "Example",
"gtin": "5012345678900",
"condition": "new",
"google_product_category": "1604",
"variant_attributes": {
"color": "Navy",
"size": "M",
"size_system": "EU",
"material": "Merino Wool"
},
"gender": "male",
"age_group": "adult"
}
]
}Pełna rozmiarówka
Sześć wariantów – dwa kolory × trzy rozmiary – z widocznym schematem ID:
| id | item_group_id | color | size | availability |
|---|---|---|---|---|
| SWTR-MC-NAV-S | SWTR-MERINO-CREW | Navy | S | in_stock |
| SWTR-MC-NAV-M | SWTR-MERINO-CREW | Navy | M | in_stock |
| SWTR-MC-NAV-L | SWTR-MERINO-CREW | Navy | L | in_stock |
| SWTR-MC-CHR-S | SWTR-MERINO-CREW | Charcoal | S | out_of_stock |
| SWTR-MC-CHR-M | SWTR-MERINO-CREW | Charcoal | M | in_stock |
| SWTR-MC-CHR-L | SWTR-MERINO-CREW | Charcoal | L | out_of_stock |
W kolorze charcoal został jeden rozmiar z trzech. Sekcja 9 omawia, co z tym zrobić.
6. Kanał po kanale
Koncepcja jest uniwersalna. Implementacja – nie. Oto jak każdy z głównych kanałów oczekuje wariantów i czym się od siebie różnią.
Google Shopping / Merchant Center
Najbardziej rygorystyczny kanał i wzorcowa implementacja, z której zapożycza większość pozostałych.
- item_group_id jest wymagany dla bezpłatnych informacji o produktach oraz dla reklam Shopping w Brazylii, Francji, Niemczech, Japonii, Wielkiej Brytanii i USA, zawsze gdy przesyłane są warianty.
- Atrybuty definiujące warianty muszą być wypełnione: color i size są wymagane dla odzieży na tych rynkach.
- gender i age_group są wymagane dla odzieży i muszą być spójne w całej grupie.
- Strona docelowa musi wyraźnie odpowiadać przesłanym wartościom wariantu, w przeciwnym razie ryzykujesz odrzucenie Mismatched value (page crawl).
- Każdy wariant konkuruje w aukcji niezależnie. Google wybiera, który element grupy pokazać dla danego zapytania, więc niekompletna grupa oznacza słabszą pulę kandydatów.
- image_link dla odzieży musi mieć co najmniej 500×500 pikseli – minimum egzekwowane od 31 stycznia 2027 roku, które warto sprawdzić już teraz, a nie w pośpiechu.
Uwaga praktyczna: Merchant Center raportuje na poziomie wariantu (id), a nie grupy. Aby właściwie ocenić produkt, musisz sam agregować dane według item_group_id – co jest znacznie łatwiejsze, gdy ID grupy jest czyste i stabilne.
Meta (Facebook i Instagram)
Meta używa tej samej nazwy pola, ale z innymi ograniczeniami i istotnie innym modelem wyświetlania.
- item_group_id może mieć do 100 znaków i rozróżnia wielkość liter.
- color i size mogą mieć do 200 znaków.
- Wartości dostępności używają spacji, a nie podkreśleń: in stock, a nie in_stock. Ta jedna różnica psuje więcej feedów Meta niż jakakolwiek inna, zwłaszcza gdy feed Google jest używany bez zmian.
- W Shops i na stronach szczegółów produktu prawidłowo zgrupowany zestaw wyświetla się jako jeden produkt z selektorem wariantów, a nie kilka niemal identycznych ofert.
- Reklamy katalogowe Advantage+ wykorzystują grupę, aby nie pokazywać użytkownikowi sześciu wersji tego samego swetra w jednej karuzeli – niezgrupowany katalog daje wyraźnie powtarzalne reklamy i zmarnowane wyświetlenia.
- Raportowanie na poziomie wariantów w Commerce Manager zależy od prawidłowego grupowania.
Uwaga praktyczna: Nie kieruj Meta na swój feed Google bez zmian. Co najmniej przekształć availability i sprawdź limity znaków. Większość platform feedowych – w tym Feedance – realizuje to jako przekształcenie na poziomie kanału, dzięki czemu dane źródłowe pozostają nienaruszone.
TikTok
- item_group_id może mieć do 150 znaków.
- sku_id to unikalny identyfikator wariantu – każdy wiersz wariantu potrzebuje odrębnej wartości.
- color i size mogą mieć do 200 znaków.
- title może mieć do 255 znaków, description do 10 000; oczekiwane jest google_product_category.
- TikTok jest najbardziej rygorystycznym kanałem, jeśli chodzi o zdjęcia specyficzne dla wariantów. Karty produktów wyświetlają selektor wariantów, a warianty dzielące jedno ogólne zdjęcie osiągają wymiernie gorsze wyniki. Jeśli gdzieś w procesie przygotowania zdjęć idziesz na skróty, nie rób tego tutaj.
- Ściśle wzoruje się na modelu Google; item_group_id grupuje warianty.
- Pinterest pokazuje warianty w ramach jednego Product Pina z opcjami do wyboru.
- Jakość zdjęć i pionowe proporcje mają nieproporcjonalnie duże znaczenie – Pinterest to platforma odkrywania wizualnego, a zdjęcia wariantów, które się od siebie nie różnią, po prostu nie są zapisywane.
Amazon
Amazon nie używa item_group_id, a zakładanie, że jest inaczej, powoduje mnóstwo zmarnowanej pracy.
Amazon stosuje jawny model relacji rodzic/dziecko:
- Nadrzędny ASIN tworzy się jako ofertę, której nie można kupić.
- Każdy podrzędny ASIN odwołuje się do rodzica przez pola parent_sku / parent_child.
- Trzeba zadeklarować motyw wariantów (variation theme) – SizeColor, Size, Color, SizeName-ColorName itd., w zależności od kategorii.
- Motyw musi być prawidłowy dla danej kategorii; ta sama nazwa motywu nie jest dostępna wszędzie.
Jeśli eksportujesz dane do Google i Amazon z jednego źródła, traktuj to jako faktyczne przekształcenie, a nie zmianę nazwy pola. Twoja warstwa feedu musi utworzyć ofertę nadrzędną, przypisać motyw i zmapować do niej produkty podrzędne.
Regionalne marketplace'y i porównywarki cen
Kanały tureckie i z szerszego regionu MENA mają własne konwencje i często to one decydują o tym, czy katalog na tych rynkach działa, czy nie.
- Trendyol stosuje własny model rodzic/dziecko z obowiązkowym zestawem atrybutów specyficznych dla kategorii. Kolor i rozmiar to osobne pola ustrukturyzowane, a listy wymaganych atrybutów różnią się w zależności od kategorii.
- Akakçe i Cimri to porównywarki cen. Zazwyczaj oczekują jednego wiersza na każde możliwe do kupienia SKU, a zduplikowane, niemal identyczne wiersze są zwykle odfiltrowywane – więc wysłanie pełnej rozmiarówki bez zróżnicowanych danych może zmniejszyć, a nie zwiększyć widoczność.
- Hepsiburada i N11 definiują własne klucze grupowania wariantów i wymagane atrybuty.
To obszar, w którym ogólne, globalne narzędzia feedowe najczęściej zawodzą i w którym źle zmapowany atrybut po cichu usuwa z marketplace'u całą kategorię.
Porównanie
| Meta | TikTok | Amazon | |||
|---|---|---|---|---|---|
| Klucz grupujący | item_group_id | item_group_id | item_group_id | item_group_id | Nadrzędny ASIN |
| Maks. długość | 50 | 100 | 150 | 50 | n/d |
| Rozróżnia wielkość liter | Nie | Tak | Tak | Nie | n/d |
| Składnia dostępności | in_stock | in stock | in_stock | in stock | Ilość |
| Zdjęcia wariantów | Zalecane | Zalecane | Krytyczne | Krytyczne | Wymagane |
| Wymagany jawny motyw | Nie | Nie | Nie | Nie | Tak |
| Raportowanie na poziomie wariantów | Tak | Tak | Tak | Ograniczone | Tak |
7. Rozdzielać czy zwijać?
Wysyłanie każdego wariantu to domyślna rekomendacja, ale nie zawsze słuszna. Prawdziwe pytanie brzmi: czy dana różnica zmienia to, czego chce kupujący.
Wysyłaj każdy wariant, gdy…
- Wariant jest decyzją zakupową. Odzież, obuwie, wszystko, gdzie zły rozmiar oznacza brak sprzedaży.
- Stany magazynowe istotnie różnią się między wariantami. Reklamowanie produktu, którego jedyną pozostałą opcją jest rozmiar 3XL, marnuje budżet.
- Cena różni się między wariantami. Pokazanie 89 € przy wybranej opcji kosztującej 119 € oznacza niezgodność ceny i zdenerwowanego klienta.
- Popyt w wyszukiwarce dotyczy konkretnych wariantów. Ludzie szukają „granatowy sweter merino rozmiar M”. Nie wypozycjonujesz się na to bez przesłania tego wariantu.
Zwiń do jednego reprezentatywnego wariantu, gdy…
- Katalog jest bardzo duży i w większości jednorodny. Sklep z narzędziami z 200 000 SKU, w którym 60% to drobne różnice długości, niewiele zyskuje na pełnym rozwinięciu, a płaci za to przetwarzaniem feedu i złożonością kampanii.
- Kanał karze niemal identyczne duplikaty. Kilka porównywarek cen odfiltrowuje powtarzalne wiersze; pełna rozmiarówka może zmniejszyć widoczność.
- Wariant nie wpływa na cenę, zdjęcie ani dostępność. Jeśli wszystkie dwanaście wariantów jest identycznych pod każdym istotnym handlowo względem, dwanaście wierszy tworzy szum, a nie sygnał.
Gdy zwijasz warianty, wybieraj reprezentanta świadomie: najlepiej sprzedający się dostępny wariant, a nie pierwszy wiersz w kolejności alfabetycznej. Właśnie tu dane o wynikach udowadniają swoją wartość w feedzie – dane z GA4 lub platformy mogą automatycznie wybrać reprezentanta, zamiast zdawać się na kolejność sortowania.
Rozwiązanie pośrednie
Rozdzielaj według osi, która decyduje o zakupie; zwijaj według tej, która nie decyduje.
W przypadku obuwia zwykle oznacza to jeden wiersz na kolor ze zwiniętymi rozmiarami – kolor to oś odkrywania, a rozmiar to sprawdzenie dopasowania, które odbywa się na stronie. W przypadku produktu, w którym cenę wyznacza pojemność, rozdzielaj według pojemności i zwijaj według koloru.
8. 12 najczęstszych błędów w wariantach
| # | Objaw | Przyczyna | Rozwiązanie |
|---|---|---|---|
| 1 | Warianty wyświetlają się jako osobne, niepowiązane produkty | Brak item_group_id lub unikalna wartość w każdym wierszu | Wypełnij nadrzędnym SKU; sprawdź, czy powtarza się w całej grupie |
| 2 | Niektórych wariantów w ogóle brakuje w kanale | Zduplikowane wartości id – późniejsze wiersze są po cichu pomijane | Wymuszaj unikalność przy eksporcie; dodaj kontrolę duplikatów |
| 3 | Odrzucenie „Mismatched value (page crawl)” | Strona docelowa pokazuje inny kolor/rozmiar/cenę niż przesłane | Dodaj parametry głębokiego linku; zadbaj, by strona renderowała wybrany stan po stronie serwera |
| 4 | Wszystkie warianty pokazują to samo zdjęcie | Ponownie użyty jeden główny image_link | Mapuj zdjęcia specyficzne dla wariantów; zdjęcie główne tylko wtedy, gdy nie ma zdjęcia wariantu |
| 5 | Kliknięcia w reklamy prowadzą do niedostępnych opcji | availability nie jest synchronizowane dla każdego wariantu | Zwiększ częstotliwość aktualizacji; wykluczaj out_of_stock z aktywnych kampanii |
| 6 | Odrzucony color | Kod hex, liczba, pojedyncza litera lub sklejone słowa | Mapuj na zwykłe nazwy kolorów; rozdzielaj wiele kolorów znakiem / |
| 7 | Filtry rozmiarów nie działają; zapytania z rozmiarem nie są dopasowywane | Niespójne wartości rozmiarów w katalogu (M / Medium / med) | Normalizuj za pomocą tabeli mapowania stosowanej na poziomie feedu |
| 8 | Grupa rozpada się w Meta, ale nie w Google | Niespójna wielkość liter w item_group_id | Wymuś jedną wielkość liter w całym polu |
| 9 | Meta odrzuca cały feed | in_stock użyte tam, gdzie Meta oczekuje in stock | Przekształcaj availability dla każdego kanału |
| 10 | Grupa odrzucona z powodu niespójnych atrybutów | gender lub age_group różni się w ramach grupy | To atrybuty stałe w grupie; rozdziel kroje męskie i damskie na osobne grupy |
| 11 | Historia wyników resetuje się przy każdej synchronizacji | item_group_id generowany na nowo przy każdym eksporcie | Wyprowadzaj go ze stabilnego pola źródłowego, nigdy z kolejności wierszy ani hasha |
| 12 | Feed XML nie daje się sparsować | Nieescapowany znak & w adresach URL głębokich linków | Zapisuj jako &; waliduj XML przed publikacją |
Błędy 1, 2, 4 i 11 odpowiadają za zdecydowaną większość tego, co widzimy w rzeczywistych audytach. Żaden z nich nie jest trudny; wszystkie są niewidoczne, dopóki ktoś ich nie poszuka.
9. Niepełne rozmiarówki i kondycja stanów magazynowych
Niepełna rozmiarówka (broken size run) to produkt, którego grupa jest technicznie aktywna, ale w praktyce niesprzedawalna – sweter dostępny tylko w XS i 3XL, but z dwoma rozmiarami z dziewięciu.
Ma to większe znaczenie, niż się wydaje. Gdy kupujący kliknie reklamę produktu i okaże się, że jego rozmiar jest niedostępny, zapłaciłeś za kliknięcie, które nie mogło przynieść konwersji, i nadwyrężyłeś przy tym zaufanie do marki. Na dużą skalę produkty z niepełną rozmiarówką mogą pochłaniać istotną część budżetu, niemal nic nie wnosząc do przychodu.
Wykrywanie
Oblicz dla każdego item_group_id:
size_availability_ratio = in_stock_variants / total_variantsNastępnie działaj według progów. Rozsądny punkt wyjścia:
| Wskaźnik | Interpretacja | Działanie |
|---|---|---|
| > 0.7 | W dobrej kondycji | Reklamuj normalnie |
| 0.4 – 0.7 | Przerzedzona | Obniż stawki; obserwuj |
| 0.2 – 0.4 | Niepełna | Wyklucz z prospectingu; tylko retargeting |
| < 0.2 | Praktycznie wyprzedane | Wyklucz całkowicie |
Ważąc ten wskaźnik, uwzględniaj popyt, a nie tylko liczbę rozmiarów. Utrata XXS i XXL ma znacznie mniejsze znaczenie niż utrata M i L, które zwykle stanowią większość sprzedaży. Wskaźnik traktujący wszystkie rozmiary jednakowo zareaguje zbyt słabo na utratę kluczowych rozmiarów.
Działanie
Najczystsza implementacja oznacza ten stan w feedzie zamiast usuwać produkt:
xml
<g:custom_label_1>broken-size</g:custom_label_1>Oznaczanie zamiast usuwania zachowuje historię produktu w kanale i pozwala natychmiast go reaktywować, gdy stany wrócą. Usunięcie i ponowne dodanie resetuje uczenie.
Dwa dodatkowe usprawnienia, które warto wdrożyć:
- Przekazuj informacje do działu merchandisingu. Powtarzająca się lista niepełnych rozmiarówek to sygnał zakupowy, a nie tylko problem reklamowy.
- Sprawdzaj ponownie przy każdej synchronizacji. Stany się zmieniają; oznaczenie musi zmieniać się razem z nimi. Statyczna lista niepełnych rozmiarówek jest gorsza niż żadna, bo wycisza produkty, które w międzyczasie zostały uzupełnione.
10. Wykorzystanie wariantów do segmentacji kampanii
Gdy warianty mają prawidłową strukturę, dane stają się warstwą segmentacji – prawdopodobnie najbardziej opłacalnym zastosowaniem czystego feedu wariantów.
Google udostępnia pięć pól custom_label (0–4). Przyjmują dowolne wartości i służą wyłącznie twojej własnej logice kampanii. Dane o wariantach to idealne dane wejściowe.
Sprawdzony schemat
| Etykieta | Wymiar | Przykładowe wartości |
|---|---|---|
| custom_label_0 | Poziom marży | high-margin, standard, clearance |
| custom_label_1 | Kondycja stanów | full-size-run, thinning, broken-size |
| custom_label_2 | Poziom wyników | bestseller, steady, long-tail |
| custom_label_3 | Sezonowość | ss26, aw25, core, carryover |
| custom_label_4 | Przedział cenowy | under-50, 50-100, 100-200, over-200 |
Gdy to wszystko jest na miejscu, logika kampanii staje się prosta:
- Podnoś stawki dla bestseller + full-size-run + high-margin
- Wykluczaj broken-size z prospectingu
- Daj clearance osobną kampanię z agresywnym tROAS
- Wydziel ss26, gdy startuje sezon
Performance Max i Advantage+
Oba są w dużej mierze zautomatyzowane, przez co segmentacja na poziomie feedu staje się ważniejsza, a nie mniej ważna. Nie kontrolujesz już stawek na poziomie słów kluczowych, więc feed staje się głównym narzędziem sterowania wydatkami.
W Performance Max etykiety niestandardowe wyznaczają strukturę grup plików i grup informacji o produktach. Podzielenie jednej zbiorczej grupy plików na grupy oparte na marży lub kondycji stanów to jedna z niewielu pozostałych dźwigni strukturalnych, a zależy ona całkowicie od tego, czy etykiety są wypełniane na podstawie rzeczywistych danych.
W reklamach katalogowych Advantage+ prawidłowe grupowanie zapobiega zapełnieniu karuzeli sześcioma odcieniami tego samego swetra – a definicje zestawów produktów oparte na atrybutach wariantów pozwalają oddzielić asortyment do prospectingu od asortymentu do retargetingu.
Wzbogacanie etykiet danymi o wynikach
Statyczne etykiety się starzeją. bestseller przypisany w zeszłym sezonie to w tym sezonie dezinformacja.
Lepsza implementacja przelicza etykiety na podstawie bieżących danych o wynikach – przychodu z GA4, współczynnika konwersji, liczby wyświetleń – przy każdej synchronizacji feedu. Produkt, który przestaje się sprzedawać, automatycznie wypada z bestseller; ten, który zaczyna się sprzedawać, do niego trafia. To kluczowa część tego, czym w praktyce jest wzbogacanie feedu, i różnica między etykietami, które sterują budżetem, a etykietami, które jedynie opisują ostatni kwartał.
11. Mierzenie wyników wariantów
Dane na poziomie wariantów to miejsce, w którym większość raportowania po cichu się rozpada.
Problem agregacji. Merchant Center i Ads raportują na poziomie id. Sweter w 20 wariantach pojawia się jako 20 wierszy, z których każdy ma ułamek wolumenu, a żaden osobno nie jest istotny statystycznie. Każdy wniosek wyciągnięty z pojedynczego wiersza wariantu to prawdopodobnie szum.
Zawsze analizuj na dwóch poziomach:
- Poziom grupy (item_group_id) – czy ten produkt działa? Agreguj wydatki, konwersje i przychód ze wszystkich elementów grupy.
- Poziom wariantu (id) – które opcje działają? Które kolory się sprzedają, które rozmiary kończą się najszybciej, które kombinacje w ogóle nie schodzą.
To na drugim poziomie kryją się ciekawe ustalenia. Odpowiada on na pytania ważne dla merchandisingu: czy granatowy sprzedaje się trzy razy lepiej niż grafitowy? Czy warianty w rozmiarze L konwertują lepiej, bo zawsze są dostępne? Czy jeden kolor zaniża średnią całej grupy?
Wskaźniki warte śledzenia dla każdej grupy:
| Wskaźnik | Dlaczego |
|---|---|
| Wskaźnik dostępności rozmiarów | Wskaźnik wyprzedzający zmarnowanego budżetu |
| Pokrycie wariantów w kanale | Przesłane vs. faktycznie zatwierdzone – w tej różnicy kryją się problemy |
| Udział w wyświetleniach według wariantu | Pokazuje, które opcje kanał faktycznie faworyzuje |
| Współczynnik konwersji według koloru | Sygnał dla merchandisingu i zakupów |
| Odsetek odrzuceń według grupy | Wcześnie wychwytuje systemowe błędy atrybutów |
Uwaga dotycząca atrybucji. Kupujący często widzi reklamę jednego wariantu, a kupuje inny – klika granatowy, kupuje grafitowy. ROAS na poziomie wariantu brany dosłownie będzie więc błędnie przypisywał wyniki. Oceniaj produkty na poziomie grupy; dane o wariantach wykorzystuj do zrozumienia zachowań, a nie do podejmowania decyzji o stawkach na podstawie małych prób.
12. Lista kontrolna przed uruchomieniem
Przejdź przez nią przed opublikowaniem feedu wariantów i po każdej zmianie struktury.
Struktura
- Każdy wariant ma unikalne id
- Każdy element grupy ma identyczny item_group_id
- item_group_id pochodzi ze stabilnego pola źródłowego i nie zmienia się między eksportami
- item_group_id ma spójną wielkość liter w całym feedzie
- Każdy element różni się co najmniej jednym atrybutem definiującym wariant
- item_group_title jest obecny i identyczny w całej grupie
Atrybuty
- color używa zwykłych nazw kolorów – bez kodów hex, liczb i pojedynczych liter
- Wiele kolorów jest rozdzielonych znakiem /, kolor główny na początku
- Wartości size są znormalizowane w całym katalogu
- size_system jest zadeklarowany tam, gdzie sprzedajesz w regionach z różnymi systemami rozmiarów
- gender i age_group są identyczne w ramach każdej grupy
- material i pattern są wypełnione tam, gdzie definiują wariant
Linki i zdjęcia
- link każdego wariantu prowadzi do właściwego, wstępnie wybranego stanu
- & jest zapisany w XML jako &
- image_link jest specyficzny dla wariantu, a nie wspólnym zdjęciem głównym
- Zdjęcia spełniają minimalne wymiary każdego kanału
Przekształcenia dla kanałów
- Składnia availability dostosowana do każdego kanału (in_stock vs. in stock)
- Limity znaków przestrzegane dla każdego kanału
- Eksporty do Amazon tworzą oferty nadrzędne i deklarują prawidłowy motyw wariantów
- Zestawy atrybutów regionalnych marketplace'ów zmapowane dla każdej kategorii
Operacje
- Częstotliwość aktualizacji odpowiada temu, jak szybko faktycznie zmieniają się stany
- Wykrywanie niepełnych rozmiarówek działa przy każdej synchronizacji
- Kontrola zduplikowanych id działa przed eksportem
- Feed przechodzi walidację jako poprawny XML/CSV przed publikacją
- Skonfigurowane są alerty na nagłe spadki liczby produktów
13. FAQ
Czy muszę przesyłać każdy wariant? Nie zawsze, ale w przypadku odzieży i obuwia, gdzie rozmiar i kolor są decyzją zakupową, zwykle tak. W bardzo dużych, jednorodnych katalogach lub w kanałach odfiltrowujących niemal identyczne duplikaty lepsze wyniki może dać przesłanie jednego dobrze wybranego reprezentatywnego wariantu na grupę. Wybieraj reprezentanta według wyników sprzedaży i stanów, a nie alfabetycznie.
Co się stanie, jeśli pominę item_group_id? Każdy wariant jest traktowany jako niepowiązany produkt. Tracisz selektor wariantów na platformie docelowej, reklamy stają się powtarzalne, raportowanie na poziomie wariantów przestaje działać, a w Google możesz nie spełnić wymagań – item_group_id jest wymagany dla bezpłatnych informacji o produktach oraz dla reklam Shopping na kilku głównych rynkach, gdy przesyłane są warianty.
Czy warianty mogą mieć różne ceny? Tak. Cena nie jest atrybutem definiującym wariant, ale może się zasadnie różnić między wariantami – większe rozmiary często kosztują więcej. Przesłana cena musi odpowiadać temu, co strona docelowa pokazuje dla danego wariantu.
Czy niedostępne warianty powinny zostać w feedzie? Zasadniczo tak. Zachowaj je z availability: out_of_stock zamiast je usuwać. Usunięcie i ponowne dodanie resetuje historię produktu w kanale. Zamiast tego wykluczaj je z aktywnych kampanii za pomocą reguły lub etykiety niestandardowej.
Czy jeden produkt może należeć do dwóch grup? Nie. item_group_id przyjmuje jedną wartość na produkt. Jeśli produkt rzeczywiście należy do dwóch koncepcyjnych grup, masz problem z taksonomią merchandisingową, który trzeba rozwiązać na wcześniejszym etapie.
Czy potrzebuję osobnych wartości item_group_id dla każdego kanału? Nie – i nie powinieneś ich stosować. Używaj wszędzie tego samego logicznego grupowania. Dla każdego kanału różni się przekształcenie, które do niego stosujesz: limity znaków, wielkość liter, składnia. Utrzymuj jedno źródło prawdy i dostosowuj je przy eksporcie.
Jak obsługiwać produkty, które naprawdę mają jeden rozmiar? Przesyłaj size jako one_size, OS lub OSFA. Nie zostawiaj tego pola pustego dla odzieży na rynkach, gdzie rozmiar jest wymagany.
Męska i damska wersja tego samego projektu – jedna grupa czy dwie? Dwie. gender musi być identyczny w całej grupie. Różne kroje i różna rozmiarówka sprawiają, że z perspektywy kupującego to różne produkty.
Co w praktyce psuje się najczęściej? W naszych audytach: wspólne zdjęcia główne dla wariantów kolorystycznych, item_group_id generowane na nowo przy każdym eksporcie oraz składnia availability przeniesiona bez zmian z feedu Google do Meta. Wszystkie trzy są niewidoczne w interfejsie i ujawniają się jedynie jako niewyjaśnione słabe wyniki.
Co z tego wynika
Feedy wariantów nagradzają precyzję w sposób, w jaki nie robi tego większość marketingu cyfrowego. W item_group_id nie ma miejsca na kreatywną ocenę – albo jest stabilny i wspólny, albo nie. Wartości kolorów albo są zgodne ze specyfikacją, albo zostają odrzucone. Zdjęcia albo pasują do wariantu, albo kliknięcie zostało zmarnowane.
To dobra wiadomość: to problem, który da się rozwiązać i który ma jednoznaczną odpowiedź. Praca polega na utrzymaniu tego stanu – bo katalogi zmieniają się codziennie, stany co godzinę, a każdy kanał aktualizuje swoją specyfikację we własnym rytmie.
Firmy, którym to się udaje, traktują feed wariantów jak infrastrukturę, a nie plik. Wyprowadzają ID grup ze stabilnych danych źródłowych, normalizują atrybuty raz u źródła, przekształcają je dla każdego kanału przy eksporcie, przeliczają kondycję stanów przy każdej synchronizacji i wysyłają alerty, gdy coś nieoczekiwanie się zmienia.
Właśnie dla tej warstwy zbudowano Feedance – reguły feedu do normalizacji atrybutów u źródła, wykrywanie niepełnych rozmiarówek (Broken Size), które przelicza dane przy każdej synchronizacji, wzbogacanie danymi z GA4, które utrzymuje aktualność etykiet wyników, oraz eksporty do kanałów, które stosują właściwe przekształcenie dla każdego z ponad 200 kanałów docelowych bez naruszania danych źródłowych.
Jeśli chcesz wiedzieć, w jakim stanie jest struktura twoich wariantów, zanim cokolwiek zmienisz, nasze darmowe narzędzie do audytu feedu bezpłatnie oceni istniejący feed pod kątem kompletności, jakości danych i kondycji technicznej – w tym grupowania wariantów.

Współzałożyciel Feedance, gdzie wykorzystuje swoje doświadczenie jako inżynier komputerowy i marketer, aby dostarczać analityczne wnioski. Skupia się na przekształcaniu danych w konkretne strategie i pomaga markom osiągać znaczący wzrost w świecie cyfrowym.
LinkedIn


















