“Validation failed: price can’t be blank”: fixing prices in a Shopify CSV
A variant row in your CSV has an empty price, or a price Shopify can’t read as a number. Every variant needs its own price, even when all variants cost the same.
Validation failed: price can't be blankWhat the message means
Price belongs to the variant, not the product. Each row that creates a variant must have a value in Price (older files: Variant Price). Shopify’s help center gives the fix simply as adding a price to the row.
Common causes
- Price only on the first row of a product with variants, because the other rows looked like repeats.
- Formulas that were saved as empty values, or cells showing
#N/Aor#REF!. - Currency symbols and words:
$24.00,24 USDor₺450. - Decimal commas:
24,00instead of24.00. - Supplier price lists with several price columns where the wrong (empty) column was mapped to Price.
Broken:
URL handle,Title,Option1 name,Option1 value,Price
waffle-towel,Waffle Towel,Size,50 × 90,$18.00
waffle-towel,,,70 × 140,Fixed:
URL handle,Title,Option1 name,Option1 value,Price
waffle-towel,Waffle Towel,Size,50 × 90,18.00
waffle-towel,,,70 × 140,26.00How to fix it
- Filter the Price column for empty cells and fill in every variant row.
- Remove currency symbols and thousands separators, and use a decimal point.
- If prices come from formulas, copy the column and use Paste Special → Values before saving.
- Rows that exist only to add extra images need no price: leave all variant fields empty on those rows.
- Save as CSV UTF-8 and import again. Run the file through the free Shopify CSV checker before you import again.
Setting prices from supplier costs
If you are building prices from a supplier price list, calculate them before the import: selling price = cost × (1 + markup), converted to your store currency. Markup vs margin explained. Sheet2Store does this for every row with your markup and exchange rate, flags rows where the supplier price is missing or ambiguous (such as 1,250 when the decimal separator is unclear), and won’t export until each one is resolved.
Frequently asked questions
Can a price be zero?
A price of 0 is not blank, so it imports, but the product will sell for free. Check such rows carefully.
Does the free checker catch this?
Yes. The Sheet2Store Shopify CSV checker flags missing prices and values that aren’t positive numbers.
Do image-only rows need a price?
No. A row that only adds an image should contain the handle and image columns, with the variant columns empty.
Check your Shopify CSV for free
Upload a product CSV (up to 500 rows) to find missing titles and prices, duplicate SKUs, repeated variant combinations and products not set to draft.