Shopify
CatalogRelay exports products to Shopify using the Shopify Admin API.
Prerequisites
Section titled “Prerequisites”- A Shopify store (any plan)
- Admin API access
Creating a Shopify custom app
Section titled “Creating a Shopify custom app”- In Shopify Admin, go to Apps → Develop apps
- Click Create an app, name it “CatalogRelay”
- Go to the app’s Configuration tab → Admin API integration
- Set the following scopes:
write_products,read_productswrite_inventory,read_inventoryread_locations
- Click Save → Install app
- Copy the Admin API access token
Connecting in CatalogRelay
Section titled “Connecting in CatalogRelay”- Go to Export Destinations → Add destination
- Select Shopify
- Enter:
- Store domain:
yourstore.myshopify.com(without https://) - Access token: from the custom app
- Location ID: the inventory location to update stock at (leave blank to use default)
- Store domain:
What gets synced
Section titled “What gets synced”Products and variants
Section titled “Products and variants”CatalogRelay maps supplier feed data to Shopify’s product/variant structure:
| CatalogRelay | Shopify field |
|---|---|
| Name | title |
| Description | body_html |
| Brand | vendor |
| SKU | variants[].sku |
| GTIN | variants[].barcode |
| Price (after rules) | variants[].price |
| Stock | inventory_levels[].available |
| Image URL | images[].src |
Metafields
Section titled “Metafields”Map canonical attributes to Shopify metafields via Field Mappings:
canonical: delivery_days → metafields.custom.delivery_dayscanonical: weight_kg → metafields.custom.weightThe metafield namespace and key must match definitions in your Shopify store.
Collections (categories)
Section titled “Collections (categories)”Use a category set with Shopify collection handles as destination codes. CatalogRelay adds products to collections via the collect API.
Product type
Section titled “Product type”The canonical product_type attribute (if mapped) is sent as Shopify’s product_type field, enabling filtering in Shopify Admin.
Inventory tracking
Section titled “Inventory tracking”CatalogRelay updates inventory levels at the specified location. If continue selling when out of stock is configured on a variant in Shopify, CatalogRelay does not override that — it only updates the quantity.
Multi-variant products
Section titled “Multi-variant products”If a supplier feed contains multiple SKUs that map to variants of the same product (e.g. different sizes of the same shirt), configure variant grouping in the export profile to group them under a single Shopify product.
By default, each SKU becomes a separate Shopify product. Contact support to configure variant grouping.
Rate limits
Section titled “Rate limits”The Shopify Admin API has rate limits. CatalogRelay respects these limits with automatic backoff and retry. Large catalogues (100,000+ products) may take several hours for the first full sync.
Troubleshooting
Section titled “Troubleshooting”Product not found error: The product was deleted in Shopify but CatalogRelay still has a reference to it. CatalogRelay will attempt to re-create the product on the next run.
Metafield not updating: Ensure the metafield definition exists in Shopify and the type matches the value (e.g. a number_integer metafield cannot receive a string value).
Inventory not updating: Verify the Location ID in the destination configuration is correct. Use the Shopify API or Admin to confirm the location ID.