1. Documentation /
  2. Introduction to Product CSV Import Suite /
  3. Column Header Reference

Column Header Reference

This documentation is for the premium Product CSV Import Suite extension. If you’re looking for documentation about the default product importer built-in in WooCommerce, see that documentation here.

Here is an extensive list of column headers you can use in your CSV for all default product types in WooCommerce. You can download a sample CSV file here.

Please note column names are case sensitive and should be lower case to match exactly.

Default Column Headers

↑ Back to top
ColumnDescriptionAccepted valuesExample
idAssigned by WordPress.N/AN/A
tax:product_typeRequired. Whether your product is Simple, Grouped, External, or Variable.simple / variable / grouped / externalsimple
post_idAssigned by WordPress.N/AN/A
post_typeBy default, this is product.productproduct
menu_orderUse this to sort your products.Numerical5
post_statusChoose whether your post should be published or not.draft / publish / pending / private / trashdraft
post_titleRequired. Name of the product.TextKiller Heels
post_nameUse this to update the product slug, which forms part of the product’s permalink. Texthoodie_with_logo
post_dateDate/time from your WordPress admin. You only need to add a date if you don’t want to use the current date. If you’re updating products, leave this as the exported value unless you want to make the product appear more/less recent.mm/dd/yyyy
dd-mm-yyyy
More accepted date formats
01/02/2015
02-01-2015*Both of these are January 2, 2015
post_contentPost content, normally a description of the product.TextSuper high heels are all the rage. Look beautiful this season with a gorgeous pair of killer heels. Available in 5 colors!
post_excerptShort description of the product.TextThis season’s latest heels!
post_parentUse for variations. Enter the ID of the parent product. Note: Variables should be imported in a separate spreadsheet.Post ID234
post_passwordIf your post is private, include the password.Text!MyAwesomePassw!
visibilityChoose visibility for your product.
Learn more about product visibility.
visible / catalog / search / hiddenvisible
skuRecommended. SKU of the product. Must be unique.TextSH99786
upsell_skusSKU(s) of the product to which you wish to upsell.Text – multiple skus separated by a “|” character.SKU1|SKU2
upsell_idsID of the product to which you wish to upsell.post ID – multiple IDs separated by a “|” character.236|569
crosssell_skusSKU(s) of the product with which you wish to crosssell.Text – multiple skus separated by a “|” character.SKU1|SKU2
crosssell_idsID of the product that can be purchased with this product.post ID – multiple IDs separated by a “|” character.236|569
featuredWhether this product should be featured or not.yes/noyes
downloadableWhether your product is downloadable or not.yes/nono
virtualWhether your item is a non-physical object or not.yes/nono
regular_priceRequired for all products except variable products.
Normal price of your product.
Float (Decimal number)99.99
sale_priceSale price of your product, if on sale.Float (Decimal number)69.99
manage_stockWhether or not you are managing stock for the product.yes/nono
stockNumber of this item you have in stock. Can be relative to the value currently configured in the product.Numerical3
(+)10
(-)3
stock_statusWhether you have any in stock or not.instock / outofstockinstock
backordersWhether you’re accepting backorders.yes/no/ notifyyes
weightWeight of your product. Complete if you’re using weight-based shipping rules or a shipping method that pulls rates from an external service.
Use the same measurement unit set for your site.
Numerical0.73
lengthLength of your product. Use if you pull rates from an external service, such as USPS.
Use the same measurement unit set for your site.
Numerical10.5
widthWidth of your product. Use if you pull rates from an external service, such as USPS.
Use the same measurement unit set for your site.
Numerical15
heightHeight of your product. Use if you pull rates from an external service, such as USPS.
Use the same measurement unit setted in your site.
Numerical8
tax_statusUse to determine whether your product is taxable or not.taxable / shipping / nonetaxable
tax_classTax class of your product.zero-rate, reduced-rate
Notice that you have to use the slug of the tax class.
Leave blank if the value should be Standard Rate.
reduced-rate
tax:product_shipping_classProduct’s shipping classAllows you to set the Shipping Class when uploading a product to your store.Class 1
sale_price_dates_fromDate from when your sale price is used.MM DD YYdd MM YY MM” / “DD” / “YYDD” / “MM” / “YY”
More accepted date formats
01/02/2013
sale_price_dates_toDate when your sale ends for this product.MM DD YYdd MM YY MM” / “DD” / “YYDD” / “MM” / “YY”
More accepted date formats
01/04/2013
imagesImport images. Use a pipe (“|”) to separate multiple images.

