Skip to content

Upsell Messages

Upsell messages — the Spend-more nudge — are the dynamic prompts that tell shoppers how close they are to unlocking a better deal. They update in real time as the cart changes, and the storefront renders them on three surfaces: the mini-cart, the cart page, and the checkout.

Two places control a nudge:

  • The words are set on each discount, in the Messaging section of the rule editor.
  • Where it shows is set once for the whole store, on the Message Settings tab — see Message Settings.

This is one of Dino’s strongest differentiators. Most discount plugins apply discounts silently — the customer either stumbles into the deal or misses it. The spend-more nudge actively guides shoppers toward the deal:

  • Lifts average order value — shoppers add items to clear the next tier
  • Reduces cart abandonment — “you’re $8 from free shipping” beats “checkout” in the conversion path
  • Creates urgency without aggression — the message disappears the moment the threshold is met, so it never nags

Scroll to the Messaging section of the rule editor (after Rewards) and find the Spend-more nudge block. It has:

  • Include in spend-more nudges — starts unticked on a new discount. Tick it for this discount’s nudge to show. A blank message then uses the built-in copy.
  • A row of token chips (see below).
  • One Message field. The same message is used on the mini-cart, cart page and checkout.
Rule editor scrolled to the Messaging section of a tiered discount, showing the Spend-more nudge block with its Include in spend-more nudges checkbox, token chips and Message field

If the discount has nothing to reach — for example, a flat % off the cart with no tiers and no spend threshold — the block shows a locked heading instead: “The spend-more nudge appears on rewards with a threshold to reach — a tier or a spend threshold.” with a link to add one. The block stays visible so you know nudges exist; the inputs appear once the discount has a threshold.

Above the message field is a row of click-to-insert token chips. Click a chip to insert it at the cursor; the storefront swaps each token for the live value when it renders.

TokenMeaningExample output
[amount_left]Remaining spend to reach the next tierSpend [amount_left] more → “Spend $15 more”
[qty_left]Remaining items to reach the next tierAdd [qty_left] more → “Add 2 more”
[next_tier]Description of the tier that unlocks nextunlock [next_tier] → “unlock 15% off”
[discount_value]Bare numeric value of the reward — no % or currency unit, so you add your ownfor [discount_value]% off → “for 10% off”
[discount]Same bare number as [discount_value] (terse synonym)for [discount]% off → “for 10% off”
[discount_label]Complete formatted reward labelfor [discount_label] → “for 10% off”

The bank also offers the rule-level tokens — [items], [start_date], [end_date], [end_time], [min_items], [min_spend] — when the discount has the setting each one reads. See Message Tokens.

Tokens that don’t apply to the discount’s tier kind show as locked chips. For example, [qty_left] is unavailable when the discount uses spend tiers — if you type it by hand, the warning “[qty_left] won’t resolve — your rule uses spend tiers.” appears under the field. Use [amount_left] for spend tiers and [qty_left] for quantity tiers.

A blank message uses the built-in copy, which differs by surface:

SurfaceBuilt-in message
Mini-cart”Spend [amount_left] more for [discount_label]“
Cart page and checkout”You’re [amount_left] away from [discount_label]. Add a few more items to your cart.”

The field’s placeholder is an example of the shape, not the exact text that will print.

Placement is store-wide. On the Message Settings tab, the Spend-more nudge card has an Enable spend-more nudges master switch and one slot per surface:

SurfaceSlots
Mini-cart drawer slotNot shown · Top · Before buttons · Below total (default)
Cart page slotNot shown · Top · Before checkout button · Below total (default)
Checkout slotNot shown · Top · Above order review · Above payment · Above place-order (default)

Only one nudge renders per page. See Message Settings for the rest of the tab.

The nudge respects each shopper’s checkout currency — [amount_left] is formatted in the cart’s currency, not the merchant’s base currency. In a multi-currency store, a single nudge (“Spend [amount_left] more”) renders as “Spend €15 more” or “Spend $18 more” depending on the shopper, with no separate discount per currency. See Multi-currency compatibility.

The nudge needs a threshold the shopper can move toward:

  • Tiered discounts — Spend & Save and other tier ladders, by spend or by quantity
  • Volume (bulk) pricing
  • Discounts gated by a Cart subtotal at least spend threshold — for example free shipping over £50
  • BOGOF and Bundle deals — any BOGO or bundle with a single set

Discounts without a threshold have nothing to nudge toward, so the block stays locked. A deal with two or more sets — Mix BOGOF, Meal deal — doesn’t nudge, because the shopper can be short in more than one set at once, so the block isn’t shown on it. The same goes for a single-set deal that also has items under Which items qualify the rule?.

On a BOGO or bundle deal the nudge counts the items still needed to complete the first set, once the cart holds at least one qualifying item, and disappears when the set is complete. On an All the same item set it counts toward the item the shopper has most of. Write the message with [qty_left] — for example “Add [qty_left] more to get [discount_label]” → “Add 2 more to get any 3 for £10.00”. Left blank, the message uses the built-in “Spend [amount_left] more…” copy, which prints the item count as a plain number (“Spend 2 more for any 3 for £10.00”). [discount_label] reads “any N for £X” for a bundle price, “X% off” or “£X off” for a percentage or amount off, “a Free Item” for free items or a free gift, and “Free Shipping” for free shipping.

A discount with a threshold still only nudges once Include in spend-more nudges is ticked, and only when the discount would otherwise fire for this shopper — the same Who / When / Where conditions apply.

The nudge is stored on the rule as messaging.nudge: participate (the Include in spend-more nudges checkbox) and pre_trigger.message (the shared message). Placement is not a rule field — it lives in the store-wide message settings. See the REST API reference.

  • Lead with the action (“Spend $X more”), not the reward. Shoppers respond to the gap, not the prize.
  • Keep the message short — it is also used in the mini-cart, where anything long wraps awkwardly on mobile.
  • Use the Summary box at the top of the editor as a sanity check before publishing. If the summary reads “Spend $50 → free shipping,” the nudge should read “Spend [amount_left] more for free shipping.”
  • Test in Cart Preview — tick Include in spend-more nudges, fill a cart $5 under the threshold and confirm the nudge text appears as expected.

WooCommerce is a trademark of Automattic, Inc. WordPress is a trademark of the WordPress Foundation. Dino Discounts is not affiliated with or endorsed by Automattic or the WordPress Foundation.

Contact · Report a bug