Import products from CSV URL
Imports or updates products, variants, images, and multi-location inventory from a public CSV URL with optional publication targeting.
Setup guide
Before you start
This template reads a CSV URL and uses Shopify productSet to create or update products by Handle.
Source requirements
- The URL must ultimately return raw CSV data
- Google Sheets share/edit URLs are accepted and automatically converted to the CSV export URL
- The CSV may be public or use a pre-signed URL
- Authenticated pages, login redirects, or HTML landing pages will not work
- Rows for the same
Handlemust stay contiguous in the CSV
Supported data
- product title, description, vendor, product type, tags, status, gift card flag
- category IDs and variant-level tax/origin fields
- variants and option values
- product and variant metafields
- product images from
Image Src - variant-specific images from
Variant Image - multi-location inventory through
Inventory: Location Namecolumns - optional publishing to selected Shopify sales channels
Required headers
HandleTitleVariant SKU
Common optional headers
Body HTMLVendorProduct TypeTagsStatusGift CardCategory: IDImage SrcImage Alt TextVariant PriceVariant Compare At PriceVariant BarcodeVariant ImageVariant PositionVariant TaxableVariant Tax CodeVariant Inventory PolicyVariant CostVariant WeightVariant Weight UnitVariant GramsVariant Requires ShippingVariant TrackedVariant HS CodeVariant Country of OriginVariant Province of Origin
Variant options
Use option columns when a product has multiple variants:
Option1 Name/Option1 ValueOption2 Name/Option2 ValueOption3 Name/Option3 Value
For the same Handle, option names and product-level fields must stay internally consistent across all rows.
Dynamic headers
You can add these dynamic columns:
Product Metafield: namespace.key|typeVariant Metafield: namespace.key|typeInventory: Shopify Location Name
Examples:
Product Metafield: custom.material|single_line_text_fieldVariant Metafield: specs.origin_country|single_line_text_fieldInventory: Sydney Warehouse
Additional supported fields
Category: IDmust be a valid Shopify taxonomy category IDImage Alt Textis applied to each image URL listed on that rowVariant Imageattaches an image URL to a specific variant and also includes it in the product file listVariant Weightshould be paired withVariant Weight Unit(g,kg,oz, orlb)Variant Gramsstill works and is used as a fallback whenVariant Weightis not provided
Publishing behavior
If you select one or more Shopify sales channels during setup, ACTIVE products are published to those destinations after a successful sync.
The setup UI loads the shop's live publications and stores their publication IDs, so the workflow publishes by Shopify publication ID instead of typed names.
Error handling
Validation failures, publish errors, inventory lookup errors, and metafield write errors are written to the workflow logs with row numbers and handles.
Sample file
Execution pacing is determined automatically based on CSV size, inventory columns, and publishing settings.
Setup fields
CSV URL, pre-signed download URL, or Google Sheets share URL. Google Sheets links are converted to the CSV export URL automatically.
Optional Shopify sales channels to publish ACTIVE products to after a successful sync.