Beauty & SkincareRetail / DTCFree Gift7 min read

Twenty-Five Dollars Away: A Free Gift With a Progress Bar

How a spend-threshold free gift, shown as a progress bar on every page, moved a skincare brand's average order past the gift line.

A free gift progress bar showing $25.40 to go until a $75 threshold unlocks a travel serumThe bar does the asking$25.40 more for your free giftCart $49.60, after other discounts$75At $75Travel Serum 15 mlAdded automatically · $0Cart drops below $75Gift removedCheckout re-checks the threshold

A Shopify skincare brand with a $64 average order runs a Discount Prime Free Gift campaign: spend at least $75 and a travel serum is added automatically, with a progress bar on every page showing the distance to the gift. The threshold counts discounted prices, gift lines are excluded from other campaigns, and the discount function re-checks every gift. Average order rose to $78.

At a glance

Challenge
A Buy X Get Y gift at $75 only appeared at checkout, after customers had decided what to buy, so the average order never moved.
Approach
One Free Gift tier at $75, added automatically and shown as a progress bar on every page, with the discount function re-checking every gift line.
Discount Prime campaign types used
Free Gift

Scenario-based case study: the merchant profile is modeled on patterns across real Discount Prime stores, not a single named customer.

Introduction

A free gift with purchase is an old idea. Almost every Shopify store has tried one, and many have quietly concluded it does not move anything.

What is new is the bar: the line that says "you're $25 away," updates every time the cart changes, and gives the customer a gap they want to close while they are still deciding what to buy.

The usual planning question is:

"What gift should we give away at $75?"

A solutions architect asks a different one first:

"When does the customer find out the gift exists?"

If the answer is "at checkout," the gift is a pleasant surprise for an order that was already decided. If the answer is "on every page, with the distance shown," the gift becomes a reason to add one more item. This case study designs a spend-threshold free gift for a skincare brand whose average order sat just under the number that mattered.

Merchant Scenario

Consider Solace Skincare, a fictional Shopify brand selling cleansers, serums, and moisturizers direct to consumers.

AttributeDetail
IndustryBeauty & Skincare
PlatformShopify
Annual Revenue$4.1 Million
Products58
Monthly Orders6,200
Average Order Value$64

Sixty-four dollars. The team had a travel-size serum that cost $3.80 to produce and retailed at $18. They wanted every order of $75 or more to receive one, and they wanted far more orders to reach $75.

The Free Gift That Moved Nothing

An earlier attempt used a Buy X Get Y campaign: spend $75, get the travel serum free.

It worked at checkout. It did nothing before checkout. Customers discovered the gift when it appeared in the cart, after they had already chosen what to buy. The reward was real, but it arrived too late to change behavior, and the average order did not move.

Business Objectives

PriorityObjective
1Lift average order value from $64 toward the $75 gift line
2Show shoppers the distance to the gift while they are still browsing
3Never give a gift to a cart that has not earned it
4Count the threshold on what the customer actually pays
5Keep the gift from distorting free shipping or any other promotion

Evaluating the Options

Option 1: Buy X Get Y at Checkout

The previous setup: a spend condition with the serum as the reward.

Advantages

  • Already familiar to the team.
  • The reward applies correctly once the cart qualifies.

Disadvantages

  • No bar, no progress, no nudge before checkout.
  • Customers learn about the gift after deciding what to buy.
  • Did not move the average order in practice.
FactorAssessment
Architecture Score★★☆☆☆

Option 2: Free Gift With a Toast Notification

A Free Gift campaign that announces the gift once, when the threshold is crossed.

Advantages

  • The gift is added and maintained automatically.
  • Fits themes that already have a shipping bar.

Disadvantages

  • The toast appears at the threshold, not on the way to it.
  • Shoppers below $75 see no distance to close.
FactorAssessment
Architecture Score★★★☆☆

Option 3: Free Gift With a Progress Bar

