Shopping / Marketing Feeds (Liquid Storefronts)
Domestic Feeds
To prevent price mismatches between the feed and the prices appearing on the storefront due to automatic geo-IP detection and redirection features, you must update the product links in their domestic feeds.
We recommend that you update your domestic product links to include a country parameter to prevent Google feed violations.
Example: For a US merchant: https://www.mystore.com/products/red-shirt?country=US
Failure to do this may result in warnings from Google, after which they will prevent your from submitting marketing feeds.
International feeds
There are 3 main methods you can use to generate an international Marketing feed:
Using supported Shopify apps (recommended).
Manually generating the feed yourself by writing a custom script or program, or creating an Excel sheet.
Using a 3rd party service such as Feedonomics or Channel Advisor.
Supported Shopify apps
The following apps are compatible with Shopify Markets' multi-currency features:
Pricing in the feed
International prices in marketing feeds must be retrieved from the Shopify platform to ensure they are correct.
Due to the complexity of doing this via the APIs, most merchants use a compatible app, which can easily generate the feeds with the correct localized prices.
Alternatively, if you are using a 3rd party vendor such as Feedonomics, they will handle this for you.
Shopify Markets API for product price retrieval:
Retrieving Prices Manually
To generate your own marketing feed you need to generate the prices manually in one of the following ways:
Get the price data via Shopify Product Feeds feature. This is likely the most efficient method to retrieve all product pricing data.
For more information see Developer Changelog, Product Feeds, and Unidirectional Product Synchronization
Get the price data via Shopify storefront API.
For more information see Query Product Prices.
Get the price data via Shopify Admin API.
Option 1:
Step 1: Get the price ID for each market. For example, CA Price, AU Price etc. See Pricelists API.
Step 2: Get the localized price for each product, using the price IDs. See Pricelist API
Option 2: use the
contextualPricing
request to retrieve the price for each variant and country combination. For example, replacingProductVariant
and country with each request:{ productVariant(id:"gid://shopify/ProductVariant/39999460245576") { id product{id} contextualPricing(context:{country:CA}) { price{amount, currencyCode} compareAtPrice{amount, currencyCode} } } }
Note
These queries can be set up as bulk operations which do not count against rate limits but may take significantly longer to complete.
Country and language considerations
If you have subfolders enabled, you can use the subfolders in your product URLs.
Example: https://mystore.com/en-ca/product/shoes
You can also use the country parameter, regardless of the subfolder settings. If you do have subfolders enabled, this link will redirect the customer to the appropriate subfolder.
Example: https://mystore.com/product/shoes?country=CA
You can use the subfolder and country parameter together, but this is redundant and not recommended.
Example: https://mystore.com/en-ca/product/shoes?country=CA
Note: If the countries do not match, the country parameter takes precedence.
If you have translations for a country’s default language, you can use subfolders to indicate that in the product URL.
Example: https://mystore.com/es-es/product/shoes
Timing
Merchants in PCE countries: You should generate your feeds at 5:00 AM UTC to ensure the daily FX price updates are completed. This configured time may shift to an hour earlier during daylight savings time.
Merchants in CBS countries: You should generate your feed at 1AM UTC to ensure the updated country FX rate is in Shopify.
Shipping rates
Shipping rates should be defined in the Google Merchant Center as "range-based" and should match the configurations in the flat shipping rates section in the Global-e admin.
If you do not have flat rates, discuss with your Customer service management about switching to flat rates.
Tax rates
Taxes are relevant to merchants shipping to the US with Global-e.
Global-e does not currently support building a specific tax rate per state into the product feeds. This needs to be managed independently. Information on setting up taxes can be found here.
Updating product links
The following methods enable you to update your product links to include the targeted international country by leveraging:
Shopify’s Deep Linking feature:
Include a country parameter in your product links (https://help.shopify.com/en/manual/markets/international-domains/directing-customers/deep-links)
Example: https://merchant_url/products/t-shirt?country=DE [Product page for Germany]
Shopify’s subfolder feature. This feature is required if you plan to use the Shopify translation features and requires additional configuration by Global-e.
Example:
https://merchant_url/en-de/collections/products/t-shirt [Product page for Germany]
https://merchant_url/en-ca/collections/products/t-shirt [Product page for Canada]
Note
For headless merchants: Any country-specific URL logic for your Shopping feeds must be implemented by your development team, as the above-documented methods only work for Liquid-based storefronts out of the box.