WebToffee Logo
  • Home
  • Plugins
  • Shopify apps
  • Bundles
  • Blog
  • Documentation
  • Support
Login
cart 0

  • Getting Started
    • Plugin setup
    • Import/Export Products
    • Import/Export Product Reviews
    • Import/Export Product Tags
    • Import/Export Product Categories
  • Import
    • Import products with attributes
    • Import google drive images
    • Import grouped products
    • Importing And Updating Upsell An...
    • Import products using URL
    • Import every 'X' hours
    • Importing downloadable products
    • Import Multiple Product Images f...
    • Import subscription products
    • Import products using CSV
    • Import products with images
    • Import/update onbackorders
    • Updating evaluation fields on Import
    • Import products from MS Excel
    • Importing products from a XML
    • Import products with categories
    • Import products from Google Spreadsheet
    • Import composite products
    • Import external/affiliate products
    • Import variable products from CSV
  • Export
    • Export products to CSV
    • Batch export products
    • Exporting products by category
    • Export definite number of products
    • Export products to MS Excel
    • Export product with categories
    • Export products with images
    • Export variable products
    • Export products with attributes
  • Meta Data
    • Import product metadata from CSV
  • Bulk Edit
    • Bulk update product category
    • Bulk upload variable products
    • Bulk upload products
    • Bulk update product price
  • FTP Cron Schedules
    • Cron Import products using multiple CSVs
    • Cron scheduled Import-export
    • Server cron and server commands
    • Export products via SFTP
  • Advanced Topics
    • Export without user restrictions
    • Migrate from Shopify to WooCommerce
    • Update simple and variable products
    • Import/Export custom fields
    • Update inventory data
    • Import/Export products to Google Spreadsheets
    • Updating Single Field for Products
    • Updating product stock
    • Plugin visibility on a multisite
    • WPML Compatibility
    • Thumbnail regeneration failure on product import
    • Import/Export product bundles
    • Set up cron when site activity is less
    • Export WPML multilingual products
    • Update product variations without SKU
    • Steps to import WPML products
    • Duplicate entry in the media library
    • Memory limitations on Import/Export
    • Import/Export product images in ZIP
    • Modifying Import/Export Batch Count and Effects on Performance
  • Code Snippet
    • Set email alert on cron import
    • Export/Import bundled products
    • Export/Import product variation images
    • Filter and export WooCommerce products using custom taxonomy
    • Alter product data
    • Compatibility with YITH Product Bundle
    • Export reviews with no ratings
    • Import images from multiple columns
    • Support for WebP images
  • Troubleshooting
    • Finding PHP Error Logs
    • Resolve “Call to undefined function mb_detect_encoding()”
    • Resolve post ID conflicts on import
    • Troubleshooting Guide-Products
    • Maximum file upload size
  • Third-Party Compatibility
    • Plugins
  • FAQ
    • Frequently asked questions
  • Changelog
    • Version 1.1.6

Home » Docs » Product Import Export Plugin for WooCommerce » Importing WooCommerce Products with Categories

Importing WooCommerce Products with Categories

Last updated on May 8, 2023

Since categories are a useful way to sort and organize your products, our Product Import Export Plugin For WooCommerce enables you to import hierarchical category structures as well as multiple categories that are associated with a specific product. Hence, you can easily import your categories and subcategories from a CSV/ XML file.

View of Products with respective categories in sample CSV
Products with respective categories
Product categories must be entered in the uploaded CSV/XML file. While importing, if a product has multiple categories, they are separated by ‘|’, and if a product has a category with a hierarchical structure, they are separated with ‘>’.

Importing product with categories

Note: Download Sample CSV.

  • Once the plugin is installed and activated, follow the steps in How to import products.
  • In step 3, expand Taxonomies(cat/tags/shipping-class) to view the mapped category.
    category-mapped
  • Click on step 4 to proceed further.
  • On successful import, we will get the products with their respective categories.
    imported-product-1

The simple product – Samsung Galaxy Ace Duos gets imported under the product categories Mobile Phone and Android Phone. The variable product – Men’s Cotton T-Shirt gets imported under the hierarchical product category, T-Shirts.

Simple Product
Variable-Product
Variable Product

You can view the imported categories under Products > Categories section as shown below:

Product categories

Other related articles:

  • Import WooCommerce Products with Attributes
  • Import WooCommerce Variable Products from CSV

  • Was this article helpful?
  • Yes, thanks!Not really
Get the plugin

On this page

  • Importing product with categories

This article posted in Documentation, Import, Knowledge Base, Product Import Export Plugin for WooCommerce, WooCommerce and tagged csv file, Import, Product categories, woocommerce

Written by

Vineetha

