WooCommerce Product CSV Import

Column Header Reference

This documentation is for the premium Product CSV Import Suite extension. If you’re looking for documentation about the product importer built-in in WooCommerce 3.x, check out the documentation here: https://docs.woocommerce.com/document/product-csv-importer-exporter/

Here is an extensive list of column headers you can use in your CSV for all default product types in WooCommerce.

Please note column names are case sensitive and should be lower case to match exactly. You can download a sample CSV file here.

Default Column Headers

COLUMN DESCRIPTION ACCEPTED VALUES EXAMPLE
id Assigned by WordPress. N/A N/A
tax:product_type Required. Whether your product is Simple, Grouped, External, or Variable. simple / variable / grouped / external simple
post_id Assigned by WordPress. N/A N/A
post_type By default, this is product. product product
menu_order Use this to sort your products. Numerical 5
post_status Choose whether your post should be published or not. draft / publish / pending / private draft
post_title Required. Name of the product. Text Killer Heels
post_date Date/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_content Post content, normally a description of the product. Text Super high heels are all the rage. Look beautiful this season with a gorgeous pair of killer heels. Available in 5 colors!
post_excerpt Short description of the product. Text This season’s latest heels!
post_parent Use for grouped products and variations. Enter the ID of the parent product. Note: Variables should be imported in a separate spreadsheet. Post ID 234
post_password If your post is private, include the password. Text !MyAwesomePassw!
visibility Choose visibility for your product.
Learn more about product visibility.
visible / catalog / search / hidden visible
sku Recommended. SKU of the product. Must be unique. Text SH99786
upsell_skus SKU(s) of the product to which you wish to upsell. Text – multiple skus separated by a “|” character. SKU1|SKU2
upsell_ids ID of the product to which you wish to upsell. post ID – multiple IDs separated by a “|” character. 236|569
crosssell_skus SKU(s) of the product with which you wish to crosssell. Text – multiple skus separated by a “|” character. SKU1|SKU2
crosssell_ids ID of the product that can be purchased with this product. post ID – multiple IDs separated by a “|” character. 236|569
featured Whether this product should be featured or not. yes/no yes
downloadable Whether your product is downloadable or not. yes/no no
virtual Whether your item is a non-physical object or not. yes/no no
regular_price Required for all products except variable products.
Normal price of your product.
Float (Decimal number) 99.99
sale_price Sale price of your product, if on sale. Float (Decimal number) 69.99
manage_stock Whether or not you are managing stock for the product. yes/no no
stock Number of this item you have in stock. Can be relative to the value currently configured in the product. Numerical 3
+10
-3
stock_status Whether you have any in stock or not. instock / outofstock instock
backorders Whether you’re accepting backorders. yes/no/ notify yes
weight Weight 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.
Numerical 0.73
length Length of your product. Use if you pull rates from an external service, such as USPS.
Use the same measurement unit set for your site.
Numerical 10.5
width Width of your product. Use if you pull rates from an external service, such as USPS.
Use the same measurement unit set for your site.
Numerical 15
height Height of your product. Use if you pull rates from an external service, such as USPS.
Use the same measurement unit setted in your site.
Numerical 8
tax_status Use to determine whether your product is taxable or not. taxable / shipping / none taxable
tax_class Tax 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_class Product’s shipping class Allows you to set the Shipping Class when uploading a product to your store. Class 1
sale_price_dates_from Date 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_to Date when your sale ends for this product. MM DD YYdd MM YY MM” / “DD” / “YYDD” / “MM” / “YY”
More accepted date formats
01/04/2013
images Import images. Use a pipe to separate multiple images. Enter the image URL or 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. The first image is the main product image and will be used for the featured image. Text image1.jpg | image2.jpg | image3.jpg
product_url Use if the product is sold on another site. Used by External/Affiliate products only. URL http://amazon.com/etc
button_text Text that will appear on your “Add to cart” button. Used by External/Affiliate products only. Text Buy on Amazon!
meta:_sold_individually Can the product only be sold on its own? yes/no no
meta:total_sales Total sales for this product. Numerical 56

Downloadable & Digital Products

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:

COLUMN DESCRIPTION ACCEPTED VALUES EXAMPLE
downloadable_files File name(s) and file path(s) for your product. Use a pipe “|” to separate values. Filename::File-Path New::http://domain.com/wp-content/uploads/woocommerce_uploads/Issue45.pdf | Issue 45::http://domain.com/wp-content/uploads/woocommerce_uploads/Issue45.pdf
download_limit Maximum number of downloads for a product. Numerical 2
download_expiry Date on which the download expires. MM DD YYdd MM YY MM” / “DD” / “YYDD” / “MM” / “YY”
More accepted date formats
01/04/2013

