Importing WooCommerce products with custom fields

How to Import WooCommerce Products With Custom Fields

AI Summary

WooCommerce provides standard fields for product names, prices, descriptions, stock levels, images, and categories. But many stores also need extra details such as warranty periods, manufacturer part numbers, supplier codes, cost of goods, ACF-driven specifications, or metadata added by another WooCommerce plugin. These values are typically stored as custom fields (also called product metadata) separate from WooCommerce’s built-in product data.

Adding this information manually is manageable for a handful of products. It becomes slow and error-prone once you’re creating or updating hundreds of them. A bulk import makes this much easier by letting you prepare the data in a structured CSV and import or update it all at once.

In this guide, we’ll cover how to import WooCommerce products with custom fields, how to structure your import file so metadata maps correctly, and how to handle ACF fields specifically.

What Are WooCommerce Product Custom Fields?

A WooCommerce custom field is an extra piece of information stored with a product that is not included in WooCommerce’s default product fields. For example, you could use custom fields to store:

  • Warranty period
  • Manufacturer code
  • Supplier name
  • Delivery time
  • Material details
  • Internal cost
  • Technical specifications

Each custom field usually has a meta key, such as warranty_period, and a value, such as 5 years.

Custom fields are also called metadata or meta fields.

Some metadata is visible and intended for store administrators. Other metadata is hidden because its key begins with an underscore, such as _supplier_cost or _wc_cog_cost.

Hidden meta is often created by WooCommerce extensions and third-party plugins. It may control important product behavior, so it should not be renamed or changed without understanding how the related plugin uses it.

Custom Fields vs. Product Attributes

Custom fields and product attributes are sometimes confused, but they have different purposes.

Attributes describe characteristics such as color, size, brand, or material. They can be displayed in the Additional Information section and may be used to create variable products.

Custom fields store additional product-specific data. They do not automatically create variations or appear on the product page.

For example, “Color” is usually an attribute because customers may use it to select a variation. “Internal supplier reference” is better stored as a custom field because it is additional product data that customers do not need to select.

Custom Fields vs. Product Add-ons

Product add-ons collect information from customers as they purchase a product. Examples include gift messages, engraving text, file uploads, and optional extras.

Custom fields, on the other hand, store information about the product itself. An add-on may allow the shopper to enter an engraving message, while a custom field might store the product’s maximum engraving length.

Can the Native WooCommerce Importer Import Custom Fields?

Yes. The native WooCommerce CSV importer can import basic product custom fields.

To import custom metadata, add meta: before the custom-field key in your CSV header. For example, a custom field stored under warranty_period can use the column header:

meta:warranty_period

During column mapping, WooCommerce may recognize the column automatically. When it does not, you can map the column to Import as meta. WooCommerce also allows custom metadata to be included during export by selecting the option to export all custom meta.

The native importer is less suitable for complex imports involving many third-party fields, hidden metadata, custom column names, reusable mappings, selective updates, non-CSV sources, or serialized data.

For these cases, an advanced importer is more practical. The Product Import Export Plugin for WooCommerce provides dedicated mapping for standard fields, taxonomies, attributes, Meta, and Hidden Meta, along with reusable templates and SKU- or ID-based updates.

How to Prepare a CSV With WooCommerce Custom Fields

The import file determines what data is added to your store. Preparing it correctly is the most important part of the import process.

Add the Standard Product Columns

Start with the standard information needed to create or identify the product. A basic file might contain:

Type, SKU, Name, Published, Regular price, Stock

simple,TSHIRT-001,Blue Cotton T-Shirt,1,29.00,40

simple,TSHIRT-002,Black Cotton T-Shirt,1,29.00,35

The exact required columns depend on whether you are creating new products or updating existing ones. For new products, include enough information to create a valid product. At a minimum, this will normally include a product name and other information required by your workflow.

For an update, the most important column is a stable product identifier, such as the SKU or product ID.

Add Custom-field Columns Using meta:field_name

To import a regular product custom field, add the meta: prefix before its key.

For example:

  • meta:brand_name
  • meta:warranty_period
  • meta:manufacturer_code

Here is a sample CSV containing standard and custom fields:

TypeSKUNameRegular pricemeta:brand_namemeta:warranty_periodmeta:manufacturer_code
SimpleTSHIRT-001Blue Cotton T-Shirt29.00Acme12 monthsAC-BLU-001
SimpleTSHIRT-002Black Cotton T-Shirt29.00Acme12 monthsAC-BLK-002

The text after meta: must match the field’s database key.

Include Hidden Metadata Carefully

A hidden meta key begins with an underscore. Keep the underscore in the CSV header.

For example: meta:_wc_cog_cost

Do not remove the underscore or replace the key with a more readable name. The plugin that created the field will normally look for the exact original key.

Prepare ACF Field Values

Advanced Custom Fields stores product data as WordPress metadata, so many basic ACF fields can be imported as product meta. Simple fields are usually easiest to import, including:

  • Text and text area
  • Number
  • Email and URL
  • True/false
  • Basic select fields

Before importing, create the same ACF field group on the destination site and make sure the field names match.

Because ACF also stores hidden references linking values to unique field keys, the safest approach is to create a sample product, enter the ACF values, export it with all custom and hidden metadata, and use that file as the import template. Complex fields such as images, galleries, repeaters, relationships, groups, flexible content, checkboxes, and multi-selects may store IDs, arrays, or serialized data, so preserve the exported structure and test a small batch before importing everything.

Use the Export-first Method

The export-first method is one of the safest ways to prepare a custom-field import file.

Here is how it works:

  1. Create one product manually.
  2. Enter values in all the custom fields you need.
  3. Save or update the product.
  4. Export the product with custom metadata enabled.
  5. Open the exported file.
  6. Use its column headers as your import template.
  7. Add the remaining product rows.