Vineetha is a technical content writer with a knack of simplifying complex information into readable content. She focuses on writing content in a conveyable and clear format.

Comments (37)

  1. Temisan Neburagho

    May 28, 2023

    Hello,

    The category slugs for my products are based on the Yoast primary category, so that only one category is assigned to a product in the url if it has multiple categories associated with it. When I import products via the import tool using CSV the slug is made of the combined multiple categories. How can I change this?

    Thanks

    Reply
    • Temisan Neburagho

      May 28, 2023

      Multiple categories are no longer showing, it was because I did not pipe separate them, but the wrong category is being assigned to the url, it should be the primary category set for Yoast. How can I fix this?

      Reply
      • Vineetha

        May 30, 2023

        Hi Temisan,
        Thank for reaching out! To sort this issue, we need a bit more detailed picture of this case. Can you please reach us via customer support?

        Reply
    • Vineetha

      May 29, 2023

      Hi Temisan,
      Thank for reaching out! To sort this issue, we need a bit more detailed picture of this case. Can you please reach us via customer support?

      Reply
  2. Kyla

    October 17, 2022

    Hey I want to add a parent category, with also the sub category selected, how do I go about this. I have been using the > symbol, but the parent category is not selected.

    Reply
    • Alan

      October 20, 2022

      Hi,
      If you are required to assign the product to parent and sub category then please provide the data in the CSV as below
      parent-category|parent-category>sub-category

      Reply
  3. Max

    November 24, 2021

    Why, when importing, recreates the categories with a new slug and does not take the old one?

    Reply
    • Alan

      November 26, 2021

      Hi,

      The issue you are facing might be because you provided a custom slug for the categories. The categories are connected based on the slug of the category and the name in the category column. Please try providing the default slug for the categories and try importing.

      Reply
  4. Scott Petersen

    October 18, 2021

    I’m getting a developer to add custom attribute fields to my categories. Does your importer allow for the importing of attributes for a category (in a hierarchy)?

    Reply
    • Mark

      October 18, 2021

      Hi,

      Using our plugin you can import product categories(parent and child) to the site using a CSV file. You may please specify the category name in the tax:product_cat column of the CSV file. If you have added any custom fields to the categories and you are required to import this data then please reach us via support.

      Reply
  5. maulik

    September 22, 2021

    when im imported some products with categories so some time my categories spell wrong so when importing with wrong categories spell it generated with wrong spell id ..so i want to restricted this auto generate categories.please help me!!

    Reply
    • Mark

      September 24, 2021

      Hi,

      Can you please reach us via support and brief us on your query? If you are mentioning the category slug, then we would like to let you know that the category slug is auto-generated from the category name and this is done by WOocommerce. Whatever data is provided as the category name that will be used for generating the slug.

      Reply
  6. Leslie Mufaro Nyahwa

    July 23, 2021

    Hi, I keep getting this Failed/Skipped Skipping new item error log when I import products with both multi-categories and hierarchical categories, what could I be doing wrong in this product import?

    Reply
    • Alan

      July 29, 2021

      Hi,

      Please share your importing CSV file via support so that we can check it.

      Reply
  7. Alex

    July 21, 2021

    Hello!
    Is it possible to specify a category ID in the file?
    If not, do you plan to do it?

    My accounting system has category IDs but no titles.
    In short, it’s easier for me to pass the ID.
    It’s easier for you to find a category by ID.
    Let’s do!

    Reply
    • Alan

      July 29, 2021

      Hi

      We have developed a code snippet for this requirement. Please try using the code here.

      Reply
      • Giorgi Babunashvili

        August 30, 2021

        Hello, how does this code works? I have an external taxonomy my store: called product-vehicle. Will this code work for external taxonomy? I Tried to change product-cat with product-vehicle but it does not work.

        Reply
        • Alan

          September 3, 2021

          Hi,

          Please reach us via support so that we can help you with it.

          Reply
  8. Khalil Chikh

    June 6, 2021

    Hello,

    For multiple categories, there is a problem when viewing the product at frontend, it always shows the first category even if you choose the other category.

    for example: I have 2 categories (Sport, Indoor & Outdoor > Dart Guns | Boys’ Toys > Testing), but when I view the product inside (Boys’ Toys) Category I see this :
    (Home/Shop/Sport, Indoor & Outdoor/Dart Guns/hh) instead I need to see (Home/Shop/Boys’ Toys/Testing/hh).

    Reply
    • Alan

      June 7, 2021

      Hi,

      Can you please try importing using the default importer tool and check if the same issue occurs or not. If the issue is occurring only with our plugin then please reach us via support.

      Reply
  9. jose carreon

    May 4, 2021

    Alguien sabe como colocar los enlaces de descarga ya que puse por separado y no me los acepto y no se cargaron bien

    Reply
    • Alan

      May 8, 2021

      Hi,

      Can you please brief us on the issue you are facing? You may please reach us via support.

      Reply
  10. Jerry

    March 25, 2020

    How do you make sure that the products import into existing categories? I did an import and it created new subcategories which should have matched existing ones. Do you use the category slugs or the full name?

    Reply
    • Alan

      March 26, 2020

      Hi,

      Our plugin uses the category name to import a product into an existing category. If you are having an issue with importing category using the category name then please reach us via support with the importing CSV file so that we can check it.

      Reply
  11. Carl

    May 23, 2019

    Is it possible to merge csv imports?
    I have my categories on seperate csv files. Some products are duplicated in 2 or more categories. When I import a file with a product that already is in a category, the previously allocated category is overridden with the new one and I have to manually assign the deleted category. How can I overcome this?

    Reply
    • Alan

      May 24, 2019

      Hi,

      If you are required to import a new category to a product that is already having a category then you may please include the existing category name along with the new category in the CSV. You may please separate those categories using the pipe symbol( | ). Eg: If a product X already has a category Y and you are required to import new category Z to X then you may please specify the data in the category column as “Y|Z”.

      Reply
  12. Patrick

    February 22, 2019

    I took your sample CSV and filled in product information and “Heating|Fixtures” in product categories it does not separate them into separate categories it creates a new category that reads Heating|Fixtures ??

    Reply
    • Mark

      February 22, 2019

      Hey Patrick,

      Please share your importing sample CSV with us via our support forum so that we can check and help you accordingly.

      Reply
  13. Julia

    January 16, 2019

    Hi,

    i´m having problems to upload my csv right, it´s not taking hierarchical categories like Bekleidung > Tops & Shirts It just uploading Tops & Shirts… What i´m doing wrong? Thank you

    Reply
    • Alan

      January 16, 2019

      Hi Julia,

      You may please specify the category as “Bekleidung|Bekleidung > Tops & Shirts” in the CSV in order to import the product under the categories Bekleidung and Tops & Shirts. Following the format “Bekleidung > Tops & Shirts” will create categories Bekleidung and Tops & Shirts however product will be uploaded only under Tops & Shirts.

      Reply
  14. Kenneth Augustyn

    October 31, 2018

    Stunning article you have shared with us and it will be very valuable for me to increase my skills. I really impressed by your blog because you have good knowledge of import product categories. I really thankful to you.

    Reply
  15. jmjose

    January 29, 2018

    “Condensate Pump > Apollo Pump” is what is in the Products Categories field but the import still fails. However, upon checking the Product Categories list, Apollo Pump and its parent category Condensate Pump were created but has 0 products in it. Can you help me debug as to why this is happening?

    Reply
    • Mark

      January 31, 2018

      Hi,

      Please reach us via support with your importing CSV so that we can check it.

      https://support.xadapter.com/hc/en-us/requests/new?

      Reply
  16. info1170

    January 22, 2018

    When exporting my products the categories are separated with “|” however, when they are imported the | doesn’t separate them properly. For example, if the export has “Category A|Category B” the categories are imported as one category with the name “Category A|Category B”, not two separate categories.

    Can you help me find a solution to this?

    Reply
    • Mark

      January 23, 2018

      Hi,

      Specifying like Category A|Category B in tax:product_cat column will import the product into two separate categories. We have checked this and it is working fine. Please reach us with the CSV via support if issue persists.

      Support LINK: https://support.xadapter.com/hc/en-us/requests/new?

      Reply
      • Lee

        March 26, 2021

        Hello.

        Great plugin, live the way you can split the exported products in say batches of 1000.

        Please can you recommend a method to import category images and descriptions to the categories already imported whilst importing products ?

        Kind regards

        Reply
        • Alan

          March 31, 2021

          Hi,

          The plugin does not support importing category images and descriptions. It supports the importing of category name only and that too along with the product data. Category image and description data is not stored with the product details in the database. Hence it cannot be imported using the plugin.

          Reply

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

