Cart rewards and free gifts
Edit spend thresholds, gift products and cart drawer copy for the Beauty Affairs AU storefront.
Cart rewards and free gifts
The reward programme is configured in two places.
The spend thresholds and the encouragement copy live in Theme settings under Rewards Tiers. Four tiers are supported.
The gift products themselves live in Shopify Admin as metaobjects. The cart reads them at render time, so adding a gift does not need a developer.
Change a spend threshold or its copy
- Open Shopify Admin, then Online Store, then Themes.
- Click Customize on the live theme.
- Open Theme settings from the bottom of the left sidebar.
- Open the Rewards Tiers group.
- Edit the tier you need. Each tier has these fields:
| Field | What it does |
|---|---|
| Price Threshold | Cart subtotal in dollars that unlocks this tier |
| Title | Tier name on the homepage banner |
| Title in cart | Tier name inside the cart drawer |
| Tier Image | Thumbnail for the tier |
| Desktop Subtitle, Mobile Subtitle | Supporting line under the title |
| Encouragement Message | Prompt shown on the homepage banner before the tier unlocks |
| Encouragement message in cart | Prompt shown in the cart drawer before the tier unlocks |
- Save.
The encouragement messages accept two placeholders. The cart replaces {remaining_amount} with the spend still needed,
and {threshold_money} with the tier threshold in store currency. Type them exactly, including the braces.
Leave Price Threshold empty to switch a tier off. The cart skips any tier without a threshold.
Change which products are the free gifts
Gifts come from the minicart_free_gifts metaobject, not from theme settings.
- Open Shopify Admin, then Content, then Metaobjects.
- Open the
minicart_free_giftstype. - Edit or add an entry.
| Field | What it does |
|---|---|
price_threshold | Spend in dollars that unlocks this gift. Must match a tier's Price Threshold exactly. |
gift_type | Either Product or Collection |
gift_product | The gift, when gift_type is Product |
gift_collection | Source collection, when gift_type is Collection |
short_title | Overrides the tier's Title in cart for this gift |
display_name | Fallback title when short_title is empty |
- Save.
When gift_type is Collection, the cart takes the first product in that collection. Reorder the collection in Shopify
Admin to change which product customers get.
The progress bar matches a gift to a tier by comparing price_threshold against the tier's Price Threshold setting. The
two numbers must be identical. A gift at 150 will not attach to a tier set at 149, and the tier then falls back to its
Title in cart.
short_title accepts one placeholder. The cart replaces {category} with the gift product's Shopify category. Type it
exactly, including the braces.
Change cart drawer copy
The drawer is made of theme blocks, and each block holds the copy it renders.
- In the theme editor, open any page.
- Find the Mini cart section in the left sidebar.
- Select the block you want to edit.
| Block | Copy it controls |
|---|---|
| Header | Drawer title, close button label |
| Purchase gifts progress | Progress heading, the message shown once every gift is unlocked |
| Gifts accordion | Accordion heading |
| Line items | Quantity, increment, decrement and remove labels, empty cart message |
| Clear cart CTA | Button label and the confirmation dialog wording |
| You may also like | Heading, source collection, product count, add to cart label |
| Footer | Checkout and continue labels, shipping protection wording |
| Discount code | Field label, placeholder, submit and toggle labels |
The Mini cart section also has two section-level settings. Open when item is added controls whether the drawer opens automatically after an add to cart. Max drawer width sets the desktop width in pixels, and the drawer is always full width on mobile.
Business rules
Free gift lines are excluded from the reward subtotal. A line carrying the __free_gift property does not count towards
unlocking the next tier, so a customer cannot chain gifts into further gifts.
Carts containing a MediSpa item hide the progress bar entirely. The rule matches any line whose vendor name contains
medispa, so a treatment booking will never show a beauty-product reward prompt.
The progress bar and the gift compare against the threshold differently. The progress bar unlocks a tier when the subtotal is strictly above the threshold, so a cart at exactly 150 does not unlock a tier set at 150. The cart adds the gift when the subtotal reaches the threshold. Set thresholds a dollar below the round number you want customers to hit, or accept that the bar fills one cent late.
The theme displays a threshold of 198 as 199 wherever the tier appears. This override is hard-coded and predates these docs. Avoid 198 as a threshold value.
Gift eligibility converts the cart total into the shop's base currency before comparing. A customer shopping in NZD is measured against the same AUD threshold as everyone else.
Verify the change
- Open the storefront in a private window.
- Add a product priced below your lowest threshold. The progress bar should name the first tier and the remaining spend.
- Raise the quantity until you cross the threshold. The bar should fill and the gift should appear in the gifts accordion.
- Check the homepage Free Gifts Banner and Unlock Free Bonus sections show the same thresholds.
If the drawer does not update, follow Cart total or gift is wrong.
Developer map
| Concern | Source |
|---|---|
| Progress bar markup and tier reading | snippets/mini-cart.progress-bar.liquid |
| Progress bar behaviour | src/entrypoints/mini-cart/elements/mini-cart-progress-bar.ts |
| Gift selection and cart writes | src/entrypoints/mini-cart/components/free-gifts.ts |
| Gift metaobject reading | snippets/mini-cart.free-gifts.liquid |
| Tier to gift matching | snippets/mini-cart.progress-bar.liquid |
| Homepage banner tiers | sections/cart-reward-banner.liquid, snippets/reward-tier.liquid |
| Tier settings definition | config/settings_schema.json, Rewards Tiers group |
| Cart drawer section and blocks | sections/mini-cart.liquid |
Architecture behind the drawer is in Mini-cart.