You can use public facing URLs for images, however, this may cause images to be duplicated in your media library when using the same image for multiple products.

When importing an image that is already uploaded to your site, enter the image’s file name as shown in the example

When only using an image’s file name, the importer will look in wp-content/uploads/year/month where year/month are the year and month in which the import is run. This means that the images should be uploaded to your media library in the same month you are running the import.

The first image listed is the main product image and will be used as the featured image.
Textimage1.jpg | image2.jpg | image3.jpg
product_urlUse if the product is sold on another site. Used by External/Affiliate products only.URLhttp://amazon.com/etc
button_textText that will appear on your “Add to cart” button. Used by External/Affiliate products only.TextBuy on Amazon!
meta:_sold_individuallyCan the product only be sold on its own?yes/nono
meta:total_salesTotal sales for this product.Numerical56
meta:_childrenProduct ID’s of a grouped product’s childrenpost ID’s in brackets – multiple IDs separated by a “,” character.[123, 124]

Downloadable & Digital Products

↑ Back to top

Downloadable products are products that can be downloaded by customers after purchase. To learn more, see: Digital/Downloadable Product Handling.

You can also import them. Be sure to import the files previously (if needed) and use these columns in the CSV to import:

ColumnDescriptionAccepted valuesExample
downloadable_filesFile name(s) and file path(s) for your product. Use a pipe “|” to separate values.Filename::File-PathNew::http://domain.com/wp-content/uploads/woocommerce_uploads/Issue45.pdf | Issue 45::http://domain.com/wp-content/uploads/woocommerce_uploads/Issue45.pdf
download_limitMaximum number of downloads for a product.Numerical2
download_expiryDate on which the download expires.MM DD YYdd MM YY MM” / “DD” / “YYDD” / “MM” / “YY”
More accepted date formats
01/04/2013

Attributes Columns

↑ Back to top

These columns are used on Variable Products, but it’s possible to use some for other product types.

View the differences between the attributes in the table below.

  • Global attributes use pa_ before the attribute name and do NOT use spaces. They’ll be formatted automatically by the importer. Use dashes or underscores instead.
  • Local attributes are not held to the same naming conventions.
Note: If you’re unclear about how to use attribute column headers, learn more about Global attributes and Local attributes via the Product Attributes Documentation.
ColumnColumns Header ExampleDescriptionAccepted valuesExample
attribute:ATTRIBUTE NAMEattribute: Hoodie SizesImport local product attributes.Attribute 1 | Attribute 2 | Attribute 3Small|Medium|Large
attribute_default:ATTRIBUTE NAMEattribute_default: Hoodie SizesSet the default value of the local attribute.
Used only by variable products.
TextMedium
attribute_data:ATTRIBUTE NAMEattribute_data: Hoodie SizesUsed to order (numerical value) and display local attributes (1 for display, 0 for not display), and for variations (1 for used for variations, 0 for not used for variations).
The third value is used only by variable products and ignored by other product types.
position | visible | variation3|0|1
attribute:pa_ATTRIBUTE_NAMEattribute: pa_colorImport global product attributes.Attribute 1 | Attribute 2 | Attribute 3Red|Blue|Yellow
attribute_default:pa_ATTRIBUTE_NAMEattribute_default: pa_colorSet the default value of the global attribute for the product.
Used only by variable products.
TextRed
attribute_data:pa_ATTRIBUTE_NAMEattribute_data: pa_colorUsed to order (numerical value) and display global attributes (1 for display, 0 for not display), and for variations (1 for used for variations, 0 for not used for variations).
The third value is used only by variable products and ignored by other product types.
position | visible | variation3|0|1

Creating New Columns

↑ Back to top

You may add as many columns as you like to add custom fields or taxonomies to products.

To do this, use the column headers meta: and tax:

ColumnColumns Header ExampleDescriptionAccepted valuesExample
meta:CUSTOM FIELD NAMEmeta: Product BrandImport a custom field.TextJimmy Choo
tax:TAXONOMY_NAMEtax:product_catImport a taxonomy or custom taxonomy (e.g., product category).
Terms are separated by a “|”.
Hierarchical category terms are separated with a “>”.
TextWomen|Women>Shoes
 tax:product_tagImport a tag. Terms are separated by a “|”.TextShoes|High Heels