Cancel reply

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

Webtoffee
Facebook
Twitter
Youtube
Linkedin
WordPress

We develop awesome WordPress plugins & WooCommerce extensions to help build successful online businesses.

Trustpilot

© 2023 WebToffee. All rights reserved.

Our plugins

  • GDPR Cookie Consent
  • PDF Invoices & Packings Slips
  • Product Import Export Plugin
  • User & Customer Import Export
  • Import Export Suite
  • Sequential Order Numbers
  • Smart Coupons for WooCommerce
  • URL Coupons for WooCommerce
  • PayPal Express Checkout
  • Stripe Payment Gateway
  • Subscriptions for Woocommerce
  • Product Catalog Sync for Facebook
  • PrintNode for PDF Invoices
  • Order, coupon, subscriptions for WooCommerce
  • WordPress Backup and Migration
View more +

Get Started

  • Plugins
  • Testimonials
  • Customer Stories
  • Affiliates
  • We're hiring

Help & Support

  • Installation Guides
  • Documentation
  • Documentation (Basic)
  • FAQ
  • Support

Company

  • About Us
  • Terms & Conditions
  • Privacy Policy
  • Cookie Policy
  • Refund Policy
  • Support Policy

© 2023 WebToffee. All rights reserved.

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. However you may visit Cookie Settings to provide a controlled consent.
Cookie settingsReject allAccept all
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of the basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website, to store user preferences and provide you with content and advertisements that are relevant. Such cookies will be stored on your browser but only upon procuring consent.

