
Cenueksperts.lv feed for Shopify
Cenueksperts.lv is the Latvian storefront of the international price-comparison group behind guenstiger.de, Preissuchmaschine.de and ÁrGép.hu, with more than 25 years of comparison experience, on visibly the same software. It publishes no field table of its own: its merchant FAQ answers the one format question by pointing at the group's XML sample, thirteen item_* elements under a DataFeeds root. The application form takes your feed URL, data is refreshed at least every hour, and you pay per result. Feedflock renders your Shopify catalog as exactly that XML and hosts it on the URL you hand over.

Setup
Live in five steps
From a bare Shopify store to a listed offer: the whole setup fits into one coffee break.
Apply at Cenueksperts.lv
The application form at w.cenueksperts.lv/pievienot-veikalu ends with the field for your product-list URL (a CSV or XML data export). A human follows up: “we will start processing your data shortly and will contact you if anything is unclear”.
Install Feedflock
Add Feedflock from the Shopify App Store. It reads your products, variants, prices and images directly through the Shopify API.
Pick the Cenueksperts.lv template
item_name, item_price and item_page_url are mapped from the start, one <item_data> per variant. item_unique_id fills from the SKU, item_manufacturer from the vendor, item_upc from the barcode.
Check condition and shipping
item_condition defaults to New, as the Latvian terms publish new goods only. item_shipping_charge stays empty until you enter your real rate: across this group, “0” declares free shipping on every offer.
Hand over the feed URL
Paste the hosted URL into the application form. Cenueksperts states data is refreshed at least once an hour (the only interval any site in the group publishes), and Feedflock regenerates the file every hour on the same address.
https://feedflock.appfleece.com/f/demo-cenueksperts/cenueksperts.xml
Catch feed issues before Cenu Eksperts does.
Before every generation Feedflock checks that every field the channel requires is filled, and, on templates verified against the channel's own spec, that the values fit its rules. Most problems are fixed with one click, without editing products in Shopify.
The feed
What the channel receives
<item_data> <item_unique_id>SKU-2048</item_unique_id> <item_mpn>NL-2048-M</item_mpn> <item_manufacturer>Nordlin</item_manufacturer> <item_name>Linen shirt Sand M</item_name> <item_category>Men's shirts</item_category> <item_short_desc>A breathable linen shirt in a regular cut, made from washed linen.</item_short_desc> <item_page_url>https://shop.example/products/linen-shirt-sand?variant=44718293450817</item_page_url> <item_image_url>https://cdn.shop.example/img/linen-shirt-sand.jpg</item_image_url> <item_upc>8594000123453</item_upc> <item_price>49.00</item_price> <item_inventory>AVAILABLE</item_inventory> <item_condition>New</item_condition> <item_shipping_charge>5</item_shipping_charge> </item_data>

