WooCommerce product types determine how an item is configured, presented, and purchased. Choosing the correct type keeps the product editor focused, gives customers the right buying controls, and prevents a growing catalog from becoming difficult to maintain.
WooCommerce covers common selling models with Simple, Variable, Grouped, and External or Affiliate products. Virtual and Downloadable settings adjust fulfillment. When a specialized product family repeatedly needs its own data and workflow, a custom product type becomes the next architectural option.
WooCommerce product types at a glance
| Structure | Best use | Example |
|---|---|---|
| Simple | One defined product with one main purchase configuration | A mug or fixed-price consultation |
| Variable | Defined versions with commercial differences | A shirt with size and color combinations |
| Grouped | Several existing products presented together | A coordinated furniture collection |
| External or Affiliate | An offer purchased on another website | An affiliate software recommendation |
| Virtual | A product that does not require shipping | An online consultation |
| Downloadable | A product that provides downloadable files | An ebook or template pack |
| Custom product type | A reusable specialized product model | A Course with dedicated fields and presentation |
Simple products: one clear offer
Use a Simple product when the customer buys one defined item and the standard WooCommerce controls describe it accurately. The product can still use categories, attributes, or a small number of additional fields without becoming a new type.
A fixed-price strategy session is a good example. If every session uses the standard title, description, price, and purchase flow, a Simple product may be all the store needs.
Variable products: real purchasable versions
Use a Variable product when customers choose between defined versions of the same item. A variation is appropriate when a combination can have its own price, stock, SKU, image, weight, or dimensions.
For example, a training product may have Standard and Premium packages with different prices and included services. Those are commercial versions. The instructor, duration, and course level remain shared product information rather than separate variations.
The detailed decision appears in Custom Product Type vs Variations in WooCommerce.
Grouped products: present existing products together
A Grouped product collects related standalone products on one page. It is useful when customers should browse and purchase items from a coordinated range, while each item keeps its own product record.
Grouping does not create a specialized data model. A collection of courses can be presented together, but grouping alone does not add Course Details fields or a course-specific editing workflow.
External or Affiliate products: purchase elsewhere
An External or Affiliate product lets the store describe an offer while sending the purchase action to another URL. Use it when WooCommerce is the discovery layer but another website completes the transaction.
This type solves a destination problem, not a specialized product-data problem.
Virtual and Downloadable: fulfillment settings
Virtual removes the shipping requirement. Downloadable enables file delivery controls. These settings can work with suitable product structures and do not automatically require a separate product model.
An online course can be Virtual because it is not shipped. A template package can be Downloadable. The decision to create a Course or Digital Product type is separate: it depends on whether the catalog needs a reusable specialized workflow.
Attributes, categories, and add-ons are not product types
| Feature | Responsibility | Example |
|---|---|---|
| Category | Navigation and grouping | Business Courses |
| Attribute | Description, filtering, or variation input | Beginner level |
| Product add-on | Buyer-supplied choice or information | Attendee note |
| Product type | The reusable product model | Course |
These layers can work together. A Course type can use a subject taxonomy, a level attribute, and a customer option without confusing their responsibilities.
When the built-in types stop fitting
A custom product type is justified when many products share a meaningfully different structure. Strong signals include:
- Editors repeatedly enter the same specialized information.
- Important values are buried in manually formatted descriptions.
- The product family needs a dedicated admin tab.
- Customers need the same specifications in a consistent location.
- The catalog needs a type-specific layout, badge, taxonomy, or visibility rule.
This is the difference between adding one value and defining a model. The full concept is explained in What Is a Custom Product Type in WooCommerce?.
Example: build a Course model instead of overloading Simple products
Imagine a store selling thirty courses. Every course needs an instructor, duration, level, access period, learning mode, materials, and prerequisites. Entering those values by hand in descriptions creates inconsistent pages and slows the content team.
With Custom Product Type for WooCommerce, the store can create a dedicated Course model:
- Create Course and Courses labels through WooCommerce > Product Types.
- Select an available product-page layout, or keep the default WooCommerce layout.
- Enable Custom Taxonomy when courses need their own hierarchical browsing.
- Set Display In Shop according to the catalog journey.
- Create a Course Details admin tab.
- Add Text, Textarea, Select, Radio, Checkbox, or Number fields.
- Enable Show In Front for customer-relevant course data.
- Choose a position before or after Add to Cart, around Product Meta, or in the Single Product Summary.
- Create a product, select Course, and complete the reusable fields.
The Course type now owns the shared structure. Virtual can still remove shipping, and real package versions can still use the appropriate commercial structure.
Follow How to Create a Custom Product Type in WooCommerce for the complete setup.
A practical selection workflow
- Start with the purchase: Is this one offer, several defined versions, a group, or an external purchase?
- Check fulfillment: Is shipping required, and are downloadable files part of delivery?
- Map shared data: Does a product family repeatedly need specialized fields?
- Map buyer input: Which values are supplied for an individual purchase?
- Test one representative product: Confirm the editor and storefront before scaling.
| Requirement | Choose |
|---|---|
| One standard offer | Simple |
| Versions with different commercial values | Variable |
| Present existing products together | Grouped |
| Purchase on another site | External or Affiliate |
| No shipping | Virtual setting |
| File delivery | Downloadable setting |
| Repeated specialized model | Custom product type |
Choose the smallest structure that remains clear at scale
The correct product type represents the commercial reality of the offer and keeps catalog work predictable. Use the built-in structures when they fit. Introduce a custom type when it removes repeated manual work and gives a genuine product family a better model.
Review Custom Product Type for WooCommerce when your catalog has reached that point, then test the new model with one complete product before applying it broadly.
Frequently asked questions
Is Virtual a separate WooCommerce product type?
Virtual is a fulfillment setting that removes shipping requirements. It can be used with a suitable product structure.
When should I use a Variable product?
Use Variable when customers choose defined versions that can differ in price, stock, SKU, image, weight, or dimensions.
Can a custom product type use categories and attributes?
Architecturally, yes. The type defines the model, categories support navigation, and attributes describe shared values or support filtering.
Should a service always be a custom product type?
No. A fixed service can remain Simple. Create a custom type when multiple services need a repeated specialized data and presentation workflow.
What should I test before creating many products?
Create one representative product, complete every field, inspect the product page on desktop and mobile, and confirm the structure makes the second product easier to create.


