how to set special price in magento 2

How to Set Special Price in Magento 2: Step-by-Step Guides

by nkhuyen

Configuring special prices in Magento 2 is one of the many tactics that can be employed to lure customers with discounts and improve the conversion rates in your store. It allows you to create distinct price levels for certain products. You can implement these discounts in bulk and modify prices for configurable items. So, how do we set special price in Magento 2 store?

Don’t worry. This guide handles special pricing in Magento 2 to help Magento store owners formulate and execute his or her sales strategy better.

Now. Let’s dive in!

Short Overview of Special Price Features in Magento 2 Store

The Special Price in Magento 2 is a tool for eCommerce retailers to sell products at a lower price. This is part of the promotional and pricing features in Magento 2.

A Special Price feature is a promotion offered to customers for a limited time. This special price is shown on both the catalog page and product page, with the regular price grayed out. The two prices are connected with the word “was”, for example, $30.00 was $36.00.

In Magento 2 the special price configuration is found in the Advanced Settings of each product. You just need to enter the discounted price and the duration of the offer. Once configured the special price is live.

Using a Special Price can be a call to action, creating a sense of urgency for potential buyers. It allows Magento store admins to execute dynamic pricing from the Magento admin interface. The special price is shown alongside the regular price on product pages so customers can see the savings they get during the promotion.

This section below will guide you through how to use Magento special price feature and explore the steps necessary to set the special price on the catalog and product pages.

How to Set Special Price in Magento 2 via Admin Panel?

A promotional price may be available for a limited duration. Throughout this designated timeframe, the promotional price will be displayed in place of the standard price, accompanied by a note indicating the regular price. Below is a comprehensive guide for configuring Magento 2 set special price for both individual and multiple products.

Magento 2 Set Special Price for Individual Products

You can conveniently establish a unique price for an individual product within the catalog:

1. Use a scheduled update

Magento (Adobe Commerce) provides functionality for scheduled updates. Utilize these promotional tools to assign a special price to a particular product for a designated timeframe.

Step 1. Access the product in Edit mode.

Step 2. Select Scheduled New Update.

Use scheduled update to set special price 1

Step 3. In the Update Name field, input a title for the special price promotion.

Step 4. Provide a concise Description.

Step 5. Use the Calendar icon to select the Start Date and End Date for the special price promotion.

You may also adjust the start and end times using the Hour and Minute sliders. Click Close once the times are set.

Use scheduled update to set special price 2

Step 6. Navigate to the Price field, select Advanced Pricing, and specify the amount for the Special Price to be implemented as per the scheduled update.

Use scheduled update to set special price 3

Step 7. When completion, click Done button and then Save button.

In the storefront, the special price will be displayed in both the catalog listing and on the product page. The Scheduled Changes will be visible at the top of the page.

Use scheduled update to set special price 4

2. Use a simple start and end date

Magento Open Source provides straightforward options for setting start and end dates within the Advanced Pricing settings.

Step 1. Access the product in Edit mode.

Step 2. Navigate to the Price field, select Advanced Pricing, and input the Special Price amount.

Step 3. Utilize the Calendar icon to select the Start Date and End Date for the special price promotion.

The special price will take effect immediately after midnight at the start of the designated start date (00:01) and will remain active until just before midnight (23:59) on the day preceding the end date.

Use simple start and end date to set special price

Step 4. Once finished, click Done button and then Save button.

In the storefront, the special price will be displayed in both the catalog listing and on the product page.

Set Special Price in Magento 2 for Multiple Products

You have the option to set a unique price for several products, including different variations of a configurable product.

1. Set a special price for selected products

The following instructions outline the process for applying the same special price to various product variations of a configurable product in Adobe Commerce.

Step 1. Navigate to the Products page, click on Filters, and input the name of the configurable product.

Step 2. Change the Type to Configurable Product and click on Apply Filters.

Step 3. To assign the same special price to all products, check the Select All option in the header of the first column.

On the other hand, you can individually select the checkbox for each product you wish to include.

Step 4. Set the Actions control to Update attributes.

Step 5. Locate the Special Price field, check the Change box beneath it, and enter the desired special price.

Set special price for selected products

Step 6. When finished, click Save button.

The Magento 2 special price will be displayed in the store’s catalog listings and on the product page. For configurable products, the regular price will also be shown on the product page once the options are selected.

2. Set Magento special price and date range for selected products

The following instructions outline the process for applying the same special price to various product variations of a configurable product in Magento Open Source.

