Generator feedu produktowego
Zamień listę produktów z arkusza na feed XML dla Google Merchant Center i katalogu Meta z kontrolą każdego wiersza.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Kolejność pól: id; tytuł; opis; cena; waluta; dostępność; link; obraz; marka; gtin; stan. Pierwsze 7 jest obowiązkowe. Możesz wkleić kolumny prosto z Excela (tabulatory); wiersz nagłówka zaczynający się od „id” zostanie pominięty.
Feed XML gotowy
Format RSS 2.0 z przestrzenią g:, gotowy do wgrania w Google Merchant Center lub katalogu Meta.
W feedzie
Pominięte wiersze
Błąd formatu, ceny lub powtórzone id
Produkty z uwagami
Są w feedzie, ale warto je poprawić
Dostępne (in_stock)
Rozmiar pliku
Feed XML
Kontrola wierszy
| Wiersz | ID | Tytuł | Cena | Status | Uwagi |
|---|---|---|---|---|---|
| 1 | P001 | Laptop 14 cali | 3 999,99 PLN | OK | — |
| 2 | P002 | Mysz bezprzewodowa | 99,50 PLN | OK | — |
Ściąga: pola feedu produktowego Google i Meta
| Pole (kolejność) | Znacznik XML | Wymagane w Google | Wskazówka |
|---|---|---|---|
| 1. id | g:id | Tak | Unikalny, maks. 50 znaków; nie zmieniaj go później |
| 2. tytuł | g:title | Tak | Maks. 150 znaków, najważniejsze słowa na początku |
| 3. opis | g:description | Tak | Maks. 5000 znaków, zwykły tekst |
| 4. cena | g:price | Tak | Kropka lub przecinek; w XML zawsze 2 miejsca, np. 99.50 |
| 5. waluta | część g:price | Tak | Kod ISO 4217: PLN, EUR, USD |
| 6. dostępność | g:availability | Tak | in_stock, out_of_stock, preorder, backorder |
| 7. link | g:link | Tak | Pełny adres strony produktu (https://…) |
| 8. obraz | g:image_link | Tak | Bezpośredni adres zdjęcia produktu |
| 9. marka | g:brand | Dla nowych produktów | Wyjątki m.in. książki, filmy, muzyka |
| 10. gtin | g:gtin | Gdy producent nadał kod | EAN-8, UPC (12), EAN-13, ITF-14 |
| 11. stan | g:condition | Dla używanych i odnowionych | new, used, refurbished (puste = new) |
Jak wpisywać produkty
Jeden produkt w jednej linii, pola oddzielone średnikiem albo tabulatorem (wklejka z arkusza). Cenę możesz wpisać z przecinkiem, np. 1 299,00; w pliku trafi jako 1299.00 PLN. Średnik w treści opisu rozbiłby wiersz, więc w takim przypadku wklej dane z tabulatorami. Puste pola opcjonalne (marka, gtin) zostaw między średnikami.
Dostępność i stan po polsku
Rozpoznajemy „dostępny”, „niedostępny”, „przedsprzedaż”, „na zamówienie” oraz „nowy”, „używany”, „odnowiony” i zamieniamy je na wartości Google (in_stock, out_of_stock, preorder, backorder, new, used, refurbished). Nieznana dostępność daje out_of_stock z uwagą, nieznany stan nie trafia do pliku.
Jak sprawdzamy GTIN (EAN)
Kod musi mieć 8, 12, 13 lub 14 cyfr, a ostatnia to cyfra kontrolna. Cyfry poprzedzające mnożymy na przemian przez 3 i 1, licząc od prawej. Dla 5901234123457 suma wynosi 83, do pełnej dziesiątki brakuje 7, więc kod jest poprawny. Feed z błędnym GTIN-em powstanie, ale Google odrzuci taki produkt.
Co zrobić z plikiem
Pobierz feed.xml i umieść go na swoim serwerze pod stałym adresem, np. https://twojsklep.pl/feed.xml. W Google Merchant Center i w Menedżerze sprzedaży Meta dodaj źródło danych z tym adresem i ustaw cykliczne pobieranie. Po zmianie cen wygeneruj plik ponownie i nadpisz stary.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator feedu produktowego
Feed produktowy to plik XML, który sklepy przekazują do Google Merchant Center i katalogów social commerce, takich jak katalog Meta (Facebook, Instagram). Bez niego produkty nie pojawią się w zakładce Shopping. Generator zamienia listę produktów wklejoną z arkusza na feed w formacie RSS 2.0 z przestrzenią nazw g: i od razu sprawdza każdy wiersz.
Wymagane pola
Każdy produkt wpisujesz w osobnej linii, z polami w stałej kolejności: id; tytuł; opis; cena; waluta; dostępność; link; obraz; marka; gtin; stan. Pierwsze siedem jest obowiązkowe, bez nich wiersz zostanie pominięty. Google wymaga też zdjęcia, więc w praktyce potrzebujesz ośmiu.
| Pole | Format |
|---|---|
| g:id | unikalny identyfikator, do 50 znaków |
| g:title | nazwa produktu (do 150 znaków) |
| g:description | opis zwykłym tekstem, do 5000 znaków |
| g:price | kwota i kod waluty ISO 4217, np. 99.50 PLN |
| g:availability | in_stock / out_of_stock / preorder / backorder |
| g:link / g:image_link | bezwzględne adresy URL |
Dodatkowe pola
g:gtin— kod EAN/GTIN zwiększa dopasowanie; generator sprawdza długość (8, 12, 13 lub 14 cyfr) i cyfrę kontrolną,g:brand— marka produktu,g:condition— new, refurbished, used; puste pole oznacza new, a cały znacznik wyłączysz przełącznikiem „Dodaj stan produktu”.
Generator nie dodaje g:google_product_category ani atrybutów wariantów i wysyłki. Jeśli ich potrzebujesz, dopisz je w regułach źródła danych w Merchant Center albo bezpośrednio w pliku.
Jak wdrożyć
Pobierz plik feed.xml (albo skopiuj XML), opublikuj go pod stałym adresem URL, np. https://twojsklep.pl/feed.xml, i dodaj go w Merchant Center jako źródło danych. W Menedżerze sprzedaży Meta robisz to samo: źródło danych z adresem pliku i harmonogramem pobierania. Google pobiera plik regularnie — aktualizuj ceny i stany na bieżąco.
Jak działa generator feedu produktowego
Generator zamienia listę produktów na plik XML w strukturze, którą przyjmuje Google Merchant Center. Każdy produkt staje się osobnym elementem <item>, a jego cechy trafiają do znaczników z przedrostkiem g: — g:id, g:title, g:description, g:link, g:image_link, g:price, g:availability. Nad listą pozycji znajduje się nagłówek kanału z tytułem, adresem sklepu i opisem wpisanymi nad listą produktów, a w znaczniku <rss> zadeklarowana jest przestrzeń nazw dla tego przedrostka. Sam plik jest zwykłym tekstem w UTF-8, więc można go otworzyć w edytorze, wgrać na serwer i udostępnić pod stałym adresem URL.
Pola oddzielasz średnikiem albo tabulatorem. Kolumny skopiowane z Excela lub Arkuszy Google wklejają się z tabulatorami, a wiersz nagłówka zaczynający się od „id” zostaje pominięty. Pola g:image_link, g:brand, g:gtin i g:condition pojawiają się w pliku tylko wtedy, gdy są dostępne w danych. Dzięki temu feed nie zawiera pustych znaczników, które nie wnoszą żadnej informacji, a tylko zwiększają ryzyko błędu przy walidacji.
Trzecia warstwa to normalizacja zapisu. Znaki specjalne w nazwach i opisach — ampersand, nawiasy ostre, cudzysłowy — generator sam zamienia na encje, bo inaczej parser XML przerwałby czytanie pliku; usuwa też niewidoczne znaki sterujące. Cenę możesz wpisać z przecinkiem i spacją tysięcy (1 299,00), a w pliku trafi jako 1299.00 PLN. Polskie wpisy dostępności i stanu („dostępny”, „niedostępny”, „przedsprzedaż”, „na zamówienie”, „nowy”, „używany”, „odnowiony”) są zamieniane na wartości Google. Puste pole waluty oznacza PLN.
Kontrola wierszy: co jest pomijane, a co dostaje uwagę
Pod feedem narzędzie pokazuje tabelę z wynikiem dla każdego wiersza: OK, Uwaga albo Błąd. Wiersz z błędem nie trafia do pliku. Wiersz z uwagą trafia, ale Google może taki produkt odrzucić, więc popraw go przed wgraniem.
| Status | Kiedy |
|---|---|
| Błąd, pominięty | mniej niż 7 pól, brak id lub tytułu, powtórzone id, cena ujemna albo nieczytelna jako liczba |
| Uwaga | id ponad 50 znaków, tytuł ponad 150, brak opisu lub opis ponad 5000 znaków, cena 0,00, waluta inna niż trzyliterowy kod, nieznana dostępność (przyjmowane jest out_of_stock), link lub zdjęcie bez http(s)://, brak zdjęcia, błędny GTIN, nieznany stan |
Jednorazowo wygenerujesz do 500 produktów (lista do ok. 300 tys. znaków). Większy katalog podziel na kilka plików i dodaj każdy jako osobne źródło danych.
Przykład: feed z trzema produktami krok po kroku
- Wklej trzy wiersze:
P002; Mysz bezprzewodowa; Ergonomiczna mysz; 99,50; PLN; dostępny; https://twojsklep.pl/mysz; https://twojsklep.pl/img/mysz.jpg; TechBrand; 5901234123464; nowyP003; Etui na laptopa; Etui 14 cali z kieszenią; 79,00 zł; ; brak; twojsklep.pl/etuiP002; Podkładka pod mysz; Podkładka 30 × 25 cm - Pierwszy wiersz przechodzi bez uwag. Cena 99,50 trafia do pliku jako
99.50 PLN, „dostępny” jakoin_stock, a „nowy” jakonew. - GTIN 5901234123464 jest poprawny: dwanaście pierwszych cyfr mnożonych na przemian przez 3 i 1, licząc od prawej, daje sumę 86. Do pełnej dziesiątki brakuje 4, a 4 to ostatnia cyfra kodu.
- Drugi wiersz trafia do feedu z uwagami. Cena „79,00 zł” zostaje odczytana jako 79.00, puste pole waluty daje PLN, a „brak” oznacza out_of_stock. Link bez https:// i brak zdjęcia to dwie uwagi: plik powstanie, ale Google nie zatwierdzi produktu, dopóki nie podasz pełnych adresów.
- Trzeci wiersz ma 3 pola z wymaganych 7, więc zostanie pominięty. Z kompletem pól też by odpadł, bo id P002 zajął już pierwszy produkt.
- Kafelki nad wynikiem pokażą: 2 produkty w feedzie, 1 pominięty wiersz, 1 produkt z uwagami i 1 dostępny z 2. Popraw drugi wiersz, uzupełnij trzeci i wygeneruj plik ponownie.
- Opublikuj plik pod stałym adresem URL i dodaj go w Merchant Center. Kolejna zmiana ceny lub stanu magazynowego wymaga ponownego wygenerowania i wgrania pliku — feed nie aktualizuje się sam.
Praktyczne wskazówki przed publikacją feedu
- Nie zmieniaj identyfikatorów. g:id to klucz, po którym system rozpoznaje produkt. Zmiana wartości przy tej samej ofercie wygląda jak usunięcie starej pozycji i dodanie nowej.
- Pilnuj limitu 150 znaków w nazwie — najważniejsze słowa, czyli model i typ produktu, stawiaj na początku, bo dalsza część bywa obcinana w wynikach.
- Uważaj na średniki w opisach. Każdy średnik tworzy nowe pole i przesuwa cenę, link oraz kolejne kolumny. Jeśli opisy je zawierają, wklej dane prosto z arkusza, z tabulatorami.
- Zostawiaj produkt w feedzie, gdy chwilowo go brakuje — zamiast usuwać wiersz, wpisz „niedostępny” albo out_of_stock. Zachowasz historię oferty i identyfikator.
- Dodaj g:gtin i g:brand, jeśli je masz — kody EAN i marka poprawiają dopasowanie produktu w katalogu, a dla części kategorii są wymagane.
Czego narzędzie nie uwzględnia
- Nie integruje się z systemem sklepu — generuje gotowy plik, nie pobiera danych na bieżąco. Aktualizację cen i stanów trzeba wprowadzić w danych wejściowych i wygenerować feed ponownie.
- Nie przelicza walut — kod waluty jest przepisywany przy cenie tak, jak podałeś. Jeśli sklep sprzedaje w innej walucie, dane trzeba przygotować samodzielnie przed generowaniem.
- Nie sprawdza, czy link i zdjęcie naprawdę działają. Kontroluje tylko, czy adres zaczyna się od http:// lub https:// i jest poprawny składniowo, a taki adres wciąż może zwracać błąd 404.
- Nie obsługuje wariantów (rozmiar, kolor, wspólna grupa produktów) ani kosztów wysyłki: każdy wiersz to osobny produkt.
- Nie gwarantuje zgodności z polityką Merchant Center — tytuły, opisy, zdjęcia i strona produktu muszą spełniać zasady Google. Sam poprawny XML nie wystarczy, żeby produkt został zatwierdzony.
Najczęstsze pytania
Jak często aktualizować feed produktowy?
Przy każdej zmianie ceny lub stanu magazynowego. Merchant Center pobiera plik z podanego adresu według ustawionego harmonogramu, np. codziennie, a cena w feedzie musi zgadzać się z ceną na stronie produktu.
Czy GTIN jest obowiązkowy?
Tak, jeśli producent nadał produktowi kod; polskie kody EAN-13 zaczynają się zwykle od 590. Dla wyrobów własnych, rękodzieła czy produktów bez kodu zostaw pole puste zamiast wpisywać wymyślony numer.
Dlaczego produkty są odrzucane w Merchant Center?
Najczęściej z powodu braku zdjęcia, ceny innej niż na stronie, niedziałającego linku, błędnego GTIN lub niezgodności z zasadami. Braki zdjęć, adresy bez https:// i złe kody GTIN pokaże tabela kontroli wierszy; zgodność cen ze stroną i działanie linków sprawdź sam.
W jakim formacie podać cenę w feedzie produktowym?
W pliku cena ma postać 99.50 PLN: kropka dziesiętna, spacja i trzyliterowy kod waluty. W generatorze wpiszesz 99,50 albo 1 299,00, a walutę w osobnym polu, i zamiana nastąpi automatycznie.
Czy produkty niedostępne powinny znikać z feedu?
Nie, lepiej zostawić je w pliku i ustawić g:availability na out_of_stock. Usunięcie wiersza powoduje, że oferta znika z katalogu, a po ponownym dodaniu może być traktowana jak nowy produkt.
Czy ten feed zadziała w katalogu Facebooka i Instagrama?
Tak, Meta przyjmuje pliki XML w formacie RSS z przestrzenią g:, więc ten sam feed.xml dodasz w Menedżerze sprzedaży. Meta wymaga m.in. marki i stanu produktu, dlatego dla tego katalogu wypełnij pole marki i nie wyłączaj g:condition.