Jak połączyć sklep z Ceneo przez plik XML — poradnik
Porównywarka Ceneo pobiera Twoje produkty z jednego pliku XML — jeśli feed jest źle skonfigurowany, oferty się nie pojawią albo zostaną odrzucone. Ten poradnik pokazuje, jak przygotować, podłączyć i zweryfikować feed krok po kroku.
Jak połączyć sklep z Ceneo przez plik XML — w skrócie
Żeby podłączyć sklep do porównywarki Ceneo, nie wgrywasz produktów ręcznie. Udostępniasz jeden adres URL prowadzący do pliku XML (feedu produktowego), który Ceneo pobiera cyklicznie i na jego podstawie buduje oraz aktualizuje Twoje oferty. Cała integracja sprowadza się do czterech rzeczy: wygenerowania poprawnego feedu w panelu sklepu, uzupełnienia pól obowiązkowych (przede wszystkim EAN, producent i kod producenta), zmapowania kategorii sklepu na kategorie Ceneo oraz wklejenia adresu feedu w panelu Ceneo i wyboru modelu rozliczeń.
Poniżej znajdziesz dokładną strukturę pliku, konfigurację krok po kroku, listę kontrolną do weryfikacji feedu przed wysyłką oraz zestawienie najczęstszych błędów, przez które oferty są odrzucane albo w ogóle nie pojawiają się w porównywarce.
Czym jest feed XML Ceneo i jak wygląda w środku
Feed to zwykły plik tekstowy w formacie XML, generowany automatycznie przez oprogramowanie sklepu i dostępny pod stałym, publicznym adresem URL (najczęściej coś w stylu twojsklep.pl/ceneo.xml). Ceneo pobiera go w regularnych odstępach, dlatego każda zmiana ceny czy stanu magazynowego musi trafiać do feedu — nie wpisuje się jej ręcznie po stronie porównywarki. To kluczowe założenie: feed jest jedynym kanałem komunikacji między Twoim sklepem a Ceneo.
Struktura opiera się na jednym elemencie nadrzędnym <offers>, wewnątrz którego każdy produkt to osobny węzeł <o> (od angielskiego offer). Uproszczony szkielet jednej oferty wygląda tak:
- <offers version=”1″> — element główny całego pliku,
- <o id=”123″ url=”…” price=”149.00″ avail=”1″ stock=”8″> — pojedyncza oferta wraz z atrybutami,
- <cat>Elektronika/Audio/Słuchawki</cat> — ścieżka kategorii,
- <name>Słuchawki bezprzewodowe XYZ</name> — nazwa produktu,
- <imgs><main url=”…”/></imgs> — zdjęcia,
- <desc>…</desc> — opis w ograniczonym HTML,
- <attrs><a name=”EAN”>5901234567890</a></attrs> — atrybuty, m.in. EAN, producent, kod producenta.
Atrybuty umieszczane bezpośrednio w znaczniku <o> opisują logistykę oferty (cenę, dostępność, stan), a elementy potomne opisują sam produkt (nazwa, kategoria, zdjęcia, opis, parametry). Poniższa tabela zbiera najważniejsze atrybuty oferty.
| Atrybut | Wymagany? | Opis |
|---|---|---|
| id | tak | Unikalny, niezmienny identyfikator oferty (do ok. 100 znaków). Raz użytego id nie wolno przypisywać innemu produktowi. |
| url | tak | Bezpośredni link do konkretnego wariantu produktu (do ok. 1000 znaków). |
| price | tak | Cena brutto z kropką jako separatorem dziesiętnym, np. 149.00. |
| avail | tak | Czas wysyłki/dostępność. Dopuszczalne wartości to m.in. 1, 3, 7, 14, 90, 99, 110 (orientacyjnie — aktualną listę sprawdź w specyfikacji Ceneo). |
| stock | opcjonalny | Liczba sztuk na stanie (dodatnia liczba całkowita). |
| weight | opcjonalny | Waga w kilogramach z kropką, np. 0.35. Pole nie może być puste ani równe 0, jeśli je podajesz. |
| basket | opcjonalny | Wartość 0 lub 1 — udział oferty w usłudze zakupowej „Kup Teraz”. |
Konfiguracja feedu XML krok po kroku
Krok 1. Wygeneruj feed w panelu sklepu
Większość platform e-commerce (m.in. Shoper, PrestaShop, WooCommerce, Comarch e-Sklep) ma gotowy moduł „Porównywarki cen” lub „Integracje → Ceneo”, który generuje feed w schemacie Ceneo automatycznie. Włączasz moduł, a system zwraca Ci gotowy adres URL pliku. Nie musisz pisać XML ręcznie — a jeśli Twoja platforma nie ma natywnego eksportu, feed budują dedykowane wtyczki lub integratory marketplace. Na platformach open source (jak WooCommerce) warto sprawdzić, czy wtyczka generuje feed statycznie (plik odświeżany co X godzin), czy dynamicznie (przy każdym pobraniu) — to wpływa na aktualność cen i stanów.
Krok 2. Uzupełnij pola obowiązkowe (EAN, producent, kod producenta)
To najczęstsze źródło problemów. Ceneo dopasowuje Twoją ofertę do istniejącej karty produktu głównie po kodzie EAN (8- lub 13-cyfrowy kod kreskowy) oraz po parze producent + kod producenta. Jeśli sprzedajesz książki, odpowiednikiem EAN jest 13-cyfrowy ISBN, a przy lekach i suplementach OTC — 7-cyfrowy kod leku. Bez tych danych oferta albo nie zostanie dopasowana do właściwej karty, albo w ogóle nie przejdzie walidacji. W panelu sklepu uzupełnij te pola w karcie każdego produktu (najczęściej pole „Identyfikator producenta / EAN” oraz „Producent”).
Krok 3. Zmapuj kategorie sklepu na kategorie Ceneo
Każdy produkt musi trafić do konkretnej kategorii w drzewie Ceneo. Oprogramowanie sklepu zwykle udostępnia narzędzie mapowania, w którym przypisujesz swoje kategorie do odpowiedników w Ceneo. Poprawne mapowanie przyspiesza akceptację ofert i minimalizuje ryzyko błędnego przypisania. Unikaj kategorii ogólnych i marketingowych typu „Wyprzedaż”, „Promocja” czy „Nowości” — Ceneo je odrzuca, bo nie opisują realnej kategorii produktowej.
Krok 4. Podłącz adres feedu w panelu Ceneo
Zaloguj się do panelu partnera na biznes.ceneo.pl, dodaj sklep i wklej adres URL feedu wygenerowany w kroku 1. Ceneo pobierze plik, przeprowadzi walidację techniczną (zgodność ze schematem) i pokaże raport: ile ofert zostało wczytanych, a ile odrzuconych i z jakiego powodu. Ten raport to Twoje główne narzędzie diagnostyczne — wracasz do niego po każdej większej zmianie w feedzie.
Pierwszy import i moderacja nowych ofert zwykle zajmują trochę czasu — nie zakładaj, że produkty pojawią się w porównywarce natychmiast po podłączeniu feedu. Po każdej dużej zmianie w pliku (np. przemapowaniu kategorii) odczekaj na kolejny cykl pobrania i ponownie sprawdź raport, zanim uznasz zmianę za skuteczną. Warto też dodać do adresów url parametry UTM, żeby w statystykach sklepu odróżnić ruch z Ceneo od innych źródeł.
Krok 5. Wybierz model rozliczeń
Ceneo rozlicza sklepy głównie w modelu CPC (cost per click) — płacisz za każde przejście użytkownika z porównywarki do Twojego sklepu. Koszt kliknięcia zależy przede wszystkim od kategorii produktu i wynosi orientacyjnie od ok. 0,39 zł do 1,03 zł (aktualne stawki sprawdź w cenniku Ceneo — mogą się zmieniać). Rozliczenie działa w modelu przedpłaconym (prepaid): zasilasz konto rozliczeniowe sklepu, a środki są pobierane wraz z ruchem; niewykorzystane saldo jest zwracane przy zamknięciu konta. Minimalna kwota zasilenia to orientacyjnie ok. 375 zł — również do zweryfikowania u źródła.
Struktura pliku — elementy potomne oferty
Oprócz atrybutów w znaczniku <o> każda oferta zawiera elementy opisujące produkt. Poniżej najważniejsze z nich wraz z limitami i uwagami.
| Element | Wymagany? | Limit / uwaga |
|---|---|---|
| cat | tak | Ścieżka kategorii (do ok. 255 znaków), np. Komputery/Monitory/Monitory LCD. Bez kategorii ogólnych typu „Promocja”. |
| name | tak | Nazwa produktu bez dopisków handlowych (do ok. 150 znaków). Bez „HIT!”, „PROMOCJA”, „najtaniej”. |
| imgs / main | tak | Zdjęcie główne w <main>, dodatkowe w <i>; do ok. 20 zdjęć, każdy URL do ok. 2048 znaków. |
| desc | zalecany | Opis w ograniczonym HTML (m.in. p, h2, h3, ul, li, strong, br), do ok. 100 000 znaków. Bez linków zewnętrznych i danych sklepu. |
| attrs / a | tak dla EAN i producenta | Atrybuty w formie <a name=”EAN”>…</a>, <a name=”Producent”>…</a>, <a name=”Kod_producenta”>…</a> itd. |
Zdjęcia powinny przedstawiać produkt na jasnym, najlepiej białym tle, bez znaków wodnych, logotypów sklepu i dopisków handlowych. Opis ma zawierać konkretne informacje o produkcie — bez linków do własnego sklepu, danych kontaktowych czy haseł reklamowych.
Warianty produktów i grupowanie ofert
Jeśli sprzedajesz produkty w wielu wariantach (rozmiar, kolor, pojemność), każdy wariant traktuj jako osobną ofertę <o> z własnym, unikalnym id oraz — jeśli warianty mają różne kody kreskowe — własnym EAN. Atrybut url powinien prowadzić dokładnie do danego wariantu, a nie do ogólnej strony produktu, żeby po kliknięciu klient trafił na konkretną pozycję z właściwą ceną i dostępnością. Rozbieżność między wariantem w feedzie a stroną docelową to częsty powód reklamacji i obniżenia jakości ofert.
Parametry różnicujące warianty przekazuj w sekcji <attrs> jako kolejne atrybuty <a name=”…”>, a nie jako dopiski w nazwie produktu. Dzięki temu Ceneo poprawnie dopasuje ofertę do karty, a filtry w porównywarce zadziałają na Twoją korzyść. Pole name utrzymuj czyste i zgodne z nazewnictwem katalogowym — bez rozmiaru, koloru czy haseł marketingowych wciśniętych w tytuł.
Jak zweryfikować feed przed wysyłką — lista kontrolna
Zanim podłączysz feed w panelu Ceneo, przejdź przez tę listę. Wychwycenie błędów na tym etapie oszczędza dni oczekiwania na ponowną moderację.
- Kodowanie i poprawność XML. Plik musi być w UTF-8, a struktura musi się poprawnie „domykać” (każdy znacznik zamknięty). Otwórz feed w przeglądarce lub walidatorze XML — jeśli plik się nie parsuje, Ceneo odrzuci całość.
- Adres feedu jest publiczny i stabilny. URL musi otwierać się bez logowania i nie może zwracać błędu 500/404. Sprawdź go w trybie incognito.
- EAN / kod producenta w każdej ofercie. Przejrzyj, czy pola nie są puste i mają poprawną liczbę cyfr (EAN: 8 lub 13).
- Ceny zgodne ze sklepem. Cena w feedzie musi być identyczna z ceną na stronie produktu — rozbieżności skutkują zawieszeniem oferty.
- Dostępność zgodna z rzeczywistością. Nie ustawiaj avail=”1″ dla produktów, których nie masz na stanie.
- Kategorie konkretne, nie marketingowe. Żadnych „Wyprzedaży” i „Nowości”.
- Zdjęcia działają i są czyste. Otwórz kilka URL-i zdjęć — muszą się ładować i nie mieć znaków wodnych.
- Unikalne id. Żadne dwie oferty nie mogą mieć tego samego id.
Jeśli nie jesteś w stanie samodzielnie przygotować pliku w wymaganym schemacie, Ceneo pozwala przesłać dowolny posiadany plik na adres wsparcia technicznego (wsparciesklepu@ceneo.pl) do sprawdzenia poprawności danych.
Najczęstsze przyczyny odrzucenia oferty na Ceneo
Według danych branżowych zdecydowana większość odrzuceń wynika z błędów w samej strukturze pliku i niezgodności ze schematem, a nie z „decyzji” moderatora. Poniżej najczęstsze przypadki i sposób naprawy.
| Problem | Skutek | Jak naprawić |
|---|---|---|
| Brak lub błędny EAN | Oferta nie zostaje dopasowana do karty produktu | Uzupełnij 8- lub 13-cyfrowy EAN w karcie każdego produktu |
| Brak producenta lub kodu producenta | Odrzucenie lub brak dopasowania | Wypełnij pola „Producent” i „Kod producenta” |
| Zbyt ogólna kategoria | Oferta nie trafia do właściwej kategorii | Zmapuj kategorię sklepu na konkretną kategorię Ceneo |
| Cena w feedzie inna niż na stronie | Zawieszenie oferty, spadek zaufania | Synchronizuj cenę automatycznie z jednego źródła |
| avail=”1″ przy braku towaru | Zwroty, reklamacje, ryzyko blokady sklepu | Trzymaj stany i dostępność w jednym, aktualnym źródle |
| Znaki wodne lub dopiski na zdjęciach | Odrzucenie zdjęcia | Użyj zdjęć na białym tle bez nakładek |
| Niedostępny adres feedu (login/500/404) | Brak aktualizacji lub całkowity brak ofert | Udostępnij feed publicznie i zadbaj o stabilność serwera |
| Nazwa z dopiskami handlowymi | Odrzucenie lub obniżenie jakości oferty | Usuń hasła typu „HIT”, „PROMOCJA” z pola name |
Aktualizacja feedu i utrzymanie jakości ofert
Podłączenie feedu to początek, nie koniec. Ceneo pobiera plik cyklicznie, więc każda rozbieżność między feedem a realnym stanem sklepu odbija się na jakości ofert i kosztach. Najczęstszy problem to nieaktualne ceny i stany — jeśli feed odświeża się rzadziej niż zmieniasz ceny, klient klika ofertę (za którą płacisz w modelu CPC), a w sklepie widzi inną cenę lub brak towaru.
Dlatego ceny i stany magazynowe warto trzymać w jednym źródle prawdy i synchronizować automatycznie zamiast edytować ręcznie w wielu miejscach. To ten sam mechanizm, który chroni przed oversellingiem przy sprzedaży wielokanałowej — im więcej kanałów (Ceneo, Allegro, własny sklep), tym większe ryzyko, że sprzedasz coś, czego już nie masz. Warto zaplanować synchronizację stanów magazynowych jako proces, a nie jednorazowe ustawienie, i tak dobrać częstotliwość odświeżania feedu, by odpowiadała tempu zmian w Twoim asortymencie.
W praktyce, gdy liczba kanałów rośnie, sensowne staje się scentralizowanie synchronizacji stanów w jednym panelu, który pilnuje spójności cen i dostępności między feedem Ceneo a resztą kanałów. Narzędzia klasy multichannel CRM — do których będzie należał także budowany Nimo — mają docelowo łączyć te źródła, żeby feed zawsze odzwierciedlał realny stan magazynu. Do tego czasu zasada jest prosta: jedno źródło danych o cenie i stanie, a feed generowany na jego podstawie.
Najczęstsze pytania
Czy do integracji z Ceneo muszę ręcznie pisać plik XML?
Nie. W praktyce feed generuje oprogramowanie sklepu lub wtyczka — Ty tylko włączasz moduł Ceneo, uzupełniasz dane produktów (EAN, producent, kategorie) i przekazujesz gotowy adres URL do panelu Ceneo. Ręczna edycja XML jest potrzebna tylko w nietypowych, niestandardowych konfiguracjach.
Dlaczego moje produkty nie pojawiają się na Ceneo mimo poprawnego feedu?
Najczęściej powodem jest brak EAN lub kodu producenta (brak dopasowania do karty produktu), zbyt ogólna kategoria albo niedostępny publicznie adres feedu. Sprawdź raport walidacji w panelu Ceneo — pokazuje liczbę ofert odrzuconych wraz z przyczyną. Uwzględnij też czas na moderację po stronie porównywarki.
Jakie wartości może przyjmować pole avail (dostępność)?
To liczby oznaczające czas wysyłki — m.in. 1 (dostępny od ręki / do 24h), 3, 7, 14 dni oraz wartości specjalne dla braku informacji o dostępności. Dokładną, aktualną listę dopuszczalnych wartości znajdziesz w oficjalnej specyfikacji Ceneo — traktuj konkretne liczby jako orientacyjne i weryfikuj u źródła.
Ile kosztuje obecność w Ceneo?
Ceneo rozlicza sklepy zwykle w modelu CPC — płacisz za kliknięcie prowadzące do Twojego sklepu. Koszt zależy od kategorii i wynosi orientacyjnie od ok. 0,39 zł do 1,03 zł za kliknięcie, w modelu przedpłaconym. Aktualne stawki i minimalne kwoty zasilenia sprawdź w cenniku Ceneo, bo mogą się zmieniać.
Jak często Ceneo pobiera mój feed?
Feed pobierany jest cyklicznie, a częstotliwość zależy od ustawień i platformy. Kluczowe jest, by feed odświeżał się nie rzadziej niż zmieniają się Twoje ceny i stany — inaczej klient (za którego kliknięcie płacisz) trafi na nieaktualną ofertę. Przy dużej rotacji asortymentu warto zadbać o możliwie częstą lub dynamiczną aktualizację pliku.
Czytaj dalej
Buduj Nimo razem z nami
Zapisz się na listę oczekujących i przejdź na Nimo jako jeden z pierwszych, gdy ruszy wczesny dostęp.
Bonus dla pierwszych użytkowników z listy