Skip to content
feedlab Request early access

Shopify field mapping

Shopify Markets to multi-currency feeds

market.webPresence + priceList price link

Selling into several markets means one feed per market, not one feed with several currencies. Each needs its own prices, its own currency, its own product URLs and its own tax treatment, and all four come from the market configuration rather than from the product.

The Shopify side

API field
market.webPresence + priceList
Called
Markets, with their domains and price lists
Found at
Settings → Markets, where each market has its own domain or path, currency and price adjustments
Feeds
price link

Before and after

Real values on the left as Shopify stores them, on the right as a channel needs them.

Example transformations for Shopify Markets to multi-currency feeds
In Shopify In the feed Note
UK market, price 49.00 price 49.00 GBP, link example.com The primary market feed.
DE market, price list 56.00 price 56.00 EUR, link example.de The market price, not a conversion of 49.00.
DE market, VAT inclusive 56.00 EUR including VAT Tax treatment follows the market, not the store.
US market, tax excluded price 59.00 USD, tax handled separately The opposite convention from the same product.
product not available in DE (excluded from the German feed) Market catalogue restrictions have to reach the feed.

The transformation, step by step

  1. Generate one feed per market, not one feed for all of them

    Every channel documented here expects a feed to describe one market. A single file carrying several currencies is not a supported shape anywhere, and the channel will read one of them and be wrong about the rest.

  2. Read the market price rather than converting

    A market can have a price list with its own prices, percentage adjustments and rounding rules. Converting the store price at a live rate produces a number the storefront does not charge, which is a landing-page mismatch on every row.

  3. Build URLs from the market's own domain or path

    Markets are served on their own domain or a path prefix. Sending the primary domain to every market means shoppers are redirected, or worse, arrive on a page priced in a currency they cannot pay in.

  4. Apply the market's tax convention

    Whether the submitted price includes tax is a property of the market. One catalogue therefore produces a VAT-inclusive German feed and a tax-exclusive US feed from the same underlying price, which is a per-feed setting rather than a per-product one.

  5. Include only what the market actually sells

    Markets can restrict catalogue availability, so a product sold in the UK may not be purchasable in Germany. Feeding it into the German channel advertises something a shopper there cannot buy.

What goes wrong

Converted prices do not match the storefront

Market price lists apply adjustments and rounding, so a converted price is almost never the price the customer is shown. It is the most common multi-market feed error and it produces a price mismatch on every product rather than on a few.

One feed with several currencies is not a feed

It is a tempting shape because the data is all there, and no channel supports it. The file uploads, the channel reads one currency, and the prices for every other market are wrong in a way that looks like a pricing error rather than a structural one.

Market URLs are easy to forget

Prices get localised and URLs do not, because the price is obviously per market and the URL feels universal. A shopper then lands on a page in the wrong currency, which fails both the shopper and the landing-page check.

The number of feeds multiplies

Four markets and four channels is sixteen feeds, each needing generation, scheduling and monitoring. That is a pipeline problem rather than a mapping one, and it is the point where hand-maintained feeds stop being viable.

How feedlab maps it

feedlab treats the market as part of the feed definition: each generated feed carries its market's price list, currency, domain, tax convention and catalogue availability, from one shared set of mapping rules. Adding a market produces a new feed per channel rather than a new set of rules to maintain.

Frequently asked questions

Can one feed cover several currencies?

No. Every channel expects a feed to describe one market. A file carrying several currencies will be read as one of them, making the prices wrong for every other market.

Should I convert my prices for other markets?

No. Read the market price list. Shopify Markets applies its own adjustments and rounding, so a live conversion produces a price your storefront does not charge.

Do market feeds need different product URLs?

Yes. Each market is served on its own domain or path prefix, and sending the primary domain means shoppers are redirected or land on a page in the wrong currency.

How many feeds does a multi-market store need?

One per market per channel. Four markets across four channels is sixteen feeds, which is the point at which generation and monitoring matter more than the mapping itself.

Errors this mapping causes

Attributes involved

Related concepts

Primary sources

Channel specifications change. These are the official documents this page is based on.

Last reviewed View as markdown