A Free Gift campaign with the storefront display set to Progress bar, visible on every page.

Advantages

  • Shows the exact distance to the gift as the cart changes.
  • Adds the gift at the threshold and removes it if the cart drops below.
  • The discount function independently re-checks every gift line.

Disadvantages

  • One threshold rewards a $75 cart and a $300 cart the same.
  • Competes for space if the theme already runs its own bar.
FactorAssessment
Architecture Score★★★★★

Comparison Matrix

StrategyVisible Before CheckoutGift Maintained in CartMoves AOVThreshold Integrity
Buy X Get Y✕No✕No✕No✓Yes
Free Gift, toastAt the threshold only✓YesPartly✓Yes
Free Gift, progress barYes, on every page✓Yes✓YesYes, double-checked

The Discount Prime Configuration

SettingValue
Campaign NameFree Travel Serum at $75
Campaign TypeFree Gift
Storefront TitleYour free gift
Count spend onAny product
Once per order✓Yes
Tier 1Spend at least $75 · Add automatically · Gift: Travel Serum 15 ml
Storefront DisplayProgress bar

Why Free Gift Fits Better Than Buy X Get Y

Buy X Get Y gives a reward at checkout. Free Gift maintains the cart.

The Free Gift widget adds the gift the moment the threshold is crossed, removes it if the cart drops back below, and shows the distance to the threshold the whole time. Behind the widget, the discount function independently re-checks the threshold and prices the gift line at $0 only if the cart passes. A gift left in a cart that no longer qualifies gets no discount, and the widget removes it on the next cart change.

Two systems, one checking the other. Solace never gave a gift to a cart that had not earned it.

Thresholds Measured on What the Customer Pays

The $75 threshold is measured on discounted prices, after any price-layer campaigns have applied. That is not configurable, and it is deliberate.

A customer whose $80 cart became $72 because of a sale does not qualify on the sticker total. The bar shows the honest number, and the honest number is what the discount function checks. The team planned the threshold around net cart value, not list prices, so a sale week never handed out gifts "early."

The Progress Bar on Every Page

Every page carried one line:

$25.40 more for your free gift

It updated as items were added. At $75 it changed to:

Your free gift has been added

The progress bar reuses the shipping-bar infrastructure, with reserved height so the page never jumps as it loads. Shoppers saw a stable strip, not a layout shift.

How the Gift Line Behaves

Invisible to Other Campaigns

The travel serum sat in the cart as a $0 line. It did not count toward the $75 threshold, toward free shipping, toward a bundle slot, or toward a cross-sell. Gift units are excluded from every other campaign's math.

That is the same freed-units rule Buy X Get Y already uses. A gift is a gift, not an input to another discount.

Out of Stock Means Skipped, Not Broken

The travel serum ran low in week three. When its variant hit zero stock, the widget stopped offering the tier rather than adding a line that could not ship, and the campaign list showed a warning so the team knew to act.

Only $0 items may be auto-added. That is a Shopify App Store rule, and Free Gift respects it, so a merchant never has to worry about an auto-added gift that accidentally carries a price.

Customer Journey

  1. A shopper adds a $49.60 cleanser and toner. The bar reads $25.40 more for your free gift.
  2. They add a $28 moisturizer. The cart passes $75, the bar changes to Your free gift has been added, and the travel serum appears as a $0 line.
  3. They remove the toner to think it over. The cart falls below $75, the widget removes the serum on the cart change, and the discount function would refuse to price it at $0 anyway.
  4. A different shopper fills an $80 cart during a sale that brings it to $72. The bar shows the distance from $72, because that is what they pay.
Cart (after other discounts)Gift LineBar Message
$49.60None$25.40 more for your free gift
$77.60Travel Serum at $0Your free gift has been added
Drops back under $75RemovedDistance shown again
$72 ($80 before a sale)NoneDistance to $75 from $72

What a Single Free Gift Cannot Do