You will also have the option to opt-out of these cookies should you want to. But opting out of some of these cookies may have an effect on your browsing experience as per the descriptions elucidated against the respective categories below.

Necessary
Always Enabled
The cookies defined under this category are absolutely essential for the website to function. Hence they are loaded by default irrespective if user consent.
CookieDescription
__cfruidCloudflare sets this cookie to identify trusted web traffic.
__stripe_midStripe sets this cookie cookie to process payments.
__stripe_sidStripe sets this cookie cookie to process payments.
cookielawinfo-checkbox-advertisementSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analyticsSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Analytics" category .
cookielawinfo-checkbox-necessarySet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Necessary" category .
cookielawinfo-checkbox-preferencesThis cookie is set by the GDPR Cookie Consent plugin to check if the user has given consent to use cookies under the "Preferences" category.
CookieLawInfoConsentRecords the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
PHPSESSIDThis cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user sessions on the website. The cookie is a session cookie and is deleted when all the browser windows are closed.
viewed_cookie_policyThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not a user has consented to the use of cookies. It does not store any personal data.
Analytics
Analytics cookies help us understand how our visitors interact with the website. It helps us understand the number of visitors, where the visitors are coming from, and the pages they navigate. The cookies collect this data and are reported anonymously.
CookieDescription
_gaThis cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assigns a randomly generated number to identify unique visitors.
_ga_BQH8MSKD4MThis cookie is installed by Google Analytics.
_gat_gtagIdentification code of website for tracking visits.
_gidThis cookie is installed by Google Analytics. The cookie is used to store information on how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visited in an anonymous form.
_hjAbsoluteSessionInProgressHotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie.
_hjFirstSeenHotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user.
_hjidHotjar cookie. This cookie is set when the customer first lands on a page with the Hotjar script. It is used to persist the random user ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID.
_hjIncludedInPageviewSampleHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit.
_hjIncludedInSampleThis cookie is set to let Hotjar know whether that visitor is included in the sample which is used to generate heatmaps, funnels, recordings, etc.
_hjIncludedInSessionSampleHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit.
_hjTLDTestTo determine the most generic cookie path that has to be used instead of the page hostname, Hotjar sets the _hjTLDTest cookie to store different URL substring alternatives until it fails.
CONSENTYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
has_recent_activityThis cookie is used to signal to the code repository website if the user has browsed other website resources during the current session.
tk_aiGathers information for our own first-party analytics tool about how our services are used. A collection of internal metrics for user activity and is used to improve user experience.
tk_lrThis cookie is set by the JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack.
tk_orThis cookie is set by the JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack.
tk_qsGathers information for our own first-party analytics tool about how our services are used. A collection of internal metrics for user activity and is used to improve user experience.
tk_r3dThe cookie is installed by JetPack. Used for the internal metrics for user activities to improve user experience.
Advertisement
Advertisement cookies help us provide our visitors with relevant ads and marketing campaigns.
CookieDescription
_fbpThis cookie is set by Facebook to deliver advertisements when they are on Facebook or on a digital platform powered by Facebook advertising after visiting this website.
frThe cookie is set by Facebook to show relevant advertisements to the users and measure and improve the advertisements. The cookie also tracks the behavior of the user across the web on sites that have Facebook Pixel or Facebook social plugin.
VISITOR_INFO1_LIVEA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSCYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devicesYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-idYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
Preferences
Preference cookies are used to store user preferences to provide them with content that is customized accordingly. This includes the language of the website or the location of the visitor.
CookieDescription
_gh_sessThis cookie is used to preserve users' states across page requests.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
CookieDurationDescription
_hjSession_137657130 minutesNo description
_hjSessionUser_13765711 yearNo description
_octo1 yearNo description available.
_zendesk_authenticatedpastNo description
_zendesk_sessionsessionNo description available.
_zendesk_shared_sessionsessionNo description available.
edd_wp_session12 hoursNo description available.
logged_in1 yearNo description available.
m2 yearsNo description available.