Shopify Markets in Arigato
Shopify Markets lets you sell to different countries with their own prices, currencies and product lists. Arigato has two conditions, two Twig filters and four actions for working with markets.
What is available
| Name | Type | What it does |
|---|---|---|
| Market Price vs. Compare Price | Condition | Compares a variant's price and compare-at price in one country |
| Published in Market | Condition | Checks whether a product is in a market's catalog |
| Add to markets | Product Action | Adds a product to one or more markets |
| Remove from markets | Product Action | Removes a product from one or more markets |
| Set the catalog price | Variant Action | Sets a variant's price on one catalog's price list |
| Remove the catalog price | Variant Action | Removes a variant's fixed price from one catalog's price list |
Market features need the read_markets permission, and some need more. If a permission is missing, the form shows a banner with an Update Permissions button. Click it once to grant the permission.
Markets, countries and catalogs
Different features ask you to pick different things:
- A country for prices you read. A market with local currencies prices in each country's own currency, so two countries in one market can have different prices.
- A market for whether a product is shown. Adding a product to a market adds it to that market's catalog.
- A catalog for prices you set. A market can own more than one catalog, each with its own currency, so the price is set on one catalog's price list.
Only active markets are read. A draft market is not offered.
Condition: Market Price vs. Compare Price
Where to find it: Product, then Variants, then Market Price. It is on the variant only, in the same place as the ordinary "Price vs. Compare Price" condition.
The ordinary "Price vs. Compare Price" condition only reads the base price, so a variant that is on sale in Mexico and not in the United States looks the same to it. This condition reads the price buyers in a country you choose actually see, including the market's price list adjustment and any fixed price.
- Add the condition and choose In market. The list shows every country your active markets cover, grouped by market.
- Choose what you want to match: the market price is less than, equal to, or greater than the market compare-at price.
Each country is looked up separately, so ask only about the ones you need. This condition needs read_markets.
Example: tag products "On Sale in Mexico" when the Mexican price is below the Mexican compare-at price, and remove the tag when it is not.
Condition: Published in Market
Where to find it: Product, then Published in Market.
Choose a market. The condition is true when the product is in that market's catalog, so buyers there can see it.
- Only markets that have a catalog with a publication are listed. A market without one shows whatever your sales channel shows, so there is nothing market-specific to read.
- This is not the same as the sales channel conditions. A market catalog is a different kind of publication, and the sales channel pickers do not list it.
- This condition needs read_markets and read_publications.
Twig: market prices and market tokens
Two Twig filters give you a variant's market prices. Both take a two-letter country code, in either case:
{{ product_variant | market_price("mx") }}gives the price in that country.{{ product_variant | market_compare_at_price("mx") }}gives the compare-at price there. It is empty when the variant is not on sale in that market.
The amount comes back on its own, with no currency symbol, so write the currency yourself if you need it: {{ product_variant | market_price("mx") }} MXN. Both filters read the same data, so using the two together costs one lookup. The country can come from a variable as well as a literal, such as an order's shipping country.
To check whether a product is in a market, use the token market_published[MARKET_HANDLE], for example {{ product.market_published['mexico'] }}. Find a market's handle in the Published in Market picker, or with debug: true on the product_publish_markets Custom Action.