PriceRunner is a price comparison site: a shopper opens one product page and sees what every listed shop charges for it. It runs its own sites in the UK, Sweden and Denmark, and it has been owned by Klarna since 2022. Getting your shop onto those product pages starts with a product feed — and whether your shop is listed at all is PriceRunner's decision, not something a feed makes true.
The PriceRunner feed channel type builds that feed: a channel whose columns follow PriceRunner's own product-feed documentation, using PriceRunner's own column names.
What setup does — and doesn't — get you#
Being straight about this matters more than the setup steps, because the first three decide whether the feed does anything at all:
- Creating this channel prepares a feed. It does not sign you up. PriceRunner has no self-serve signup form: you email its retail team, and they set the shop up with you. Listing is possible without being a paying customer — but PriceRunner says its customers get almost all of the traffic from shoppers ready to buy, and becoming a customer means a cost-per-click agreement: you set a monthly budget and pay for each click. Renable can't do any of that for you, and "the feed published" never means "my products are on PriceRunner".
- PriceRunner doesn't run a Norwegian site. Its merchant markets are the UK, Sweden and Denmark. Norway is served through the Klarna app and through Prisguiden, which PriceRunner acquired — neither of which takes a feed submitted here. If Norway is what you need, this is the wrong door. Whether the three markets share one feed or want one each isn't documented, so ask your PriceRunner contact before building the second channel rather than guessing. [VERIFY: whether PriceRunner accepts a single feed covering the UK, Sweden and Denmark.]
- Missing data costs money here — it doesn't get you rejected. This is the unusual part of PriceRunner, and it is worth understanding before you look at any field list. PriceRunner matches most offers onto an existing product page using the barcode (the EAN, or an ISBN for books). When it can't match on the barcode, and the other details it names — product name, description, image URL, stock status, manufacturer — are missing too, PriceRunner matches your offer by hand and charges extra per click for the work — £0.06 on its UK price list, with Sweden and Denmark publishing their own figure in local currency. So "how many of my products will show up?" is really a barcode-coverage question, and the answer is on your channel's Fields tab as the fill rate on the
Eanrow. Nobody can give you a percentage in advance, and Renable won't invent one. Filling the gaps is the highest-value work you can do for this channel — see Add missing GTINs, brands, and identifiers. - A PriceRunner listing is not an ad. That's not a hedge, it's what the surface is: a comparison row is your shop name, your price and a link, drawn from your product data. Renable treats it that way: your Studio ad templates don't ride this channel, and nothing in the product describes a PriceRunner listing as an ad. (The project page's healthy-state line says your products are shipping to their destinations, so a live PriceRunner channel does appear there — that sentence is about the feed being delivered, which is exactly what's true here.) What carries here is the product photo, so the image work still pays off: a clean, well-cropped, background-removed picture reads far better in a comparison grid than a busy one.
- PriceRunner also appears inside the Klarna app in other countries — but nothing PriceRunner publishes says whether a feed submitted to the UK, Swedish or Danish site follows it there, so treat that as a question for PriceRunner rather than as extra reach you already have. [VERIFY: whether a merchant feed submitted to PriceRunner surfaces in Klarna's other markets.]
How long a change takes to show up#
This comes up on every price comparison, and on PriceRunner the answer is a range rather than a time:
- PriceRunner imports your feed one to four times a day. How often depends on how much work collecting your data is.
- A price change on a product that is already listed appears after the next import. There is no faster route from Renable's side; publishing the channel updates the feed URL immediately, and PriceRunner reads it when it reads it.
- A brand-new product can take up to 24 hours to appear, and longer if it's the first product you've sent in that category.
- The schedule is negotiable — with PriceRunner, not with Renable. They will schedule imports at times that suit you, or run one on demand, if you ask them.
There is no nightly collection window to deploy before, whatever older third-party guides say, so there's nothing to time your publishes around.
Creating the channel#
From a project's Channels section, create a channel and pick the PriceRunner feed type. It seeds:
- PriceRunner's own columns, under PriceRunner's own names —
ProductId,ProductName,Price,Url,StockStatus, thenEan,Description,ImageUrl,Brand,Category,Msku,ConditionandGroupId— bound to your product data. PriceRunner says column titles don't matter as long as they're understandable, but matching the example feed in its own documentation makes any support conversation shorter. If you built the channel from a Google-shaped feed instead, Renable accepts the Google spelling of each of those columns too, so nothing is flagged as missing. - One price column, holding the price a shopper actually pays. PriceRunner documents a single price field and never calls it a "before discount" price, so this channel sends the selling price, VAT included, with the currency inside the value —
549.00 GBP. There is no separate currency column to map, and no sale-price column: on a comparison site the number that matters is the one you charge today. One thing to know before you edit that column — the product data source it binds is called Sale price in Renable, which is the current selling price. The source called Price is the regular, pre-discount one, and rebinding to it would list your products above what you actually charge. - One starter rule — stock status drops to
out of stockwhen a product's stock hits zero or its content is incomplete. - No custom label columns. Custom labels exist to segment ad campaigns, and a price comparison has no campaigns to segment. You can still add them from the Fields tab if you want them for your own bookkeeping.
On the Settings tab, the Used for card shows the channel declared for PriceRunner with its always-on Price comparison listings use — that's what switches on the field checks. PriceRunner has no add-ons at all, for the same reason Prisjakt has none: a price comparison builds a listing row out of product data rather than a creative, so there is no ad format for an extra chip to describe. There's no Used as choice either — a PriceRunner feed is always the Main feed.
The file format is preset to TSV, and this is the one channel type where that's not a preference. PriceRunner does accept XML — but its XML is a different document from the one Renable writes (PriceRunner's own example uses <Products>/<Product> elements, not the Google Merchant RSS format), so Merchant XML would produce a file its importer can't read. Of the formats it does read, tab-separated is the safest: PriceRunner's own example feed is tab-separated, and its guidance for comma-separated files asks for a quote character that may never appear inside a field — awkward for descriptions with quotation marks in them. CSV and JSON are both accepted if you prefer one of those; Renable won't warn about either.
Two fields PriceRunner asks for that Renable can't fill. Its documentation names shipping cost and delivery time among the basics, and Renable doesn't hold either — there's no shipping figure in your product data to bind. If your own product feed carries them, add the columns yourself on the Fields tab and map them; if it doesn't, you're not missing a Renable feature. Neither is named in the fee clause above.
Compression is fine here — but switch it before you hand over the URL. PriceRunner asks merchants to compress the feed with gzip to make its imports faster, so the Compress feed file (.gz) switch on the Settings tab is safe to turn on. Turning it on changes the feed address, though (it gains a .gz on the end), so do it before you give PriceRunner the URL — see Keep the URL stable below. The channel type ships it off, only because a plain .tsv is easier to open and check while you're still setting the feed up.
Delivering the feed#
PriceRunner fetches your feed URL. You give the URL to PriceRunner's retail team when they set your shop up, and Renable keeps that same address up to date from then on. See Connecting a channel to Meta, Google, or TikTok for where to find the URL.
A few details worth knowing:
- Renable can't push to PriceRunner. PriceRunner takes a hosted HTTPS address or a plain FTP server — both of which mean PriceRunner fetching from you, not Renable delivering to them — so the channel's SFTP delivery section isn't the answer here. The hosted URL is, and it's the route that stays current without anyone touching it.
- Keep the URL stable. PriceRunner warns that a feed address that changes — a timestamp in it, for instance — makes your products disappear. Renable's feed URL only changes if you change the file format or the compression switch, so avoid doing that once PriceRunner is reading it.
- Don't change a product's ID once it's live. PriceRunner keys a product's accrued click popularity to the ID you send. A product sent under a new ID starts over as a new product for them, which is worth knowing before any catalog migration.
Checking the output#
- Preview tab → Source view shows the exact file content per product.
- The Fields tab marks the five fields Renable treats as required —
ProductId,ProductName,Price,UrlandStockStatus— and their fill rates from the latest render. That's a shorter list than PriceRunner's own "minimum requirements" heading, deliberately: PriceRunner never rejects an offer for a missing field, it charges for matching it by hand, so everything it prices rather than requires is marked recommended here. Watch the fill rate onEanfirst — that's the one with a number attached. - Descriptions get flagged for length, and that's expected at first. PriceRunner reads at most 30 words of a description and uses it for search and filtering. Renable's generated descriptions are usually longer, so a new PriceRunner channel will report that its descriptions run over. Be aware of what that means on the rest of the app: it is a warning, so the channel's status light turns amber and the project reads Needs attention until you deal with it. The fix is to shorten the descriptions or point the column at a shorter source on the Fields tab — nothing clears it on its own, because nothing about the channel is broken.
- Stock status accepts more than the usual values.
in stockandout of stockare what this channel writes, but PriceRunner also readsYes/No,preorder,backorder,collect_in_store— or simply the number of units you have.FewandN/Aare not read. A product nobody can buy or order at all should be left out of the feed rather than sent as out of stock. - Category is your own path, not Google's taxonomy. PriceRunner wants a breadcrumb with a space either side of each
>—Clothing > Mens > Pants > Jeans— one path per product, with men's and women's versions in different paths. - Render results and warnings show on the Activity tab — see Channel events and troubleshooting.