Attributes Columns

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.
COLUMN COLUMNS HEADER EXAMPLE DESCRIPTION ACCEPTED VALUES EXAMPLE
attribute:ATTRIBUTE NAME attribute: Hoodie Sizes Import local product attributes. Attribute 1 | Attribute 2 | Attribute 3 Small|Medium|Large
attribute_default:ATTRIBUTE NAME attribute_default: Hoodie Sizes Set the default value of the local attribute.
Used only by variable products.
Text Medium
attribute_data:ATTRIBUTE NAME attribute_data: Hoodie Sizes Used 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 | variation 3|0|1
attribute:pa_ATTRIBUTE_NAME attribute: pa_color Import global product attributes. Attribute 1 | Attribute 2 | Attribute 3 Red|Blue|Yellow
attribute_default:pa_ATTRIBUTE_NAME attribute_default: pa_color Set the default value of the global attribute for the product.
Used only by variable products.
Text Red
attribute_data:pa_ATTRIBUTE_NAME attribute_data: pa_color Used 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 | variation 3|0|1

Creating New Columns

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:

COLUMN COLUMNS HEADER EXAMPLE DESCRIPTION ACCEPTED VALUES EXAMPLE
meta:CUSTOM FIELD NAME meta: Product Brand Import a custom field. Text Jimmy Choo
tax:TAXONOMY_NAME tax:product_cat Import a taxonomy or custom taxonomy (e.g., product category).
Terms are separated by a “|”.
Hierarchical category terms are separated with a “>”.
Text Women|Women>Shoes
tax:product_tag Import a tag. Terms are separated by a “|”. Text Shoes|High Heels

Columns For Variations

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

COLUMN DESCRIPTION ACCEPTED VALUES EXAMPLE
post_parent Parent product of the variation. This should be that product’s ID. Numerical 273
parent_sku Parent product of the variation. This should be that product’s SKU. Text SH9988

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:

COLUMN DESCRIPTION ACCEPTED VALUES EXAMPLE
post_status Choose whether the variation should be published or not. draft / publish / pending / private draft
sku Recommended. The SKU of the variation. Must be unique. Text SH99786
downloadable Whether the variation is a downloadable item or not. yes/no no
virtual Whether your item’s variation is a non-physical object or not. yes/no no
regular_price Required for all variations.
Normal price of your variation.
Float (Decimal number) 99.99
sale_price Sale price of your variation, if it’s on sale. Float (Decimal number) 69.99
stock Number of this item’s variation you have in stock. Numerical 3
weight Weight 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.
Numerical 0.73
length Length of your variation. Use if you pull rates from an external service, such as USPS.
Use the same measurement unit set for your site.
Numerical 10.5
width Width of your variation. Use if you get rates from an external service such as USPS.
Use the same measurement unit setted in your site.
Numerical 15
height Height of your variation. Use if you get rates from an external service such as USPS.
Use the same measurement unit setted in your site.
Numerical 8
tax_status Use to determine whether your variation is taxable or not. taxable/ shipping/none taxable

Columns for the Subscriptions Extension

Do you need Subscriptions?

COLUMN HEADER DESCRIPTION ACCEPTED VALUES EXAMPLE
tax:product_type Required. Denotes whether a product is a simple or variable subscription. subscription / variable-subscription variable-subscription
meta:_subscription_price Required. The price of each subscription renewal. Numerical 50
meta:_subscription_period Required. The time interval of the subscription product. day / week / month / year week
meta:_subscription_period_interval Required. The number of intervals between each renewal payment. Numerical 2
meta:_subscription_length The number of times the subscription will renew. For subscriptions that do not expire, specify “0”. Numerical 0
meta:_subscription_limit Limit customers to only one subscription of a certain product. Can be limited to one active subscription, any subscription or not limited. active / any / no no
meta:_subscription_one_time_shipping Only charge shipping once on the initial order. yes/no no
meta:_subscription_payment_sync_date Day 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 / Array 3
meta:_subscription_sign_up_fee The cost of the sign up fee for the subscription. Numerical 10
meta:_subscription_trial_length The number of time intervals of the subscription trial. Numerical 5
meta:_subscription_trial_period The time interval of the subscription trial. day / week / month / year day

Column for the Product Vendor Extension

Do you need Product Vendors?

COLUMN HEADER DESCRIPTION ACCEPTED VALUES EXAMPLE
tax:wcpv_product_vendors Import a vendor for a product Text Bob Smith

Columns for the Google Product Feed Extension

Do you need Google Product Feed?

COLUMN HEADER DESCRIPTION ACCEPTED VALUES
gpf:availability Availability in stock, available for order, preorder
gpf:condition Condition new, used, refurbished
gpf:brand Brand Text
gpf:product_type Product Type Text
gpf:google_product_category Product category Text
gpf:gtin GTIN (Global Trade Item Number) Text
gpf:mpn MPN (Manufacturer Part Number) Text
gpf:gender Gender male, female, unisex
gpf:age_group Age group adult, kids
gpf:color Color Text
gpf:size Size Text

FAQ

How do I figure out what column header to use?

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.

Record a reflection ...

This site uses Akismet to reduce spam. Learn how your comment data is processed.