{"id":1062,"date":"2020-06-20T08:06:21","date_gmt":"2020-06-20T08:06:21","guid":{"rendered":"https:\/\/meetanshi.com\/blog\/2020\/06\/20\/create-virtual-products-in-magento-2\/"},"modified":"2025-07-21T16:34:01","modified_gmt":"2025-07-21T11:04:01","slug":"create-virtual-products-in-magento-2","status":"publish","type":"post","link":"https:\/\/meetanshi.com\/blog\/create-virtual-products-in-magento-2\/","title":{"rendered":"How To Create Virtual Products in Magento 2"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">According to&nbsp;<a href=\"https:\/\/experienceleague.adobe.com\/en\/docs\/commerce-admin\/catalog\/introduction\" target=\"_blank\" rel=\"noreferrer noopener\">Magento docs<\/a>,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The virtual product represents digital products or in other terms intangible items such as monthly or annual subscription, services, memberships, warranties. You can also have a look at the list of&nbsp;<a href=\"https:\/\/meetanshi.com\/blog\/digital-products-to-sell-online\/\">profitable digital products to sell online<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are&nbsp;<a href=\"https:\/\/experienceleague.adobe.com\/en\/docs\/commerce-admin\/catalog\/introduction\" target=\"_blank\" rel=\"noreferrer noopener\">six product<\/a><a href=\"https:\/\/experienceleague.adobe.com\/en\/docs\/commerce-admin\/catalog\/products\/product-create\" target=\"_blank\" rel=\"noreferrer noopener\">&nbsp;types<\/a>&nbsp;in Magento 2:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. <a href=\"https:\/\/meetanshi.com\/blog\/create-simple-product-in-magento-2\/\">Simple Product<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. <a href=\"https:\/\/meetanshi.com\/blog\/magento-2-create-configurable-product\/\" target=\"_blank\" rel=\"noreferrer noopener\">Configurable Product<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. <a href=\"https:\/\/meetanshi.com\/blog\/create-grouped-products-in-magento-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">Grouped Product<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. Virtual Product<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5. <a href=\"https:\/\/meetanshi.com\/blog\/magento-2-create-bundle-product\/\" target=\"_blank\" rel=\"noreferrer noopener\">Bundle Product<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6. <a href=\"https:\/\/meetanshi.com\/blog\/create-downloadable-products-in-magento-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">Downloadable Product<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Among these, virtual products are not physical or digital entries. They cannot be shipped or downloaded from the link. This is a great way to sell services or intellectual products.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This type of product does not need to be delivered at all and also don\u2019t need any stock management! Virtual products can be used in association with grouped and bundle products also.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An example of Magento 2 Virtual product is support services, online language courses, technical service, insurance, reservation, online consulting or subscriptions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow the below steps to create a virtual product in Magento 2<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Steps to create virtual products in Magento 2:<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. <strong>Login<\/strong>&nbsp;to admin panel<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Navigate to&nbsp;<strong>Catalog &gt; Products<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. Under the&nbsp;<strong>Add Product<\/strong>&nbsp;menu, select&nbsp;<strong>Virtual Product<\/strong>&nbsp;in the upper right corner.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/1.0.png\" alt=\"virtual products in Magento 2\" class=\"wp-image-9309\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">4. Fill the below details after&nbsp;<strong>enabling the product<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Attribute Set<\/strong>&nbsp;\u2013 Select the attribute set as default or create an attribute set.<\/li>\n\n\n\n<li><strong>Product Name<\/strong>&nbsp;\u2013 Enter the product name<\/li>\n\n\n\n<li><strong>SKU<\/strong>&nbsp;\u2013 Enter the SKU of the product. However, Magento takes the product name as the default SKU<\/li>\n\n\n\n<li><strong>Price<\/strong>&nbsp;\u2013 Set the price of the product.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/advance-pricing.png\" alt=\"advance-pricing\" class=\"wp-image-9312\"\/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Advanced Pricing<\/strong>\n<ol class=\"wp-block-list\">\n<li><strong>Special Price<\/strong>&nbsp;\u2013 Enter the discounted price<\/li>\n\n\n\n<li><strong>Special Price From &amp; To<\/strong>&nbsp;\u2013 Set the start and end date of the discount availability<\/li>\n\n\n\n<li><strong>Cost<\/strong>&nbsp;\u2013 The actual cost of the product<\/li>\n\n\n\n<li><strong>Tier Price<\/strong>&nbsp;\u2013 The discount price offered to customers based on the customer group and website. Here, select the quantity and price for every customer group.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tax Class<\/strong>&nbsp;\u2013 Select None or Taxable Goods<\/li>\n\n\n\n<li><strong>Quantity<\/strong>&nbsp;\u2013 Enter the quantity of the products that are currently in stock<\/li>\n\n\n\n<li><strong>Stock Status<\/strong>&nbsp;\u2013 Set the stock status accordingly. Here, the default value is In Stock.<\/li>\n\n\n\n<li><strong>Weight<\/strong>&nbsp;\u2013 virtual product is not shipped, the Weight field is not used.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/1.2.png\" alt=\"1.2\" class=\"wp-image-9311\"\/><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Categories<\/strong>&nbsp;\u2013 Assign categories to the product using Select box and choose the existing category or create a new one.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/categories.png\" alt=\"categories\" class=\"wp-image-9313\"\/><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Set Product As New From<\/strong>&nbsp;\u2013 Set the dates to feature the product as new.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Content<\/strong><\/p>\n\n\n\n<ul start=\"1\" class=\"wp-block-list\">\n<li><strong>Description<\/strong>&nbsp;\u2013 Enter the main product description for displaying on the product page<\/li>\n\n\n\n<li><strong>Short Description<\/strong>&nbsp;\u2013 Enter the short description, mainly for the <a href=\"https:\/\/meetanshi.com\/blog\/magento-2-rss-feed\/\" data-type=\"link\" data-id=\"https:\/\/meetanshi.com\/blog\/magento-2-rss-feed\/\">RSS feed<\/a> or product page, catalog page, etc<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/content-1024x467.png\" alt=\"content\" class=\"wp-image-9314\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">6. <strong>Configurations<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Configurable products allow customers to choose options. If you want to add configurations to the virtual product then follow the steps that Magento provides.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">7. <strong>Images and Videos<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add images and videos to display on the product page using the popup or drag-drop functionality.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/images-and-videos.png\" alt=\"images-and-videos\" class=\"wp-image-9319\"\/><\/figure>\n<\/div>\n\n\n<ul start=\"2\" class=\"wp-block-list\">\n<li>Click on the image to fill up the details like Alt Text and Role:<\/li>\n<\/ul>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Alt Text \u2013 Enter the content to describe the image or to display in the case when the image is not loaded.<\/li>\n\n\n\n<li>Role\n<ul class=\"wp-block-list\">\n<li>Base \u2013 Main image for the product page<\/li>\n\n\n\n<li>Small \u2013 Image for listings on category and search results pages, and for sections such as for Up-sells, Cross-sells, and the New Products List.<\/li>\n\n\n\n<li>Thumbnail \u2013 Images for thumbnail gallery, shopping cart, blocks like related items<\/li>\n\n\n\n<li>Swatch \u2013 Used to illustrate the color, pattern, or texture.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/image-detail.png\" alt=\"image-detail\" class=\"wp-image-9318\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">8. <strong>Search Engine Optimization<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>URL Key<\/strong>&nbsp;\u2013 Enter the URL key for the online address of the product<\/li>\n\n\n\n<li><strong>Meta Title<\/strong>&nbsp;\u2013 Enter the title for the display in search results. The default meta title is based on the product name.<\/li>\n\n\n\n<li><strong>Meta Keywords<\/strong>&nbsp;-Add relevant keywords for more visibility in search results.<\/li>\n\n\n\n<li><strong>Meta Description<\/strong>&nbsp;\u2013 Enter the description of the product for display in the search results.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/SEO.png\" alt=\"SEO\" class=\"wp-image-9323\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">9. Related Products, Up-Sells, and Cross-Sells \u2013 Used to promote other products in the store<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Related Products<\/strong>&nbsp;\u2013 Add products that are supposed to be purchased in addition to the item the customer is viewing.<\/li>\n\n\n\n<li><strong>Up-Sells Products<\/strong>&nbsp;\u2013 Add products that are similar to the product that you are creating but probably higher quality<\/li>\n\n\n\n<li><strong>Cross-Sells Products<\/strong>&nbsp;\u2013 Add products that are offered on the shopping cart page as last-minute purchases before the checkout process begins.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/related-upsell-cross-sell.png\" alt=\"related-upsell-cross-sell\" class=\"wp-image-9322\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>10. Customizable Options<\/strong>&nbsp;\u2013 Configure this option to offer customers a selection of options with a variety of text, selection, and date input types.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/customizable-options.png\" alt=\"customizable-options\" class=\"wp-image-9315\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">11. <strong>Products in Websites<\/strong>&nbsp;\u2013 Select the option where the product is available as per the store hierarchy. By default, for a single website installation, the website checkbox is marked.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/product-in-websites.png\" alt=\"product-in-websites\" class=\"wp-image-9321\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">12. <strong>Design<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Layout<\/strong>&nbsp;\u2013 Choose a layout from the dropdown<\/li>\n\n\n\n<li><strong>Display Product Options In<\/strong>&nbsp;\u2013 Select where the product options appear on the product page from the drop-down menu<\/li>\n\n\n\n<li><strong>Layout Update XML<\/strong>&nbsp;\u2013 Enter XML code in case of customizing the theme<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/design.png\" alt=\"design\" class=\"wp-image-9316\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">That was all about the steps to add virtual product in Magento 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you follow the mentioned steps the appearance of the frontend will look like this!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2020\/06\/frontend.png\" alt=\"frontend\" class=\"wp-image-9317\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">That\u2019s all! You can also change how the products are displayed to the customers on the frontend by&nbsp;<a href=\"https:\/\/meetanshi.com\/blog\/configure-magento-2-product-listing\/\" target=\"_blank\" rel=\"noreferrer noopener\">configuring the Magento 2 product listing<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can also refer to the video tutorial To Create Virtual Products in Magento 2 from our&nbsp;<a href=\"https:\/\/www.youtube.com\/playlist?list=PLBTOxSAJzwEjM5MilmEqj98Ib80tKBu7r\" target=\"_blank\" rel=\"noreferrer noopener\">Magento 2 video tutorial<\/a>&nbsp;series:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"How To Create Virtual Products in Magento 2\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/ghTNbJ1yjew?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Visit our Article on&nbsp;<a href=\"https:\/\/meetanshi.com\/blog\/create-custom-product-type-in-magento-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">Create Custom Product Type Magento 2<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Do share the tutorial with beginners in Magento 2 via social media.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thanks.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>According to&nbsp;Magento docs, The virtual product represents digital products or in other terms intangible items such as monthly or annual subscription, services, memberships, warranties. You&#8230;<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[34],"tags":[],"class_list":["post-1062","post","type-post","status-publish","format-standard","hentry","category-magento"],"acf":[],"_links":{"self":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/1062","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/comments?post=1062"}],"version-history":[{"count":5,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/1062\/revisions"}],"predecessor-version":[{"id":18800,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/1062\/revisions\/18800"}],"wp:attachment":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/media?parent=1062"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/categories?post=1062"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/tags?post=1062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}