Step 1. Go to Catalog > Products in the Magento Admin panel.

Step 2. Click on Filters.

Step 3. Type in the Configurable product name.

Step 4. Set the Type to Simple Product.

Set special price and date range for selected products 1

Step 5. Press the Apply Filters button.

The specified grid will showcase all the simple products that are connected as variations of the configurable product.

Step 6. In order to assign one special price for the entire catalog, please choose the control in the top header of the first column to Select All. Or you may check the box next to each product that you want to include.

Step 7. Choose Update attributes from the Actions control.

Set special price and date range for selected products 2

Step 8. In the field _Special Price, please follow the steps below:

  • Check the Change checkbox beneath the _Special Price  field and input the desired special price.

setting special price for multiple products

  • Check the Change checkbox under the Active From and Active To field, click the Calendar icon, and select the active date for the special price promotion.
  • The special price will take effect immediately after midnight on the start date (00:01) and will remain in effect until just before midnight (23:59) on the day prior to the end date.

Step 9. When finished, click Save button.

A notification will indicate how many records were updated with the special price.

The special price will be available in the store on the specified date and will be visible in catalog listings and on the product page. For configurable products, the regular price will also be displayed on the product page when options are selected.

>>> For detailed guidance on setting special prices for configurable products in Magento 2, read this in-depth blog post: Magento 2 Configurable Product Price: Configuration Guide & Best Practices

Magento 2 Set Special Price Programmatically

Here is the Sample Code:

<?php

namespace YourVendor\YourModule\Model;

use Exception;
use Magento\Catalog\Model\Product;
use Magento\Catalog\Api\SpecialPriceInterface;
use Magento\Catalog\Api\Data\SpecialPriceInterfaceFactory;
use Magento\Framework\Stdlib\DateTime\TimezoneInterface;

class UpdateSpecialPrice
{
    /**
     * @var SpecialPriceInterface
     */
    private $specialPrice;

    /**
     * @var SpecialPriceInterfaceFactory
     */
    private $specialPriceFactory;
    /**
     * @var TimezoneInterface
     */
    protected $timezone;

    /**
     * UpdateSpecialPrice constructor.
     * @param SpecialPriceInterface $specialPrice
     * @param SpecialPriceInterfaceFactory $specialPriceFactory
     * @param TimezoneInterface $timezone
     */
    public function __construct(
        SpecialPriceInterface $specialPrice,
        SpecialPriceInterfaceFactory $specialPriceFactory,
        TimezoneInterface $timezone
    )
    {
        $this->specialPrice = $specialPrice;
        $this->specialPriceFactory = $specialPriceFactory;
        $this->timezone = $timezone;
    }

    /**
     * @param Product $product
     * @return bool
     * @throws Exception
     */
    public function getSpecialPriceData(Product $product)
    {
        $sku = $product->getSku();
        $storeId = $product->getStoreId();
        $yourSpecialPrice = 10.99; //(float) Special price value
        try {
            $dateFrom = '2021-07-01'; // future date to current date
            $dateTo = '2021-07-25'; // future date to price from

            $specialPriceFrom = $this->timezone->date($dateFrom)->format(\Magento\Framework\Stdlib\DateTime::DATETIME_PHP_FORMAT); //(string) Special price from date value in Y-m-d H:i:s format in UTC
            $specialPriceTo = $this->timezone->date($dateTo)->format(\Magento\Framework\Stdlib\DateTime::DATETIME_PHP_FORMAT); //(string) Special price to date value in Y-m-d H:i:s format in UTC.

            $prices = $this->specialPriceFactory->create();
            $prices->setSku($sku)
                   ->setStoreId($storeId)
                   ->setPrice($yourSpecialPrice)
                   ->setPriceFrom($specialPriceFrom)
                   ->setPriceTo($specialPriceTo);

            $specialProduct = $this->specialPrice->update($prices);
        } catch (Exception $exception) {
            throw new Exception($exception->getMessage());
        }
        return $specialProduct;
    }
}

Let’s try and you will see the result!

Testing After Setting Up Special Price Feature in Magento 2 Store

If the special price is not displayed accurately in the storefront on either the catalog listing or product pages, please clear your browser cache:

Step 1. Navigate to System > Cache Management on the Admin sidebar.

Step 2. Then, click on Flush Magento Cache.

Take Notes: The final price of the product is determined by the lowest applicable price, following this formula:
Final Price = Min(Regular(Base) Price, Group(Tier) Price, Special Price, Catalog Price Rule) + Sum(Min Price for each required custom option).