Columns For Variations

↑ Back to top

When importing variable products, you need to create a separate CSV for all variations.

ColumnDescriptionAccepted valuesExample
post_parentParent product of the variation. This should be that product’s ID.Numerical273
parent_skuParent product of the variation. This should be that product’s SKU.TextSH9988

One of two columns is required for each variation in the CSV, or the importer cannot create the variations correctly.

In addition, you can use these columns:

ColumnDescriptionAccepted valuesExample
post_statusChoose whether the variation should be published or not.draft / publish / pending / privatedraft
skuRecommended. The SKU of the variation. Must be unique.TextSH99786
downloadableWhether the variation is a downloadable item or not.yes/nono
virtualWhether your item’s variation is a non-physical object or not.yes/nono
regular_priceRequired for all variations.
Normal price of your variation.
Float (Decimal number)99.99
sale_priceSale price of your variation, if it’s on sale.Float (Decimal number)69.99
stockNumber of this item’s variation you have in stock.Numerical3
weightWeight of your variation. Complete if you are using weight based shipping rules, or a shipping method that pulls rates from an external service.
Use the same measurement unit set for your site.
Numerical0.73
lengthLength of your variation. Use if you pull rates from an external service, such as USPS.
Use the same measurement unit set for your site.
Numerical10.5
widthWidth of your variation. Use if you get rates from an external service such as USPS.
Use the same measurement unit setted in your site.
Numerical15
heightHeight of your variation. Use if you get rates from an external service such as USPS.
Use the same measurement unit setted in your site.
Numerical8
tax_statusUse to determine whether your variation is taxable or not.taxable/ shipping/nonetaxable

Columns for the Subscriptions Extension

Do you need Subscriptions?

Column HeaderDescriptionAccepted valuesExample
tax:product_typeRequired. Denotes whether a product is a simple or variable subscription.subscription / variable-subscriptionvariable-subscription
meta:_subscription_priceRequired. The price of each subscription renewal.Numerical50
meta:_subscription_periodRequired. The time interval of the subscription product.day / week / month / yearweek
meta:_subscription_period_intervalRequired. The number of intervals between each renewal payment.Numerical2
meta:_subscription_lengthThe number of times the subscription will renew. For subscriptions that do not expire, specify “0”.Numerical0
meta:_subscription_limitLimit customers to only one subscription of a certain product. Can be limited to one active subscription, any subscription or not limited.active / any / nono
meta:_subscription_one_time_shippingOnly charge shipping once on the initial order.yes/nono
meta:_subscription_payment_sync_dateDay of the week (Sun = 0, Mon = 1, Tue = 2, etc.), of the month (1 – 28), or a specific calendar day each year (e.g. Dec 8 = {“day”:”8″,”month”:”12″}). Note: synchronized subscriptions for day of the month can only be renewed on days 1 – 27, or on the last day of the month (28).Numerical / Array3
meta:_subscription_sign_up_feeThe cost of the sign up fee for the subscription.Numerical10
meta:_subscription_trial_lengthThe number of time intervals of the subscription trial.Numerical5
meta:_subscription_trial_periodThe time interval of the subscription trial.day / week / month / yearday

Column for the Product Vendor Extension

Do you need Product Vendors?

Column HeaderDescriptionAccepted valuesExample
tax:wcpv_product_vendorsImport a vendor for a productTextBob Smith

Columns for the Google Product Feed Extension

↑ Back to top

Do you need Google Product Feed?

Column HeaderDescriptionAccepted Values
gpf:availabilityAvailabilityin stock, available for order, preorder
gpf:conditionConditionnew, used, refurbished
gpf:brandBrandText
gpf:product_typeProduct TypeText
gpf:google_product_categoryProduct categoryText
gpf:gtinGTIN (Global Trade Item Number)Text
gpf:mpnMPN (Manufacturer Part Number)Text
gpf:genderGendermale, female, unisex
gpf:age_groupAge groupadult, kids
gpf:colorColorText
gpf:sizeSizeText

FAQ

↑ Back to top

How do I figure out what column header to use?

↑ Back to top

If you need to know how to name a specific column, or you’re not sure about how to format it, we suggest creating a product that includes everything you need for your products, then exporting it in a CSV and see what column it uses.