WooCommerce can export custom meta with a meta: prefix. The WebToffee plugin can include Meta, Attributes, Taxonomies, and Hidden meta during an advanced export.

How to Import WooCommerce Products With Custom Fields

The following process uses the premium Product Import Export Plugin for WooCommerce because custom Meta and Hidden Meta mapping are premium features.

Install the Product Import Export Plugin for WooCommerce and activate it on your store. After activation, a WebToffee Import Export (Pro) menu will appear in your WordPress dashboard.

Step 1: Select Product as the post type

After you have installed the plugin, go to: WebToffee Import Export (Pro) > Import

Choose Product as the post type and continue.

Selecting product as post type for importing products with custom fields

Step 2: Choose Advanced Import Method

Select Advanced Import.

Advanced Import gives you access to detailed column mapping, update settings, batch options, and reusable templates. Quick Import is more suitable when the file was previously exported by the same plugin and already follows its expected structure.

Upload your CSV, XML, Excel, or supported import file.

Choosing an import method

Check the delimiter if you are importing a CSV. Continue to the mapping step.

Step 3: Map Meta and Hidden Meta Fields

The mapping screen connects each column in the file to a WooCommerce product field.

The plugin may map recognizable columns automatically, but you should still review every selection. An incorrect mapping can place the value in the wrong WooCommerce field.

Next, locate the mapping sections for:

  • Meta, or custom fields
  • Hidden meta
Mapping meta and hidden meta fields

Map every custom-field column to the corresponding product metadata key. For example:

CSV columnCustom-field mapping
meta:brand_namebrand_name
meta:warranty_periodwarranty_period
meta:manufacturer_codemanufacturer_code

The plugin organizes import mapping into Default Fields, Taxonomies, Meta, Attributes, and Hidden Meta.

Review every custom field before continuing. A value mapped to the wrong meta key may be imported successfully but remain invisible to the plugin or template that is supposed to use it.

Step 4: Configure Advanced Import Options

Choose how the importer should handle products that already exist.

You can:

  • Skip existing products
  • Update existing products
  • Match products by ID or SKU
  • Skip new products
  • Import conflicting IDs as new products
  • Configure the import batch size
Configuring advanced import options

For most catalog updates, choose Update and match products by SKU.

Avoid settings that delete non-matching products unless you are intentionally synchronizing the entire store and have tested the workflow.

Start the import and wait for it to finish.

The completion screen will show successful, skipped, and failed records. Review the import log before checking the products. Save the configuration as a template when you expect to import files with the same columns again.

How to Update Custom Fields for Existing Products

You do not need to reimport the complete product catalog just to change custom-field values. Create a smaller CSV containing the SKU and the custom fields you want to update

For example:

SKUmeta:warranty_periodmeta:manufacturer_code
CHR-10017 yearsMFG-8891-A
DSK-10025 yearsMFG-8892-B

Configure the importer to match products by SKU and update existing products.

Map only the included custom-field columns. Leave prices, descriptions, images, stock, and other unrelated fields unmapped. This reduces the risk of replacing valid data with blank or outdated values.

How to Verify Imported Custom Fields

After the import completes, review the import log for any failed or skipped products. Then open a few imported products from Products > All Products and check whether the custom fields appear with the correct values on the product edit page.

For plugin-generated or hidden metadata, confirm that the related plugin recognizes the imported data and that the expected information or functionality appears on the storefront. You can also export the products again with custom and hidden metadata included, then compare the exported values with the original CSV.

Test different product types and variations before confirming that the full import was successful.

Frequently Asked Questions

Can WooCommerce import custom fields from CSV?

Yes. The native WooCommerce importer supports basic custom metadata through headers such as meta:field_name. An advanced importer provides more control when working with hidden meta, third-party fields, recurring imports, and complex mappings.

How do I find a WooCommerce custom-field meta key?

Create a sample product with the field completed, export the product with custom metadata enabled, and inspect the exported column header. You may also inspect the product’s post metadata using a database tool or a suitable metadata viewer plugin.

Can I import ACF fields into WooCommerce products?

Yes. Basic ACF fields can generally be imported using their field names. Complex fields may require structured values and ACF field references, so they should always be tested before a full import.

Can I update only custom fields without changing product prices?

Yes. Include the SKU and required custom-field columns in the file. Map those columns only and leave the price fields unmapped.

Why is an imported custom field not displaying on the product page?

Saving a custom field does not automatically display it. Your theme, page builder, shortcode, template, or related plugin must retrieve and output the value.

Can I import hidden product metadata?

Yes. Keep the complete meta key, including its leading underscore. In WebToffee’s premium importer, map the column under Hidden Meta.

Can custom fields be imported for variable products?

Yes. Custom fields can be assigned to the parent product, individual variations, or both. Each variation should have a unique SKU and the correct parent relationship.

Conclusion

Importing WooCommerce products with custom fields is mainly a matter of using the correct meta keys, value formats, and product identifiers.

For basic metadata, the native WooCommerce importer may be enough. For recurring imports, hidden metadata, ACF data, and fields created by third-party plugins, an advanced importer like the Product Import Export Plugin for WooCommerce provides a more controlled workflow.

Regardless of the method you choose, start by exporting a working product. The exported file gives you the exact field keys and formats used by your store, making the final import more accurate and much easier to troubleshoot.

Article by

Writer at WebToffee. I focus on WooCommerce and Shopify store migration, import/export workflows, and eCommerce data management, breaking down technical concepts into clear, easy-to-follow guides for store owners.

Got any query? Please leave a comment or reach out to our support

Your email address will not be published. Required fields are marked *

Google Preferred Source

Your Go-to Plugin for WooCommerce Product Import Export