Skip to content
Try free for 14 days
English
EnglishFrenchSoonItalianSoonJapaneseSoonSpanishSoonPortuguese (Portugal)SoonGermanSoonCzechSoonDanishSoonFinnishSoonKoreanSoonNorwegian (Bokmål)SoonDutchSoonPolishSoonPortuguese (Brazil)SoonTurkishSoonChinese (Simplified)SoonChinese (Traditional)Soon
Open in Claude Ask questions about this pageOpen in ChatGPT Ask questions about this page

Import multiple products for Volume pricing setup

Create many volume pricing rules at once by uploading a CSV or XLSX file instead of building each rule by hand.

If you need to set up a large number of volume pricing rules, uploading a file is much faster than creating them one by one in the app. This import creates brand-new volume pricing rules — if you only need to add products, quantity tiers, and prices to a rule that already exists, use Import products into a volume pricing rule instead.

Create a CSV or XLSX file with one row per quantity tier / product / variant, using the columns described below. The file is read by column name, not by position — you can reorder columns, and you can leave out any column you don’t need. Every row that shares the same Rule Id value belongs to the same volume pricing rule.

The download sample only includes the minimum columns needed to get started (Rule Id, Status, Type, Apply Customer, Apply Product, Apply Product ID, Apply Variant ID, From Quantity, To Quantity, Discount Type, Discount Value, plus example tag columns). The reference below covers every column the importer understands, including the optional ones the sample leaves out.

Note: Please split your products into batches of approximately 500 products per rule when importing. If your products have a large number of variants, the rule may fail to upload the data to the metafields successfully.

Full column reference
Column Required? Notes
Rule Id Yes Any value that groups rows together — rows sharing the same Rule Id become one volume pricing rule. It does not need to match a real rule ID.
Name No Name of the volume pricing rule. Defaults to “New Volume Pricing” if left blank.
Status No active or draft. Anything else is treated as draft.
Type No quantity (break by units bought) or amount (break by order amount). Defaults to quantity.
Start Date No When the rule starts working.
End Date No When the rule stops working.
Apply Customer Yes The customer condition. One of: all, logged, non-logged, tags:tag1,tag2, or customers:id1,id2.
Exclude Customer Tags No Comma-separated customer tags to exclude.
Exclude Customer IDs No Comma-separated customer IDs to exclude.
Apply Product Yes The product condition. One of: all, products, products:id1,id2, collections:id1,id2, or tags:tag1,tag2 (product tags).
Apply Product ID Conditional The product this row sets a tier/price for. Required on any row that carries a per-product tier. Leave blank on the rule’s first/summary row. See below for how to find a product’s ID.
Apply Variant ID No Fill in when the row sets a tier for one specific variant rather than the whole product. See below for how to find it.
Exclude Products No Comma-separated product IDs to exclude from the rule.
Exclude Collections No Comma-separated collection IDs to exclude from the rule.
Exclude Gift Cards No TRUE to exclude gift card products.
Apply Market No all, or markets:handle1,handle2 to restrict the rule to specific markets.
Discount Methods No variant (Same Variant), across_group (Mix Variants), or across_product (Mix Products). Defaults to variant. See Discount Methods for Volume Pricing.
Pricing Source No PRICE (Selling price) or COMPARE_AT_PRICE (Compare-at price). Defaults to PRICE.
From Quantity Yes The lower threshold of the price break, e.g. 10 for “buy 10 to 20 units, get 10% off”. Holds an order-amount threshold instead when Type is amount.
To Quantity No The upper threshold of the price break, e.g. 20 for the same example. Leave blank for an open-ended top tier.
Discount Type Yes percent, fixed (fixed amount off), or amount.
Discount Value Yes The discount value for this tier.
(any other column name) No Extra trailing columns become segment columns — see below.

Segment columns: when Apply Customer is tags:... or customers:..., you can give each tag or customer a different price by adding one column per tag name or customer ID (matching the values used in Apply Customer), then filling in that segment’s Discount Value on the tier’s row. A cell can hold a bare number (uses the row’s Discount Type) or a value with its own type, e.g. 10 percent, 10 fixed, 10 amount.

Building a rule across several rows: give the rule’s general settings (Name, Status, Type, Apply Customer, Apply Product, etc.) on its first row, then add one row per quantity tier — and, if pricing specific products/variants, one row per tier per product/variant — repeating the same Rule Id and leaving the rule-level columns blank on those rows.

Finding a product ID: go to the Products folder in Shopify, open the product, and check the page URL — the product ID is the number at the end of the link.

Finding a variant ID: open the product, go to the variant you need, and click into it. The variant ID is the number at the end of that page’s URL.

Sample file: download volume_example.csv or volume_example.xlsx to see the format in action.

Once your file is ready, save it.

  1. From the app Dashboard, click Volume Pricing.

  2. You can also download a sample CSV or XLSX file here to see exactly what data each column needs.

  3. Review the file information, then click Upload and preview.

Was this helpful?