Take Notes: Fixed-price products with Magento 2 customizable options are not influenced by Group Price, Tier Price, Special Price, or Catalog Price rules.

Set Special Price in Magento 2: Best Strategies

Setting the right special price can significantly impact your sales. Here are some effective strategies to consider:

Use Promotional Pricing to Boost Sales

While special-priced products are prominently featured in your catalog, this alone may not capture the attention of potential customers. To maximize the impact of Magento’s special pricing, consider the following strategies.

1. Set up a Sales Category

Consumers are always on the lookout for the best bargains, so consolidating these offers into a dedicated Sales category is highly effective.

You won’t need to manually adjust the products in this category. Instead, you can set up an automated sales category that dynamically adds or removes products as needed.

Simply create a rule that states, “Include all products from specific categories that have a special price in the ‘Sales’ category” It’s that straightforward.

Set up Sales Category

>>> Automate category management in Magento 2 – Try the Magento 2 Dynamic Category extension today!

2. Use Product Labels

While special prices are visible in your catalog once configured, this visibility alone may not be sufficient to drive purchases.

A more effective approach is to use product labels for items with special pricing.

Labels such as “Hot,” “Deal,” “Sale,” and “Special Offer” can significantly enhance visibility. You can easily apply these Magento 2 product labels using predefined rules.

Use Product Labels

Creating custom product labels in Magento 2 empowers you to highlight promotions, new arrivals, and more, enhancing customer engagement and boosting visibility on your product pages. For full instructions, check out the complete guide: How to Create Custom Product Labels in Magento 2

3. Add Discounted Products as Cross-Sells

If customers are already inclined to make a purchase, why not suggest additional lower-priced items? This technique, known as cross-selling, is proven to be effective.

To streamline the process, establish a related product rule that automatically assigns products with special prices as cross-sells in Magento store. Just set it up and let it run.

Add Discounted Products as Cross-Sells

Add Discounted Items as Cross-Sell Opportunities

Adjusting the special price for each product individually can be time-consuming. To streamline this process, it is advisable to update special prices in bulk within Magento.

You can begin by selecting all the products for which you wish to add or modify a special price. Next, locate the Mass Change Special Price option in the mass action menu and input the desired amount. You have the flexibility to adjust the special price by a fixed amount or percentage.

Add Discounted Items as Cross-Sell Opportunities

As demonstrated, Magento 2 provides numerous opportunities to leverage special pricing to enhance your sales strategy.

This approach consistently captures attention and motivates purchases, irrespective of the product type, customer group, or base price. Nevertheless, Magento offers additional pricing options beyond just special pricing.

To Sum Up

That’s all about how to set special price in Magento 2 store. Special pricing is one of the most important features of the promotional and pricing capabilities of Magento 2. The special price feature in Magento 2 allows you to offer unique discounts on your products for a limited time. This strategy effectively leverages the fear of missing out (FOMO) to encourage prompt customer action. Configuring a Special Price in Magento 2 is straightforward and can be accomplished in just a few simple steps. Once implemented, you can anticipate an increase in product visibility and sales.

BSS Commerce always welcomes any inquiries, so feel free to leave your questions in the comment section. Thanks for reading!

FAQs – How to Set Special Price in Magento 2 Store

1. Is it possible to create custom price levels for different product attributes?

Yes, product attributes can be used to define custom rules for special prices. For instance, one can set a special price for all products possessing the same for a certain category or attributed value.

2. Can a discounted price be set for a number of products in one go?

Yes. Magento 2 allows to perform bulk actions for the application of special prices using its product import feature as well. To do this, prepare a CSV file with product SKUs, special prices and relevant dates. After that, this file can be used in the Import option System > Data Transfer > Import in order to change a list of products at once.

3. Is it true that after the offer is over, the price will go back to the original one?

Yes. On the product’s setting when you configure the “Special Price To” Date the product will go back to the original price upon expiration of that Date. This option makes it easier to handle exclusive offers since there will be no need to make angry u-turns.

4. How can I assign a special price to a particular product in Magento 2?

To set a special price, Catalog > Products. Select the product and go to the Price tab. Enter Price, Start Date and End Date, then Save the changes.

Next Reading Suggestions

© 2019 BSS Commerce owned by THANH CONG INTER ., JSC. All Rights Reserved.
Business registration certificate no. 0106064469 issued by Hanoi Department of Planning and Investment on 19 December 2019.
Legal Representative: Mr. Nguyen Quang Trung.