One threshold rewards $75 and $300 identically. A customer at $300 got the same travel serum as a customer at $75. Solace knew they would want tiers eventually, and that is the next story: Spend More, Unlock More.

The gift was also fixed. A customer who disliked serum had no alternative. The Customer picks gift mode exists for that, and it is an Ultimate feature; see Let Them Choose.

Metrics That Measure Success

  • Average order value against the $64 baseline
  • Share of orders at or above the $75 threshold
  • Orders landing just above $75, a sign the bar is doing the asking
  • Gift cost per order ($3.80) against the added revenue per qualifying order
  • Estimated Profit on gift orders, from real Shopify cost prices
  • Out-of-stock warnings on the campaign list during the run

Common Mistakes

  • ❌ Using a Buy X Get Y campaign for a spend-threshold gift and getting a reward with no bar, no progress, and no nudge.
  • ❌ Setting the threshold with sticker prices in mind when the campaign measures the price after other discounts, then being surprised a sale cart does not qualify.
  • ❌ Choosing a gift with thin stock and not watching the campaign list for the out-of-stock warning.
  • ❌ Expecting the gift line to count toward free shipping or another threshold.
  • ❌ Giving the same gift at every spend level when the data says customers at $300 deserve more.

Key Lessons

The gift was not the lever. The bar was.

The same travel serum that did nothing as a checkout surprise moved the average order $14 once customers could see how far away it was. And two systems checking each other, the widget maintaining the cart and the discount function re-checking every gift line, meant the gift was never given to a cart that had not earned it.

Conclusion

Everyone has given away a free gift. The difference is whether the customer knew it was coming while they were still deciding.

Free Gift with a progress bar turns the threshold into something the customer can see and reach for. In this scenario, Solace's average order went from $64 to $78. The bar did the asking.

Frequently asked questions

How do I add a free gift with purchase over a spend threshold on Shopify?

Create a Free Gift campaign in Discount Prime, set Count spend on to Any product, and add a tier such as Spend at least $75 with Add automatically and your gift variant. Set Storefront Display to Progress bar so shoppers see the distance on every page. The widget adds the gift at the threshold, removes it if the cart drops below, and the discount function prices it at $0 only when the cart qualifies.

Why didn't my Buy X Get Y free gift increase average order value?

Because shoppers only discover the gift at checkout, after they have already decided what to buy. A reward that arrives too late cannot change behavior. A free gift lifts average order value when the customer can see it coming. In Discount Prime, a Free Gift campaign with a progress bar shows a line like $25.40 more for your free gift on every page, which turns the threshold into a goal the shopper can reach for.

Does a Shopify free gift threshold use the price before or after other discounts?

After. Discount Prime measures Free Gift thresholds on discounted prices, after price-layer campaigns have applied, and this is fixed behavior rather than a setting. A cart that is $80 at sticker prices but $72 during a sale does not qualify for a $75 gift. The progress bar shows that same net number, so what the shopper sees always matches what the discount function checks.

Does a free gift count toward free shipping or other discount thresholds?

No. In Discount Prime, a free gift is a $0 line that is excluded from every other campaign's math. It does not count toward its own threshold, toward free shipping, toward a bundle slot, or toward a cross-sell. This is the same freed-units rule Buy X Get Y uses: a gift is a gift, not an input to another discount, so it never inflates another promotion's eligibility.

What happens to an auto-added free gift when it goes out of stock?

The tier is skipped, not broken. When the gift variant hits zero stock, the Discount Prime Free Gift widget stops offering that tier instead of adding a line that cannot ship, and the campaign list shows a warning so the merchant can restock or swap the gift. Only $0 items may be auto-added, a Shopify App Store rule the Free Gift campaign respects, so a gift never carries a price by accident.

Go deeper

Run this architecture in your store

Every campaign type in this case study is included in Discount Prime, with profit analytics to verify the margin impact.

More case studies