Skip to content
leDénicheur
Price comparison

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.

01 · ShopifyProduct in the catalog
Linen shirt SandNordlin · Men's shirtsSKU-2048 · S–XL
Price
49 €
In stock
0 pcs
When out of stock
02 · ledenicheur.xmlUpdated just now
<item>
<g:id>SKU-2048</g:id>
<g:item_group_id>8236409175213</g:item_group_id>
<g:title><![CDATA[Linen shirt 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>out_of_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>
Category mapping

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.

Full category path in the feed
One mapping per product type
Override per individual product
Shopify typeproducts
Channel category
Pánské košile
Catalog coverage79 %
−20% off compare-at
Productg:price (regular)g:sale_​price
Linen shirt Sand49.00 €39.20 €
Mug Fjord 350 ml15.00 €12.00 €
Backpack Ridge 28 l75.00 €60.00 €
Soy candle Les14.00 €11.20 €
Wool scarf Fjell29.00 €23.20 €
36.40 €saved across these products
5 / 5products with an active g:sale_price
Sale prices

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.

Feed health

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.

Feed quality · ledenicheur.xml
71 / 100
To review: 4
Title without the manufacturer on 9 offersThe title is the single most important attribute for indexing, and the spec asks for the manufacturer name alongside the product name: “Nordlin Chemise en lin Sand”, not just “Chemise en lin Sand”.
Price not in “NN.NN EUR” form on 6 offersg:price is required and must be a dot-decimal number, a space and an uppercase ISO code, VAT included. A missing or invalid price drops the whole offer.
No g:is_bundle on 12 offersOptional everywhere else, is_bundle is required for products sold on the French market: one of false, no, true, yes. A plain product is not a custom bundle, so the default is false.
Availability written “in stock” on 5 offersg:availability is a closed underscored enum: in_stock, out_of_stock, preorder, backorder, download. The Google spelling with a space is an invalid value, and the offer is omitted.

Setup

Live in five steps

From a bare Shopify store to a listed offer: the whole setup fits into one coffee break.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

ledenicheur.xml
<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>
Live preview
Linen shirt Sand

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

01

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.

02

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.

03

Shipping in the feed, and never merged

  • One <g:shipping> entry per delivery service: country FR, the service name, price as “NN.NN EUR” including VAT; 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.

04

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-8 XML file on one URL, 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.

feedflock · mcp

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

Through business.ledenicheur.fr: leave your e-mail in the form, and the team comes back with a digital contract for your company's legal representative. Once the contract is signed and your product data validated, your clickable offers appear on leDénicheur within two to three hours. Pricing is cost per click, with rates that vary by category, no startup fee and no monthly subscription.
Because the specification says so, for France alone. The shipping page notes it is “required for all products sold on French market”, and is_bundle is “optional in most countries, but required for products sold on French market.” Every other site of the network may omit both; a French offer may not. The template therefore emits is_bundle (default false) and one <g:shipping> entry per configured delivery service.
Yes, empty the delivery list in the feed settings. Shipping from the feed and from Business Center is never merged: an offer with at least one valid feed entry ignores your Business Center shipping configuration completely. Feed-side free delivery is a 0 price; free-above-an-order-value rules only exist in Business Center, where they are recalculated against the offer's current selling price.
A number, a space and an uppercase ISO 4217 code: “49.00 EUR”. At most two decimals with a dot separator, VAT included, no thousands separator, and zero is rejected. Shipping is never folded into the price. Feedflock's priceTemplate writes exactly this from your Shopify prices.
They stay in the feed, marked out_of_stock, one of the five underscored availability values. What you may not do is use out_of_stock to hide a product or to retire a discontinued one; that is what feed filters are for. leDénicheur treats availability as a stock state, not a delete switch.
Indexing runs on the title, helped by GTIN, MPN and brand. The usual causes are a title without the manufacturer name, a missing or malformed GTIN (exactly 8, 12, 13 or 14 digits, correct check digit), or no Google category. When you know the exact leDénicheur product, a pj:prisjakt_id metafield pins the match directly.

Get on every marketplace that matters this afternoon.

Install free, connect your first feed in minutes, and let Feedflock keep it fresh and validated.

.myshopify.com