Cart Page Upsells
Pick one product, set its discount, and choose where it sits — six values on the cart page, seven more in the mini cart.
Built for WordPress · WooCommerce
A LUMÉ demo store, on its cart page, under a Home › Shop › Cart breadcrumb. The cart holds two lines and two units — Denim Jacket in size M at $59.00 and Wool Scarf in Oat at $20.00 — so the Cart totals panel on the right reads Subtotal $79.00, Shipping calculated at checkout, and Total $79.00, and the store header tally reads the same. Between the page heading and the cart table, in the position the plugin’s own editor calls Before Cart items table, sits the one element SalesMax draws: a dashed block carrying a green Best offer badge, a Ribbed Beanie listed at $12.00 and offered at $9.36, a stepper reading one, and a short filled Add button with a plus before the word. That is the Minimal template, drawn the way the plugin’s own preview renders it, and it carries no discount band because Minimal has none. A pointer crosses the stage and touches one control, the offer’s own Add button, and never touches Proceed to checkout, a quantity stepper or a cart row. The link becomes a filled button reading Added with a tick drawn before the word, the block’s dashed outline turns solid green, the header cart badge steps from two items to three, and the Subtotal, the Total and the header tally each move from $79.00 to $88.36. Shipping is not a figure on this page and does not move. Nothing else changes: the two original rows keep their prices, their quantities and their line subtotals, no page navigates, nothing dims, and no popup appears at any point. After a pause the cart is cut back to its opening state and the loop restarts; that cut is instant and never an animation, because a total seen counting downwards would stage a removal that never happens here.
LUMÉ is a demo store and the prices are its catalogue’s.
▲ +10–30% revenue** 8theme’s own chip, verbatim: “Boost revenue by 10 - 30% with cart upsells (Data by Accenture)”. That credit is the honest part — it is a third-party range for cart upselling as a practice, not a SalesMax measurement and not a figure anyone has recorded on your store.
Where it shows
Most boosters here document one slot. This one has two selects, and every card below names an entry in one of them.
Six values in the Display Location select
Every seat, field name and default on this page was read off two things: 8theme’s marketing rendering of the storefront element, and screen captures of the plugin’s own editor. Nothing was invented to fill a gap. The thirteen values above are real and named; what follows is not answered by either source, so nothing here is asserted either way — check each on a staging copy before you build on it:
No seat to point at. The shortcode and the builder widget do not take a position from the plugin — you place them, so the drawing has nothing to move. That is what those two values are for.
Nothing to move. Out of the box the second select holds this value, so the offer runs on the cart page only. The six values below are what you switch it to.
Drawn, not captured — a LUMÉ demo store.
Templates
Both are drawn from the plugin’s own preview. Flip them here, and retype the two strings its Content tab lets you overwrite.
Both fields were captured holding exactly these values on the editor’s Content tab, which makes them defaults you overwrite. The accent picker is this page’s, not the plugin’s.
The product name and both prices are 8theme’s own placeholder copy, kept exactly as captured.
The math
Say 8% of carts take the offer, it is listed at $12 with 22% off, and you do 300 carts a month: 8% × $9.36 × 300 = +$225/mo. Press the keys.
The editor
Three tabs sit on the Offer panel. Two were caught open and are drawn field by field; the third never was.
Press a tab — the fields and the note below follow it.
Never captured open. The tab is on the strip and you can press it here, but what is inside it is not on any capture this page was built from.
—
Six values, and this is the one the editor was sitting on. All thirteen are seated above.
Seven values, and the captured one draws nothing — out of the box the offer runs on the cart page only.
“Add conditions if you would like to personalize based on the items in the cart, order total etc. (optional)” — the capture shows the button and nothing behind it, so which conditions exist is not listed anywhere on this page.
WordPress’s conventional default. What it orders, and whether a higher number wins, is not stated.
A start is offered. No end date appears in any capture, so confirm one exists before you schedule a campaign that has to stop.
FAQ
Wherever you seat it, from thirteen named values across two selects. Six are for the cart page: Top of the Cart page, Before Cart items table, After Cart items table, After Cart items (within the table), a [smax_cart_upsells] shortcode you place yourself, and a page-builder widget. Seven more are for the mini cart, from Top of the Mini Cart down to Bottom of the Mini Cart, plus the Do not display that the editor was captured on. Two things are worth knowing before you choose. The editor’s captured value is Before Cart items table, which is what the drawing at the top of this page uses — but 8theme’s own marketing rendering puts the offer after the table instead, so their promotional image and their captured default are two different seats. And the mini cart is off out of the box: it takes a deliberate change to the second select to put anything in the drawer.
Four things in the captures, and the drawing on this page demonstrates three of them. Colorful adds a solid discount band across the top reading UP TO 30% OFF; Minimal has none. Colorful moves the offer title badge from over the product name to the band’s top-right corner, where it rides half outside the block. Colorful replaces the quantity stepper with the words “Quantity: 1” as static text, so the shopper cannot change the number before it goes in. And in the captures Colorful turns Add to cart from an underlined text link into a dark filled button — the one difference this page does not draw, because every drawing here uses the filled button. The other three are what the switch above demonstrates. Nothing else differs in the captures, which is why nothing else differs in the drawing above. One caution about the band: it advertises 30% over an example that cuts $234.00 to $183.00, which is 21.79%. “Up to” is doing real work in that sentence.
On Minimal, yes — it draws a − 1 + stepper. On Colorful, no: the same position prints “Quantity: 1” as text with no control. There is also an Offer Quantity field on the editor’s General tab, captured holding “Custom”. What is not captured is how the two relate: whether Offer Quantity sets the stepper’s starting value, its ceiling, or replaces it entirely. Both exist; their relationship is not documented, so test it before you sell a multi-pack this way.
You set a Discount type — captured on “Percentage discount (%)” — and a Discount value. What the captures do not say is how that reaches the line: as a real price change on the product, or as a coupon applied to the order. The difference matters, because it decides how the offer interacts with your own coupons, your tax rules and any minimum-spend logic you run. Every drawing on this page shows a struck price beside a new one, because that is what both of 8theme’s renderings display — but what a block displays is not proof of how a total is computed.
Yes, and this is the clearest thing the captures prove. The Offer panel’s Content tab carries a field called Offer title holding “Best offer”, and one called Offer CTA button text holding “Add to cart”. Those are the two strings the preview prints, which makes them defaults you overwrite rather than fixed copy. The same tab also has Title, Title badge, Description and an Image Source select showing “Product image” — the first three are empty in the capture, so what the block does with them is not something this page can show you.
In two dimensions, and both were captured. Total Usage Limit caps the offer across the whole store; Usage Limit Per Customer caps it per shopper. Both show “Unlimited usage” as the state the editor was in, so out of the box neither is capped. There is also a Start date under Optional Settings. Whether a matching end date exists is not shown in any capture, so if you are planning a campaign with a hard stop, confirm that before you schedule the start.
Not documented, and worth saying plainly rather than guessing. There is a Priority field in Optional Settings holding 10, which is WordPress’s conventional default and strongly implies ordering between offers — but nothing in the captures says what it orders, whether a higher number wins or a lower one, or whether a second qualifying offer renders alongside the first or is suppressed. The Conditions panel is how you would stop two offers overlapping in the first place, and it is the safer plan until you have tested the other on a staging copy.
There is a checkbox on the General tab labelled “Allow customers to remove Add-ons from the cart?”, and it was captured checked — so yes by default, and it is a setting you can turn off. Note the wording: a Cart Upsells screen asking about “Add-ons” is a string shared with the neighbouring booster, the same way both template descriptions on this screen talk about presenting a “Free Gift”. Shared copy across the suite, not evidence that the boosters are one feature.
Works well with
This one asks at the last screen, on an order already decided. The row starts with the boosters that ask on the same page or just after it, then runs through the rest of the suite.
A last relevant order bump right before payment — accepted with one checkbox.
▲ +35% conversions*Learn moreOne-click additions right after “Place order” — no re-entering payment details.
▲ +10% revenue*Learn moreUpsells on the order-confirmation page, where trust is already established.
▲ up to 3.1% conversion*Learn moreOffers shown right in the cart, on top of what the shopper already has.
▲ +10–30% revenue*Learn moreA checkbox inside a cart row’s own product cell — ticked, it becomes a standard line.
▲ +25% AOV*Learn more“Spend $80, get 10% off” — tiered rewards that pull the total upward.
▲ +18% avg. spend*Learn more“You’re $11 away from free shipping” — the most effective sentence in e-commerce.
▲ +30% AOV*Learn moreTiered quantity discounts that make the bigger order the obvious choice.
▲ +30% order value*Learn moreShow the products that naturally belong with this one, added in one click.
▲ +35% sales*Learn moreCondition-based suggestions by category, cart contents, order history or totals.
▲ +31% revenue*Learn moreOffer catalogue extras on the product page — ticked in one go, each with its own discount.
▲ +20% AOV*Learn moreA relevant offer the moment something is added to cart — one popup, not a maze.
▲ +20% conversions*Learn moreLive inventory counts that create honest urgency — real stock levels, never fabricated.
▲ +17% conversions*Learn moreSubtle purchase notifications — from your real recent orders, or from name lists you write.
▲ +15% conversions*Learn more* Industry benchmarks and vendor-observed averages for each booster type — not a guarantee.
Cart Page Upsells
The shopper has already reached the last screen. One box asks if they want the whole thing again, a little cheaper — and every other booster in the suite, on every plan, no feature gating, ever.