For more details see how the Special Promotions for Magento 2 extension works.
Add 16 additional promo actions to your default cart price rules. Run numerous promotions to easily attract customers with new irresistible offers and increase sales.
General rules of working with coupons:
What is the difference between product conditions in the Actions tab and in the Conditions tab?
Conditions in the 'Conditions' tab control when the rule will be applied. For example, if the Subtotal has reached a certain value or if there are some specific products in the cart.
Conditions on the Actions tab control to which products discount will be applied. For example, you can restrict discount application on the product from only a certain category.
Check Special Options Values - If the option is set to 'Yes' the custom options for the rule conditions will be enabled. Thus, you can use the ‘Custom option SKU’ condition, for example, to trigger a discount rule only when a particular Special Option was selected for a product. See the example of custom options below.
Show Rule Label if Discount Amount is 0 - If this setting is enabled, a label with this information will still be displayed in the shopping cart and at checkout, even if the discount applied by the rule is zero. Please, note, that this setting is enabled by default.
Skip Items with Special Price - Set this option to ‘Yes’, if you don't want to apply coupons and shopping cart price rules to the products with a special price.
Skip Items with Tier Price - Set this option to ‘Yes’, if don't want to apply coupons and shopping cart price rules to the products with tier price.
Skip Configurable Items when Child has Special Price - Set this option to ‘Yes’, if don't want to apply coupons and shopping cart price rules to configurable products if their child items have a special price.
Show Discount Breakdown - enable the option to display the list of discounts with discounted products. The customer will clearly see which products are discounted and what is the discount amount.
Enable Debug Mode - set to Yes to enable the debug mode. When enabled, you will see the discounts applied to each particular item in the cart. The feature is designed to let you make you sure that all the configurations and settings work as expected. It is not available to customers.
Show Debug Information Only For - specify IP addresses, separated by a comma, to which the debug mode is applied. If you leave this field empty, nothing will be displayed.
This is the example of how the debug mode works:
Under each item, on the left side, you'll see the applied rule id and its name. On the right side, on the opposite of the rules, you will see the amount of discount applied.
How to make so that your customers will instantly see the promotion campaigns you launch? The answer is evident - highlight them with banners and labels.
Please, go to Marketing → Cart Price Rules → Add New Rule button. Then, create any promotion based on the action, provided by the extension. Know how to configure any type of promotions in the section How to set up a promo rule? See the examples.
After all the necessary configuration is set up, open the Highlight Promotion tab.
At first, specify for which products the banners/labels should be shown. You can choose to display them for all products, for particular product categories or only for special products.
When displaying banners or labels for definite products, you should specify the necessary product categories or product SKUs.
Then choose which kind of banners to display:
1) Top Banner On Product Page - the banner will appear on top of product pages.
On Hover Text - specify the text that will be shown on a mouse hover.
Link - define the page to which the banner should lead.
Here's the example of how it will display on the frontend:
2) After Product description Banner - the banner will appear on product pages, after the products description.
Here's the frontend example:
Also, you can choose to provide products with catchy labels:
You can combine different banners types and show them together with banners.
Special Promotions for Magento 2 allows you to easily create cart price rules via REST API.
Rule duration
Now, when configuring a cart price rule in the Community edition (CE) of the Special Promotions and Special Promotions Pro extensions, you can set not only start and expiry dates of the rule but also the exact time in the From/ To settings.
When creating a new cart price rule via API, it is necessary to specify the time for the From/To settings in the UTC format taking into account the selected locale. To check this, please navigate to Stores → Configuration → General → General → Locale Options → Timezone.
"from_date": "05/29/2023 21:00",
"to_date": "05/30/2023 20:59"
These settings are common among most of the actions and work quite the same.
Price (Special Price is Set) - the calculation will be based on the special price, that was set in the product settings.
Price After Previous Discount(s) - the calculation will be based on the price configured after the previous discount(s) is applied.
Original Price, Calculate before Special Price (if present) - the calculation will be based on the price before any changes are applied.
Original Price, Apply to Original Price (skip if result is more than special price) - the algorithm compares Special Price with Final Price after discount and chooses the value you need depending on module configuration. This option is helpful when it is required to limit discounts in case discounts from several sources apply to the same item. This way, you don't need to check each and every possible discount source for overlaps and don't spend excessive amounts of money on promo discounts.
The 'Buy X get Y free (any products)' is designed to set the number of products that the customer will receive at a discount by applying the rule once.
Let's have a look how to configure the settings for this action.
The rule is set to give 10% discount for 5 cheapest products in the cart. And here's the result:
The Cheapest action is designed to apply a discount based on the price of cheapest products in the shopping cart.
This rule is set up to give 10% discount on the cheapest product in the cart.
Let's have a look how to configure the settings for this action.
Discount Amount (in %) - set here the amount of the discount(%) you would like to give. In our case, it's 10%.
Maximum Qty Discount is Applied To - here, we set the maximum number of items to which the discount can be applied. For example, if your promotion is set to apply a discount on 1 cheapest product in the cart and you set this setting to '1', the discount will be applied only once. If you want to get a discount to 2 cheapest products in the cart - set this option to '2'. In our case, we set 1.
Max Amount of Discount - set the maximum discount amount that can be applied to one rule. It means that no matter how you configured the previous settings, the final discount can be more than you specify here. In our case, we'll not set any limitations.
Discount Qty Step (Buy X) - here you specify a step by which a discount will be iterated. For example, if you set '2', the discount will be applied for every second product in the cart: 2, 4, 6, etc. In our case, we need to set '1'.
Calculate Discount Based On - this setting controls how the discount value is calculated.
Use General Skip Settings - if enabled, general Skip settings will be apply to created rule.
Skip Items with - choose needed option from the list to skip products with Special Price (incl. Catalog Price Rules), Tier Price, Cart Price Rules Discount or Configurable when Child has Special Price while creating the rule.
Apply to Shipping Amount - enabled this option only if you want to apply the discount to the sum of the Subtotal + the Shipping Rate. We don't need this for our promotions, so we set to 'No'.
Discard subsequent rules - enable this option to stop other rules with lower priorities if this rule is applied. We don't need this for our promotions, so we set to 'No'.
Let's see the rule in action.
Example rule setup
The cheapest product, in this case, is 'Argus All-Weather Tank' which is priced at $22.00. The discount amount is $2.20 which is exactly 10% of $22.00. Spot on!
This action works exactly the same as Percent Discount: The Cheapest, also for Buy 1 get 1 free above, but it will set a fixed price for Product Y instead of a percent discount.
The Most Expensive action works just the same as The Cheapest, but instead of calculating discount based on cheapest product, it checks the price of most expensive product instead.
Sample rule setup
The rule is set to give 10% discount on most expensive product. And here's the result
'Fusion Backpack' is the most expensive product in this case priced at $59.00. 10% of that value will be $5.90, and looking at Discount value we see a match.
With this action you can configure promotions like 'Get $10 off every $300 in the cart'.
Sample rule
This rule is set to give $1 every $20 spent. This it how it looks in action
Subtotal value is $135.00. Our discount should apply 6 times (135/20=6.75, rounding to the lower value) and give $6 discount. Which it does!
This rule group can be used when you want to give a discount on certain product or selection of products, but only if there is specific, different, product present in the cart. Example promotion: 'Buy White Shirt and get Red Bow-tie with 15% discount'.
Let's set up a rule like 'Buy Pushup Grips and get fitness video with 15% discount'. This is how the rule might look like
This one requires some explanation.
Promo Categories and Promo SKU sections is where you define the Y product in Buy X get Y formula. Product X is defined in condition tree at the bottom. So you can use any attribute as condition for Product X, but Product Y can be defined only by SKU or category.
Also please note Number of X Products and Number of Y Products fields. In my example we have 'one for one' logic, but if you want to, for example, give discount like Buy 5 X and get 2 Y then 'Number of X Products' should be set to '5' and 'Number of Y Products' to '2'.
But let's see how our rule works now
The discount amount is $2.10 which is exactly 15% of $14 for our fitness video.
In case the mentioned above configuration is left blank, you'll get a validation error notification.
This action works exactly the same as Percent Discount: Buy X get Y Free above, but it will give fixed amount of discount instead of percent discount.
This action works exactly the same as Percent Discount: Buy X get Y Free above, but it will set fixed price for Product Y instead of percent discount.
With the actions from this section, you can organize multiple tiered discounts for the shopping cart with ease - motivate your customers to spend more for getting bigger discounts.
Discount Amount Step (… whole Cart 5$ Cheaper), in % - Sets the discount amount for the entire basket as a percentage for each step.
Cost Step (For Each 100$ Spent …), in $ - Sets the step of the total cost of products in the cart, after which the next discount percentage is calculated.
Max Amount of Discount - Sets the threshold for the maximum possible discount.
Calculate Discount Based On - Here you can choose from what type of price the discount will be calculated.
Skip Items with Special Price - Specify whether to apply or not the discount to the products with special price.
Apply to Shipping Amount - Set to 'Yes' if you want to apply the rule to the shipping amount.
Discard subsequent rules - Move the toggle to 'Yes' to discard the subsequent rules if needed.
Let's see how the rule works on the storefront.
The Cart subtotal is $270, and the 10% discount from $270 is $27.
Discount Amount Step (… get Y 5$ Cheaper), in % - Sets the discount percentage for each step.
Cost Step (For Each 10$ Spent on X… ), in $ - Sets the step of the total cost of products X in the cart, after which the next discount percentage is calculated.
Max Amount of Discount - Sets the threshold for the maximum possible discount.
Calculate Discount Based On - Here you can choose from what type of price the discount will be calculated.
Skip Items with Special Price - Specify whether to apply or not the discount to the products with a special price.
Apply to Shipping Amount - Set to 'Yes' if you want to apply the rule to the shipping amount.
Discard subsequent rules - Move the toggle to 'Yes' to discard the subsequent rules if needed.
Define X product and Define Y product - These settings can be configured the same way as it was described above for the Buy X Get Y action.
Let's see how the rule works on the storefront.
With this action you can set up dynamic type of discount which depends on the quantity of purchased items. For example, Buy 2 products get 10% discount, buy 3 products - get 15% discount, buy 5 products and get 30% discount.
Tiered Discount - Fill in the rows to specify the quantities of products and the size of discount that will be applied.
Quantity - Specify the quantity of items that will be subject to the discount.
Percent Discount - Specify the amount of discount for particular quantity of items.
Click Add to create more discount options.
Click on the Trash Button to delete the row.
Let's see how the rule works on the storefront.
The Cart subtotal is $180. In total, we have 4 items in the cart. According to our conditions, the discount for the 4th position is 20%, and the 20% discount from $180 is $36.
This action can be used in promotions like Get 20% off each 5-th product in the cart.
The action applies the discount for each N-th item in the cart.
Let's set up a rule Get 10% off each second item in the cart. The rule will look like this
Then let's see how it worked on our cart here
Note, that the discount will be applied to each second item in the cart - the Use For field is set to All Products in Shopping Cart. Since Each N-th setting was set to '2' and quantity of ' LifeLong Fitness IV' is lower than that value, then the discount can't be applied to this item. But we have 6 Pushup Grips in the cart. 6/2=3, so we can apply the discount to three Pushup Grips items. Price of 1 item is $19, 10% of $19 will be $1.9. Multiply $1.9 by 3 and we get $5.7 total discount. Match!
This action works exactly the same as Percent Discount: each 2-d, 4-th, 6-th with 15% Off above, but it will give fixed amount of discount instead of percent discount.
This action works exactly the same as Fixed Discount: each 3-d, 6-th, 9-th with $15 Off above, but it will give a fixed price for each N-th product instead of a fixed amount of discount.
The examples above illustrate the ability to apply discounts to all products in the cart. At the same time, the extension allows you to tune the group of “Each N-th” actions so that discounts will be applied only to identical products in the cart. For instance, you’re going to run the promotion “Get each second same product with 10% discount”. To set up the action, fill in the fields as illustrated below:
The field, which controls the application of discounts to the same products – the Use For field – should be set to The Same Product in Shopping Cart.
See, how it works.
At first discount will be applied to the second item of Affirm Water Bottle and will constitute $0.7. Then, the discount will be applied to each second item of Pursuit Lumaflex™ Tone Band products. The discount amount equals to $4,8 (3 * $1,6 = $4.8). To the Luma Yoga For Life product, the discount won’t be applied as the cart contains only one item of a kind. The total discount amount is $5.50.
Let’s compare the result with the one we can obtain by applying the discount for all products in the cart.
Note! Keep in mind that for this case the Use For field should be set to All Products in Shopping Cart. Also pay attention to the At first apply discount to field: according to the example, the discount will be applied to the most expensive products in the cart first.
For the products we've chosen in the previous example, discount amount will constitute $7.10 ($0,7 + $1,6 * 4 = $7.10):
Now it’s time for you to decide which of the ways of discount application meets your business strategy.
This action can be used in promotions like 10% off on all products after fifth one!
The trick with this action is that you can give discount not only on all products after certain threshold is reached, but you can set the rule to give discount for each second, third, and so forth instead.
This is what Each Product (step) and After N setting control.
For example, we've set After N to '3' (as we wanted to discount items after the third one) and Each Product (step) to '2' (to give discount for each second item). How the rule will be applied in this case you can see from the diagram below:
But that is not all. To better understand how the calculation logic works, below you can find step-by-step explanation:
Example of the above. Let's say we've set After N to '3', Each Product (step) is set to '2' and in the cart we have products priced $10, $20, $30, $40, $50 and $60. And we want to give 10% discount. So let's work the steps:
Get 20% off any product after the fifth one in the cart sounds like a nice enough promotion, let's try it.
Here's how the rule might look like in this case
And this is how it will affect the cart
If you've checked the explanation on action login above then you can calculate the result yourself. Otherwise this is how the result was achieved:
This action works exactly the same as Percent Discount: each 1st, 3rd, 5th with 15% 0ff after 5 items added to the cart above, but it will give fixed amount of discount instead of percent discount.
This action works exactly the same as Fixed Discount: each 3d, 7th, 11th with $15 0ff after 5 items added to the cart above, but it will set a fixed price for the product instead of a fixed amount of discount.
Get 5 shirts for $200 promotion is an example of how this action can be used.
The logic behind this action is quite simple:
Example can be seen below.
The example #1
Let's try making simple rule without product restrictions
This rule is set to apply fixed price of $50 for group of three products. Any products, no restrictions. But if you want to limit the products which will be used in calculation and hence have discount applied, please use conditions tree in Actions tab to define these products.
Some explanation is required here. Let's work the logic steps:
Calculations: 14+19+19=52. $52 is the original price of these three products. But we've set to give a fixed price of $50 for a group. So the total discount will be $52-$50=$2. Looks like exactly what we have in Discount line.
The example #2
According to the rule, the groups will be formed of 3 items and the price for each set will be $30.
All the items in the cart are sorted by the price, thus, we have the following array: 2 2 19 19 45 45 54 54 54
The extension selects first 3 items. Their sum (23) is less than the price for the group in the rule (30). Thus, the first element is skipped and the extension selects the next 3 elements, started with the second element: 2+19+19 = 40. The sum is bigger than the price for the group in the rule (30), so the discount will be the following: 40 – 30 = 10
As the rule doesn't have any discount limits, the extension continues forming the groups for the discount.
The next group is 45 45 54. The sum(45+45+54 = 144) is bigger than the price for the group (30), so the discount is 144 - 30 = 114
The next group is 54 54. The number of items is less than it should be for making up the group, so the extension doesn't calculate the discount.
The final discount is 10+114=124
This action works the same as Fixed Price: Each 5 items for $50 but instead of giving the fixed price for a group of products, it applies a percent discount to them.
This action can be used in promotions like Buy shirt, pants and shoes just for $100 and alike.
Let's have a look what does the settings mean for this action.
Discount Amount - product set's price
Max Number of Sets Discount Applied To - the max number of sets that can be gathered by the rule. (If you leave this field empty the number of sets is unlimited.)
Max Amount of Discount - the max discount amount that can be applied. (the discount for the set is the difference between the sum of all products' prices in the set and the price for the set)|
Promo SKU - here you put down the SKUs of the products that make up the set.
As an example, I will set a promotion, where I give 50% discount for a purchase of a combination of Pushup Grips, Watch, and fitness video. Here's my rule
I have only products from the product set in the cart, the total for products is $14+$19+$54=$87.00 and 50% of that value is $43.50. Seems correct.
Please pay attention to Set Items by SKU and Set Items by Category IDs fields. Here you define which products will be in the product set.
You can define categories instead of manually listing product SKUs. This makes it possible for customers to choose any products they want from the specified categories.
Say, you've listed 2 categories: Video Download and Fitness Equipment. This means that the customer's set will constitute of 2 products: any product from the Video Download category + any product from the Fitness Equipment category.
Here's an example of a configuration:
For example, you have 5 categories for 'Bags'. You set only one 'Bag' category in the rule. In such cases, when a customer adds several bags, the discount will be applied only to the cheapest bag item in the cart.
This action works exactly the same as Percent discount for product set above, but it will give a fixed amount of discount instead of percent discount.
The example #1 Two sets
We created a promo rule, that offers a set for $20. The set is comprised of the following items. Go-Get'r Pushup Grips, Clamber Watch and Antonia Racer Tank.
The result:
In the example, there are 2 of each promo items in the cart, thus, 2 sets can be created. According to this:
The discount is: (38+108+4) – 2*20 = 110
The subtotal is: 240 – 110 = 130
The example #2 Compatibility with another cart price rule
The configuration of the rule #1 (The priority is 0)
The configuration of the rule #2 (The priority is 1)
The result:
In this example, the products Go-Get'r Pushup Grips, Clamber Watch, Antonia Racer Tank can be made up as a set for $20 (watch the rule with 0 priority).
In the example, there are 2 or more promo items in the cart, so 2 sets can be created.
The discount for this set will be the following: (38+108+4) – 2*20 = 110
2 of 3 Clamber Watches was got into the first set. But the remaining Clamber Watch item can be grouped in another set for $30( watch the set with the priority 1).
The discount for this set: (54+45) – 30= 69
The discount for 3 sets: 69+110 = 179
The subtotal: 294 – 179 = 115
The example #3
Now let's change the priorities of the rules from the example #2.
Clamber Watch и Overnight Duffle are grouped in a set for $30 with the rule's priority 0. As there are 2 Clamber Watch and 2 Overnight Duffle items in the cart, we can create 2 sets.
Thus, the discount is: (54*2+45*2) – 30*2 = 138
After the first set was grouped, only 1 Clamber Watch item left. Therefore, for the rule with the priority 1 only one set for $20 can be created.
The discount: (19+54+2) – 20 = 55
The final discount for 3 sets: 138+55 = 193
The subtotal: 294 – 193 = 101
The example #4 The rule with the specified max.amount of discount
In this example, we restrict the max.amount of the discount that can be applied to the rule. The discount shouldn't be more than $100.
As we have 2 of each promo items in the cart, 2 sets for $20 can be grouped.
The discount is: (38+108+4) – 2*20 = 110
But according to the rule, we have a restriction on the max. discount amount for the set ($100), so in this case, the discount that will be applied is $100.
The subtotal: 294 – 100 = 194
The example #5 The rule with the specified max. number of sets
The result:
As we have 2 of each promo items in the cart, 2 sets for $20 can be grouped.
But according to the rule, we have a restriction on the max.number of sets that can be formed (1), so in this case, the discount will be applied just for 1 set.
The discount will be the following: (19+54+2) – 20 = 55
The subtotal: 294-55=239
The example #6 The rule with the specified max. amount of discount and specified max. number of sets
As we have 2 of each promo items in the cart, 2 sets for $20 can be grouped.
The discount is: (19+54+2) – 20 = 55
But according to the rule, we have a restriction on the max. number of sets that can be formed (1), so in this case, the discount will be applied just for 1 set.
Also, we have a restriction on the max. discount amount for the set ($30), so in this case, the maximum discount that can be applied is $30.
The final discount is: 294 – 30 = 264
The subtotal is: 294 - 30 = 264
Special Promotions Pro for Magento 2 expands Special Promotions for Magento 2 capabilities by introducing a set of conditions that check customers' purchase history and account details.
For instance, if you have two cart price rules and want to enable the application of the second rule only when the first rule is (not) already applied. Please note that the specific cart items required by the conditions of the second rule must present in the cart for the second rule to be applied correctly. If those conditions are not met, the second rule will not be applied, even if the first rule has already been applied.
For example, you want to organize a give away with a 50% discount for the first 100 customers who would use your prom coupon. In order to set such a limitation please navigate to Marketing → Cart Price Rules and then add new rule or edit existing.
Then specify the number of times you want the rule to available to be triggered in the field 'Global Users Limit', e.g. 100 times. It means that only 100 customers would be able to buy something in your store with a discount applied for this rule.
After the number on the counter from the field 'Current users' would exceed the number you've set above, the rule would not be longer applied for all further new users.
Loyalty Program for Magento 2 extension has all the features from both Special Promotions for Magento 2 and Special Promotions Pro for Magento 2 modules but also adds a page to a customer account where you can display information about the loyalty program you run on your store with goals, levels and discounts for each level along with the purchase history overview.
Extensions settings are located here: Stores - Configuration - Amasty Extensions - Loyalty Program.
Enabling the Customer Account feature will allow you to add a description of your loyalty program. You can use simple HTML tags to style the text in the Description field.
This is how the result of settings above may look like on the Loyalty Program page:
To export cart price rules, go to System → Amasty Export → Export and select the entity to export.
Once you choose the entity, you will be able to configure export details, such as file type, included fields, etc.
For comprehensive configuration details and helpful examples, check out this user guide.
To import cart price rules, navigate to System → Amasty Import → Import and select the entity to import.
Here you can also configure import details, such as behavior, source, included fields, etc
For comprehensive configuration details and helpful examples, check out this user guide.
To make additional functionality available, please install the suggested packages you may need.
Available for all tariff plans with no additional fees:
amasty/module-mage-2.4.7-fix
- Install this module if you have a problem with extension on Magento 2.4.7 version Available as a part of an active product subscription or support subscription:
For Basic and Pro versions:
amasty/module-special-promotions-hyva
- Install this package to ensure the Special Promotions extension works with the Hyvä Theme.amasty/module-special-promo-duration
- Install this package for Magento Community Edition to set date and time for rules duration.amasty/module-rules-tiered-discount
- Install this package to use Percent Tiered Discount functionality.amasty/module-banners-lite-hyva-compatibility
- Install this package to make the Promo Banners Lite extension compatible with Hyvä Theme.For Pro tariff plan only:
amasty/module-special-promo-conditions
- Install this package to set a new 'Applied Cart Price Rule' condition.amasty/module-special-promo-import-entity
- Install this package to import Special Promo data.amasty/module-special-promo-export-entity
- Install this package to export Special Promo data.