A virtual product is one of the product types that Magento 2 support by default. Magento 2 virtual products are products that have no weight and that you can not ship. Such products are membership, services, warranties, subscriptions, digital downloads of books, music, videos, or other products.

Follow the steps below to create a virtual product in Magento 2:

Product grid

Step 1: Select The Product Type

log in to the admin panel, and navigate to Catalog > Inventory > Products In the Add Product menu, click to the upper-right corner and select Virtual Product

Step 2: General Settings

Enable Product – choose to enable or disable the virtual product in the storefront

Attribute Set – select the attribute for the virtual product. You can select the attribute set from the dropdown list or search in the search box.

Enter the Product Name and SKU of the virtual product.

Price – enter the price of the virtual product. To offers, a special price per customers group, click "Advanced Pricing" and configure as follow:

  • Special Price: enter the special price to offer a discounted price during a specified time period or scheduled campaign
  • Special Price From/To choose the first and last date the Special Price is available
  • Cost: enter the actual cost of the virtual product
  • Customer Group Price: click "Add" and sets the "Website", Customer Group, Quantity, and Price for specific customer groups. You can add any number of customer group prices. 

Advanced price setup

Tax Class – choose the tax class Class of the virtual product: "None", Taxable Goods, Refund Adjustments Gift Options, Order Gift Wrapping, Item Gift Wrapping, Printed Gift Card, Reward Points, VAT Reduced, or VAT Standard

Quantity – enter the Quantity of the virtual product that is currently in stock

Stock Status – choose from "In Stock" or "Out of Stock". By default, the Stock Status is set to "In Stock" Weight - choose "This item has no Weight".

Weight – choose "This item has no Weight". Note: a virtual product type has no weight because is not shipped

Visibility - choose the Visibility and Categories of the virtual product:

  • Not Visible Individually: The virtual product is not included in your storefront listings
  • Catalog: The virtual product is included in your catalog listings.
  • Search: The virtual product is available for search.
  • Catalog and Search: The virtual product is included in catalog listings and available for search.

By default, the Visibility of the virtual product is set to "Catalog, Search".

Categories - choose one or more categories to assign the virtual product. You can choose an existing category or create a new one.

Set Product as New From/To - set the start and end date to feature the virtual product as new. Leaves the date empty if you prefer to do not to feature the virtual product as new in the storefront.

General setup

Step 3: Content Settings

In the content section, enter the main description and short description of the virtual product to appears on the frontend. You can use the editor toolbar to format the content as needed.

General setup

Step 4: Images And Videos Settings

Upload the images of the virtual product. Click on each uploaded image, and specify the image details such "Alt text", "Role" (swatch, base, small, thumbnail).

The role is used to display images. it can be swatch, base, small, or thumbnail:

  • Base: Main image on the product detail page.
  • Small: It is used for the product images in listings on category and search results pages, Up-sells, Cross-sells, and the New Products List.
  • Thumbnail: Appear in the thumbnail gallery, shopping cart, and in some blocks such as Related Items.
  • Swatch: Used to illustrate the color, pattern, or texture. All roles can be selected for one image. To hide the image from the product page, select the "Hide from Product Page" checkbox.

Image setup

Step 5: Search Engine Optimization Settings

In the "Search Engine Optimization" section, enter the URL Key, Meta Title, Meta Keyword, and Meta Description of the virtual product.

Note: Meta Description should be between 150-160 characters in length.

SEO setup

Step 6: Related Products, Up-Sells, and Cross-Sells Settings

In this section, select the related, up-sell, or cross-sell products to appears in a storefront in form of promo blocks, presenting additional products that shoppers might be interested in.

Product link setup

Step 7: Customizable Options Settings

If you want to include custom options to your virtual product, click "Add Option" and configure the Option :

Option Title: enter the title of the option

Option Type: select the option type, a variety of option types are supported such as Text, File, Select, Date:

  • If option type "Text" is chosen, specify the price, price type, SKU, and "Max Characters" of the option.
  • If option type "File" is chosen, specify the price, price type, SKU, Compatible File Extensions, Maximum Image Size of the option
  • If option type "Select" is chosen, click "Add Value" and complete the row settings for the option: title, price, price type (fixed, percent), SKU
  • If option type "Date" is chosen, specify the price, price type, SKU of the option

Required: select this field if the option is required to purchase the product.

Custom options

Step 8: Product in Websites Settings

Select the website(s) where the virtual product will be available in the storefront.

Sites setup

Step 9: Design & Schedule Design Update Settings

In the "Design and Schedule Design Update" sections, you can choose a different theme to be applied to the virtual product.

Design setup

Step 10: Gift Options Settings

set "Allow Gift Message" to "Yes" to allows a gift message to be included for the virtual product during checkout.

Gift setup

Step 11: Publish The Product In The Storefront

Once you have configured each section of the virtual product, click "Save" to save the product, and check-in storefront. The created virtual product display in frontend :

Virtual product frontend


We hope you find this step-by-step guide helpful. Feel free to share or leave a comment below. Your opinion is much appreciated!

Tags: virtual product