Nordlin
Linen shirt Sand
49 €
Feed fields
item_unique_id
SKU-2048
item_mpn
NL-2048-M
item_manufacturer
Nordlin
item_name
Linen shirt Sand M
item_category
Men's shirts
item_short_desc
A breathable linen shirt in a regular cut, made from washed linen.
item_page_url
https://shop.example/products/linen-shirt-sand?variant=44718293450817
item_upc
8594000123453
item_price
49.00
item_inventory
AVAILABLE
item_condition
New
item_shipping_charge
5
The channel
The group behind guenstiger.de
Cenueksperts says it on its own about page: part of an international price-comparison group with more than 25 years of experience, alongside guenstiger.de, Preissuchmaschine.de and ÁrGép.hu. The storefront is the same software, run for Latvia by AS “Business Media”.
The only hourly promise in the group
“Dati tiek atjaunoti vismaz reizi stundā”: data is refreshed at least once an hour. No other site in the group publishes an interval; here your price changes surface within the hour, not at some unstated cadence.
Pay per result, filtered traffic
Billing is post-paid: you pay only for the result. Clicks from outside the Baltics and duplicates are filtered out, and a monthly cap keeps the invoice predictable.
The feed
- A template built from the XML sample Cenueksperts itself points at: the DataFeeds root, the thirteen item_* elements in the sample's order, entity-escaped values exactly like the sample: no CDATA, no invented elements
- One <item_data> per variant, with item_page_url deep-linking the variant, so every size and colour stays a distinct, directly buyable offer
- item_name keeps the brand out and appends the variant: across the group the manufacturer is displayed in front of the name automatically, so a brand inside the name would print twice
- Gross EUR prices with a dot decimal and no currency symbol: the sample's own “999.99” form, confirmed by the Latvian terms: every published price includes PVN
- item_condition defaults to New, because the terms publish new goods only: no used, display, B-grade or second-hand stock
- item_inventory sends AVAILABLE (the only token the sample documents) and omits the element for a sold-out variant instead of inventing a second value
- item_shipping_charge stays empty until you enter your real rate: across this group “0” in the shipping column means free shipping on every offer
- The readiness check lists gaps in the four elements the template requires (id, name, price, URL) without pretending to enforce limits Cenueksperts has never published
Deep dive
An XML sample instead of a spec
- Cenueksperts publishes no field table: no requirement levels, no limits, no enumerations, no error page
- Its merchant
FAQanswers the one format question by linking the group's own productfileexample.xml - Root <DataFeeds>, one <item_data> per offer, thirteen item_* children, no namespace
- The sample uses no
CDATA(it entity-escapes an “&” in a category), so the export entity-escapes too
Technical details
Most comparison sites hand you a specification. Cenueksperts hands you a file: its entire merchant documentation on formats is one FAQ question, answered by a link to productfileexample.xml on the guenstiger.de CDN: the German sibling's own XML-Vorlage. That sample is the whole vocabulary: a DataFeeds root, one item_data element per offer and thirteen item_* children, from item_unique_id to item_shipping_charge, with no namespace.
Feedflock's template carries the sample's names in the sample's order and nothing else. The sample wraps no value in CDATA (it entity-escapes an ampersand inside a category path), so the export entity-escapes too. And because both the German and the Latvian template watch the same file, a change to the sample moves both.
What is required, and what is not stated
- Cenueksperts states no required set; the template requires item_name, item_price and item_page_url by inference
- Those three are the only unconditionally required columns in
BOTHof the group's published field tables: guenstiger.de's GermanPDFand ÁrGép's Hungarian one - item_unique_id is required for the same reason as guenstiger's Bestellnummer: a per-variant export needs a stable row id
- None of the German limits (id 50, URLs 2000, name 500) are copied across, as nothing states they hold for Latvia
Technical details
Because Cenueksperts publishes no requirement levels, the template's required set is an openly named inference: the product name, the gross price and the product URL are the only columns the group's two published field tables (guenstiger.de's German PDF and ÁrGép's Hungarian translation of it) both mark as unconditionally required. item_unique_id is required on top, ours this time, on the same reasoning as guenstiger's Bestellnummer: a per-variant export needs a stable row id, and the German instructions warn that without one the import “can run into problems”.
Just as deliberately, the German PDF's per-field limits were not copied into the Latvian template: an id of 50 characters, URLs of 2000, a name of 500 are the German site's numbers, and nothing says they hold in Latvia. That is also why the template carries no specVerified flag: the readiness check lists missing data, it does not block your feed on limits nobody published.
Gross euro prices, new goods, one stock word
- item_price is the gross price in
EUR, dot decimal, no currency symbol; the sample writes “999.99” - The Latvian terms confirm the direction: every published price includes the statutory
PVN - The terms also publish new goods only (no used, display, B-grade or second-hand items), so item_condition defaults to New
- item_inventory knows one word:
AVAILABLE, the sample's only value, omitted entirely for a sold-out variant
Technical details
Latvia is euro, so unlike ÁrGép there is no currency conversion between the group's sites: item_price is your Shopify price as is, gross, with a dot decimal and no currency symbol, exactly the sample's “999.99”. The direction is not a guess: the Latvian terms state that all published prices include the statutory value-added tax, and there is no net-price or VAT-rate element in this format.
The same terms answer two more fields. The site publishes prices of new goods only (explicitly no used, display, fair, B-grade or similar items), so item_condition defaults to the sample's “New”, with “Refurbished” existing in the sample for completeness. And item_inventory shows exactly one token across the whole sample: AVAILABLE. No second value is documented anywhere, so the template sends AVAILABLE for a sellable variant and omits the element for a sold-out one rather than inventing an OUT_OF_STOCK of its own.
Shipping, billing and the hourly loop
- item_shipping_charge is one amount per offer: the sample writes a bare “5”; no carrier, no country, no cash on delivery
- The default is empty: across this group “0” in the shipping column means free shipping on every offer
- Billing is post-paid: you pay per result, clicks outside the Baltics and duplicates are filtered, a monthly cap applies
- “Dati tiek atjaunoti vismaz reizi stundā”: data refreshed at least hourly, the only interval any site in the group publishes
Technical details
Shipping in this format is one number per offer: item_shipping_charge, written as a bare amount like the sample's “5”, with no carrier element, no country, no cash-on-delivery price and no free-above threshold. Shopify has no per-product shipping price, so the template ships the element empty. A “0” would not mean “unknown”: across this group it declares free shipping on every offer, a claim you should only make deliberately. A merchant with one flat rate types it; a Liquid rule on the variant price can still express “free from 50 €” per offer.
The commercial side is stated more plainly than anywhere else in the group. The application form's last field takes your product-list URL, a human follow-up is promised before processing starts, and billing is post-paid per result, with clicks from outside the Baltics and duplicates filtered out and a monthly cap on the invoice. Once listed, your data is refreshed at least once an hour; Feedflock regenerates the file every hour on the same URL, so the two loops line up.
The takeaway
One URL, an hourly refresh on both sides, and the exact XML the group itself publishes as the sample: gross euro prices, new goods, one honest stock word. Your Shopify catalog stays the single source of truth for Latvia too.
Claude · ChatGPT
Or set up your Cenu Eksperts feed in chat
Connect Feedflock to Claude or ChatGPT and ask. It creates the feed as a draft, maps your categories to Cenu Eksperts's own tree and tells you what is still missing. You approve every change.
Create a Cenu Eksperts feed for my store and map my categories.
I'll create it as a draft and show you each change before I make it.
FAQ
Get on every marketplace that matters this afternoon.
Install free, connect your first feed in minutes, and let Feedflock keep it fresh and validated.