Spend more, save more: tiered cart discounts without a tangle of rules
A spend-more-save-more offer can be built from Magento's own cart price rules. How that works, where it gets awkward, and how to manage all tiers on one screen.
We use necessary cookies to make this site work. With your permission we also use Google Analytics to understand how the site is used and Google Ads cookies to measure which of our ads lead to purchases. You can accept all cookies, reject the optional ones or choose which ones to allow. Cookie policy
Choose which cookies you allow. Necessary cookies are always on because the shop cannot work without them. You can change your choice at any time with the "Cookie settings" link.
Needed for the basket, checkout, login and security. They do not track you.
Google Analytics: how many people visit, which pages they read and how they found the site. It sets the _ga cookies and sends usage data to Google.
Google Ads: measures which of our ads lead to a purchase. It sets the cookies _gcl_au and _gcl_aw (90 days) and, when you buy, sends Google the order details and a hashed form of your contact details for matching. See our cookie and privacy policies.
Magento free gift with purchase, set up in Magento 2 cart price rules: free products added automatically or chosen by the customer, spend-more notices, gift labels and a report of gifts given. Luma and Hyvä.
One-off payment, with 12 months of updates.
No subscription or automatic renewal. Keep using the versions included in your update period. Update and licence details
Composer package commercegears/module-free-gift
A gift offer is a normal cart price rule: websites, customer groups, dates, coupons, conditions and priority work as usual.
The spend-more notice and progress bar show shoppers how far they are from a gift, on the product page, the cart or the top of every page.
Gift lines are checked whenever the cart totals are collected, also through REST and GraphQL, and their quantity is set by the offer.
All features
Feature tour
01 / 06
"Spend £100.00 more to get a free gift." with a progress bar, on the product page, the cart page or the top of every page.
02 / 06
The gift appears as its own line at the gift price, labelled with the offer, and is removed again when the cart no longer qualifies.
03 / 06
The cart page lists the gifts of a "customer chooses" rule. Configurable gifts get a size and colour choice.
04 / 06
Alpine.js and Tailwind templates for the gift choice, the notice and the mini cart. The Hyvä checkout uses the Luma checkout fallback.
05 / 06
Gift cards stack into one column on phones, with full-width buttons.
06 / 06
Gift SKUs, number of gifts, for every X items bought, maximum times per cart and the gift price: free, percentage off, amount off or a fixed price.
Live demo
A full Magento store with the module installed, on Luma and on Hyvä. The admin demo signs you in with one click.
Compatibility
| Magento | 2.4.6 – 2.4.9 |
|---|---|
| Platforms | Magento Open Source and Adobe Commerce (one price) |
| Storefront themes | Luma Blank Hyvä |
| PHP | 8.2 – 8.5 |
| Latest version | 2.2.0 |
| composer.json requires | php ~8.2.0||~8.3.0||~8.4.0||~8.5.0 magento/framework ~103.0.6 commercegears/module-core ^2.2 free, installed by Composer with this module magento/module-backend * magento/module-catalog * magento/module-catalog-inventory * magento/module-checkout * magento/module-config * magento/module-configurable-product * magento/module-customer * magento/module-quote * magento/module-sales * magento/module-sales-rule * magento/module-store * magento/module-ui * |
Installation
After you buy, create a Composer key in your account. Then, in the root of your Magento project:
01Add the repository and your key (once per project)
composer config repositories.commercegears composer https://repo.commercegears.com composer config --auth http-basic.repo.commercegears.com PUBLIC_KEY PRIVATE_KEY
02Install the module
composer require commercegears/module-free-gift
03Enable it
bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy bin/magento cache:flush
The last three are only needed in production mode.
Prefer a zip? Every version you are entitled to can be downloaded from My modules. More about Composer access
User guide
The user guide has its own page: how to install Magento Free Gift with Purchase, what each option does and how to use it in your store. Written for version 2.2.0; a copy ships with the module.
Changelog
FAQ
Something else on your mind? The developers who wrote the module answer before and after you buy.
Ask a question →Already installed it? Open a support ticket
Create a cart price rule under Marketing > Cart Price Rules and choose one of the two gift actions under Actions > Apply: "Free gift: add gifts automatically" or "Free gift: customer chooses gifts from a list". Then enter the gift SKUs in the rule's Free Gift section. Websites, customer groups, dates, coupons, conditions and priority work exactly as for any other cart price rule.
"Add gifts automatically" puts the gift SKUs in the cart as soon as the rule applies. "Customer chooses gifts from a list" shows the gifts on the cart page and the customer picks as many as the rule allows.
Yes. Set For Every X Items Bought, for example 2: the gifts are given for every 2 qualifying items (buy 2 get 1, buy 4 get 2). The rule's "Apply the rule only to cart items matching the following conditions" decides which items count. Maximum Times per Cart caps the number of times.
No. Gift Price can be free (100% off), a percentage off the gift price, a fixed amount off, or a fixed price, so offers such as "buy one, get the second at 50%" are possible.
Simple and virtual products (automatic or chosen) and configurable products (chosen, with a size or colour choice on the cart page). Bundle, grouped, downloadable products with links and products with required custom options cannot be gifts. Gifts that are out of stock, disabled or not assigned to the website are skipped.
No. The quantity is set by the offer: the quantity field of a gift line is read-only and larger quantities are reset with a notice.
It stays removed for that cart and the cart page offers "Add it back". If you prefer, set Add Removed Gifts Again to Yes and the gift is added again whenever the cart changes.
The gift line is removed and the cart shows "The free gift (name) has been removed because the offer no longer applies to your cart." This happens for any reason the rule stops applying, for example the subtotal falls below the threshold or a coupon is removed.
It is based on active gift rules without a coupon whose conditions contain a top-level subtotal condition ("equals or greater than" or "greater than"). It shows the amount still to spend and, optionally, a progress bar, on the product page, the cart page and/or the top of every page. Other conditions of those rules are not evaluated for the notice. When the offer has "Apply to" conditions, the notice counts only the products the offer applies to (Magento 2.4.9 and later, where the offer itself counts only those products); gift lines never count. It is loaded through customer data, so pages stay in the full-page cache.
Gift lines are separate cart lines priced through a custom price (0 for free gifts), so subtotal, tax and grand total are right in every currency. Gift lines are not discounted by other rules and do not count towards any rule conditions, so a gift cannot keep its own rule valid.
Gift lines are checked again whenever cart totals are collected, also through REST and GraphQL (cart items, coupons, payment information and order placement). "Reorder" and adding a former gift from a wish list are refused with a message; the offer adds the gift again itself when it applies.
Yes. Hyvä templates are included for the gift choice, the notice and the mini cart (Hyvä 1.3 and later). Hyvä Checkout is not supported; the Luma checkout fallback is.
Orders created in the admin do not get gifts added, multishipping checkout is not supported for gift lines, and gift settings are not part of the cart price rule REST API (they are kept when a rule is saved through the API).
Magento Open Source and Adobe Commerce 2.4.6 to 2.4.9, PHP 8.2 to 8.5.
Support
From the blog
A spend-more-save-more offer can be built from Magento's own cart price rules. How that works, where it gets awkward, and how to manage all tiers on one screen.
When a shop has several spend thresholds, the shopper needs one clear answer to how much more to spend. How to put every reward on one bar in Magento 2.
A £104 basket can fall below a £100 gift threshold after a coupon. Decide the rule, show it clearly and test the awkward cases before sending the campaign.