
leDénicheur feed for Shopify
leDénicheur.fr is the French storefront of Prisjakt / PriceSpy, the Schibsted price-comparison network. One specification, one vocabulary and one required set serve every site from prisjakt.nu to pricespy.co.uk; only the currency, language and market differ. And France differs a little more: it is the one market where shipping and the bundle flag are required in the feed itself. Feedflock renders your Shopify catalog on a template written against the developer portal's own field pages and regenerates the file on your schedule, as often as every hour, on a stable public URL.

Your product types. The channel's categories.
The channel files offers under its own category tree. Feedflock suggests a category for each Shopify product type and you just confirm. One mapping covers every product of that type, including products you add later.
A sale offer is two prices, never one.
While a product is on sale, g:price carries the regular price and g:sale_price the discounted one, which must always be lower or the value is dropped. Feedflock derives both from Shopify's compare-at price, so the pair can never invert. And if you schedule the sale with g:sale_price_effective_date, both ends must fall within one year of today, or the sale price silently leaves the listing.
Catch feed issues before leDénicheur 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.
Setup
Live in five steps
From a bare Shopify store to a listed offer: the whole setup fits into one coffee break.
Sign up through business.ledenicheur.fr
leDénicheur has its own French merchant entry: a short form, a digital contract for your company's legal representative, and a French price grid. Once the contract is signed and your product data validated, your clickable offers appear on leDénicheur within two to three hours.
Install Feedflock
Add Feedflock from the Shopify App Store. It reads your products, variants, stock and images directly through the Shopify API, and with Shopify Markets, your euro prices and French translations too.
Pick the leDénicheur template
One <item> per variant with the six required fields mapped from the start (SKU as g:id, brand + product name as g:title, the price as “49.00 EUR”, a variant deep link, the underscored availability enum, condition new), plus France's two: g:is_bundle and a <g:shipping> entry per delivery service.
Map categories and check identifiers
Match your product types to the Google product taxonomy: leDénicheur has no tree of its own, and the numeric Google id is the preferred form. Fill GTIN and MPN; together with the title they are what indexes your offer onto the right product page.
Paste the feed URL
Copy the hosted URL into leDénicheur Business Center, the French-branded portal where the validation report lives. Feedflock regenerates the file every hour on the same address, so each read sees current prices and stock.
https://feedflock.appfleece.com/f/demo-ledenicheur/ledenicheur.xml
The feed
What the channel receives
<item> <g:id>SKU-2048</g:id> <g:item_group_id>8236409175213</g:item_group_id> <g:title><![CDATA[Nordlin Chemise en lin Sand]]></g:title> <g:description><![CDATA[Chemise en lin légère à coupe décontractée, lin tissé doux, col court et poche poitrine.]]></g:description> <g:link><![CDATA[https://shop.example/products/chemise-en-lin-sand?variant=44718293450817]]></g:link> <g:image_link><![CDATA[https://cdn.shop.example/img/linen-shirt-sand.jpg]]></g:image_link> <g:price>49.00 EUR</g:price> <g:availability>in_stock</g:availability> <g:condition>new</g:condition> <g:brand>Nordlin</g:brand> <g:gtin>8594000123453</g:gtin> <g:mpn>SKU-2048</g:mpn> <g:google_product_category><![CDATA[Apparel & Accessories > Clothing > Shirts & Tops]]></g:google_product_category> <g:size>M</g:size> <g:size_system>eu</g:size_system> <g:shipping_weight>0.30 kg</g:shipping_weight> <g:is_bundle>false</g:is_bundle> <g:shipping><g:country>FR</g:country><g:service>Standard</g:service><g:price>4.99 EUR</g:price></g:shipping> </item>

Nordlin
Linen shirt Sand
49 €
Feed fields
g:id
SKU-2048
g:item_group_id
8236409175213
g:title
Nordlin Chemise en lin Sand
g:description
Chemise en lin légère à coupe décontractée, lin tissé doux, col court et poche poitrine.
g:link
https://shop.example/products/chemise-en-lin-sand?variant=44718293450817
g:price
49.00 EUR
g:availability
in_stock
g:condition
new
g:brand
Nordlin
g:gtin
8594000123453
g:mpn
SKU-2048
g:google_product_category
Apparel & Accessories > Clothing > Shirts & Tops
g:size
M
g:size_system
eu
g:shipping_weight
0.30 kg
g:is_bundle
false
g:country
FR
g:service
Standard
g:price
4.99 EUR
The channel
France's door onto a thirteen-site network
leDénicheur is the same product as prisjakt.nu and pricespy.co.uk; one specification covers every site of the network. What you get here is the French market: French-speaking shoppers, euro prices and a French merchant portal.
Indexing runs on the title
leDénicheur indexes your offer by its title, helped by GTIN, MPN and brand, and a pj:prisjakt_id from a metafield overrides everything when you already know the product match. Get these right and your offer lands on the product page your competitors share.
Paid per click, nothing else
The network's pricing is cost per click: you pay only for the clicks your offers generate, with rates that vary by product category. No startup fee, no monthly subscription, and a single day's notice.
The feed
- A template written against the developer portal's own field pages: the g: vocabulary for shared fields, the pj: namespace for prisjakt_id and member_price, CDATA on free text and the version 3.0 root
- The six required fields mapped from the start: SKU as a permanent g:id, brand + product name as g:title, the price as “49.00 EUR”, a variant deep link, the underscored availability enum and condition new
- France's two extras built in: g:is_bundle defaults to the spec's own false, and every configured delivery service renders as a nested <g:shipping> entry (country FR, service name, price “NN.NN EUR” incl. VAT)
- The title defaults to the spec's own indexing form, manufacturer + product name, with title + variant a one-click switch where sizes and colours need separate offers
- Sale offers carry the compare-at price in g:price and the current price in g:sale_price, derived from Shopify, so the pair can never invert and the sale price never exceeds the regular one
- The price format, the five availability values, the GTIN lengths and the size_system rule are checked live while you edit mappings, before leDénicheur's validation report ever sees the file
- Every variant its own <item> grouped by g:item_group_id, the variant weight as g:shipping_weight, and an hourly regeneration on a stable URL that leDénicheur polls
Deep dive
A French front door onto the Prisjakt network
- Same brand, same product: ledenicheur.fr serves the network's shared assets, embeds the same thirteen-site switcher and declares the Prisjakt mobile apps in its manifest
- Its own French merchant entry: business.ledenicheur.fr, a French sign-up route and price grid, with support still at support@prisjakt.nu
- Four steps: the form, a digital contract, product-data validation, and clickable offers live within two to three hours
- The portal is leDénicheur Business Center, the French-branded face of the same Business Center the whole network uses
Technical details
leDénicheur.fr is not a partner or a reseller. It is Prisjakt itself in French. The site serves its images from the network's shared asset pipeline, its footer links Prisjakt's investor relations, its manifest names the Prisjakt apps, and its sign-up route lands on Prisjakt's own servers. The spec says it plainly: “PriceSpy” is a placeholder for your local site, ledenicheur.fr included.
What is genuinely French is the merchant entry. business.ledenicheur.fr runs a four-step onboarding in French: you leave an e-mail, sign a digital contract, and once your product data is validated your clickable offers appear within two to three hours. Day-to-day management happens in leDénicheur Business Center, the French-branded portal where you register the feed URL and read the validation report.
France is the one market the spec treats differently
- g:shipping: “shipping is required for all products sold on French market”
- g:is_bundle: “optional in most countries, but required for products sold on French market”
- Both pages still head themselves “Optional Field”; the French sentence is the exception printed underneath
- The template is the French market by construction, so it emits both, the only vocabulary divergence in the family
Technical details
Across the whole network the required set is exactly six fields: id, title, price, link, availability and condition. France adds two more. The shipping and is_bundle field pages both carry the same French exception, so an offer sold on the French market must say whether it is a custom bundle and must carry at least one valid shipping entry.
The template takes both off your plate. g:is_bundle defaults to false, the spec's own value for a product that is not a custom bundle (a phone with a subscription would be true; a manufacturer's gift set would not). And shipping renders as one nested <g:shipping> block per delivery service you configure, with country, service and a VAT-included price.
Shipping in the feed, and never merged
- One <g:shipping> entry per delivery service: country FR, the service name, price as “NN.NN
EUR” includingVAT; 0 means free delivery - Feed entries and Business Center services are never combined: one valid feed entry switches off Business Center shipping for that offer
- country and price are required in every entry; an error in either discards the entry, not the offer
- The four delivery-time sub-attributes are omitted deliberately: they are all-or-nothing, and Shopify has none of them
Technical details
On the other Prisjakt sites the recommended setup sends no shipping at all and lets Business Center own it; that is where free-above-an-order-value rules live. France cannot make that choice, because shipping is required. So the template emits one entry per configured delivery service: country FR, the service name and the price including VAT, with 0 for free delivery. Up to a hundred entries per offer are allowed.
The merge rule still applies, and it cuts both ways: an offer with at least one valid feed entry is shipped by the feed alone, and Business Center's configuration is ignored for it. If you would rather keep free-above-X rules in Business Center, empty the delivery list. A half-filled feed entry is never completed from Business Center. g:shipping_weight is sent either way, because a service with a weight condition can only match an offer whose weight is known.
Silent omission, and the safeguards on the way in
- A missing required field omits the whole offer; an invalid optional value is silently dropped and only shows up in the validation report
- Nothing is ever truncated: an over-long or malformed value loses the field entirely
- One
UTF-8XMLfile on oneURL, read periodically on a schedule that depends on your agreement - Dropping more than the safeguard share of offers (30% by default) aborts the whole import instead of shrinking the listing
Technical details
What makes this network unforgiving is the failure mode. An invalid optional value is not rejected or corrected; it is omitted, the offer goes live without it, and the only place you ever see it is the validation report in Business Center. Nothing is truncated, so an over-long title or a malformed price loses the field entirely. Feedflock checks the declared formats live while you edit mappings, so the report has nothing to surprise you with.
Two ingestion protections are worth knowing. A feed that stays unreachable or empty over an extended period is automatically disabled until someone re-enables it. And a safeguard aborts any import that would remove more than 30% of your offers by default: a filter change that drops a third of the catalog shrinks nothing; it stops the whole run. Feedflock hosts the file on a stable URL and regenerates it every hour, so every read sees data at most an hour old.
The takeaway
One URL, an hourly refresh and an XML offer that follows the Prisjakt field pages element for element: the required six always present, France's shipping and is_bundle built in, the optional ones checked before the validation report ever sees them. Your Shopify catalog stays the single source of truth for your French listing.
Claude · ChatGPT
Or set up your leDénicheur feed in chat
Connect Feedflock to Claude or ChatGPT and ask. It creates the feed as a draft, maps your categories to leDénicheur's own tree and tells you what is still missing. You approve every change.
Create a leDénicheur 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.