Column Header Reference
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.
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.