Cart Add-ons
One more item, offered inside the cart the shopper has already built — ticked in place, counted in the open, and nothing standing between them and checkout.
Built for WordPress · WooCommerce
A LUMÉ demo store, on its cart page. The cart already holds two lines and three units: Classic White Tee at $18.00 with a quantity of two, so $36.00; Zip Hoodie at $54.00. The Subtotal reads $90.00, shipping is calculated at checkout, and the Total is therefore $90.00 as well. The cart badge in the store header reads 3, because it counts units rather than lines — that is why the tee with a quantity of two contributes two. Inside the Zip Hoodie’s own row, below its title and above its Remove link, sits the one element SalesMax draws: a block headed Add-ons carrying a Best offer badge and two unticked checkboxes, one per suggested product: Canvas Tote Bag, listed at $39.00 and offered at $31.20, and Ankle Socks · 3-pack, listed at $12.00 and offered at $9.60. Both are 20% off — LUMÉ’s own rule, not the plugin’s. A pointer crosses to the Canvas Tote Bag’s checkbox and ticks it once; the socks box is never ticked, so nothing it lists reaches the cart and no figure on the stage moves for it. A third line lands in the cart table below the hoodie, flagged Add-On, with its own price, its own subtotal of $31.20 and a plain quantity of one rather than a stepper. The Subtotal counts up to $121.20; the Total follows it only once the count has settled, so no half-counted figure is ever printed; the store header tally follows the Subtotal and the badge steps from 3 to 4. The pointer then crosses to the totals column, rests on the arithmetic, moves down to Proceed to checkout and presses it once. The button lights and the loop ends there — nothing navigates, no page changes. Nothing dims, nothing floats over the page and no popup appears at any point. The two original rows, their quantities and their line subtotals never change, and neither does the step breadcrumb. After a pause the cart is cut back to its opening state and the loop restarts; that cut is instant, never an animation, because a cart total seen counting downwards would stage a removal that never happens here.
LUMÉ is a demo store — every product, price, discount and total is its catalogue’s, not the plugin’s.
▲ typically +10–30%** A range, not a figure, and printed here with no unit because the source carries none: SalesMax’s own booster registry prints exactly “typically +10–30%” for cart-page offers, and 8theme publishes no study behind it and no measurement of its own. Read it as 8theme’s own unsourced range for offers of this type — not a study, not a promise and not a SalesMax measurement. Where 8theme does attach a unit to the same range, on its own landing page, it calls it average order value. Your own number appears per booster in the SalesMax dashboard.
A LUMÉ demo store, on its cart page. The cart already holds two lines and three units: Classic White Tee at $18.00 with a quantity of two, so $36.00; Zip Hoodie at $54.00. The Subtotal reads $90.00, shipping is calculated at checkout, and the Total is therefore $90.00 as well. The cart badge in the store header reads 3, because it counts units rather than lines — that is why the tee with a quantity of two contributes two. Inside the Zip Hoodie’s own row, below its title and above its Remove link, sits the one element SalesMax draws: a block headed Add-ons carrying a Best offer badge and two unticked checkboxes, one per suggested product: Canvas Tote Bag, listed at $39.00 and offered at $31.20, and Ankle Socks · 3-pack, listed at $12.00 and offered at $9.60. Both are 20% off — LUMÉ’s own rule, not the plugin’s. A pointer crosses to the Canvas Tote Bag’s checkbox and ticks it once; the socks box is never ticked, so nothing it lists reaches the cart and no figure on the stage moves for it. A third line lands in the cart table below the hoodie, flagged Add-On, with its own price, its own subtotal of $31.20 and a plain quantity of one rather than a stepper. The Subtotal counts up to $121.20; the Total follows it only once the count has settled, so no half-counted figure is ever printed; the store header tally follows the Subtotal and the badge steps from 3 to 4. The pointer then crosses to the totals column, rests on the arithmetic, moves down to Proceed to checkout and presses it once. The button lights and the loop ends there — nothing navigates, no page changes. Nothing dims, nothing floats over the page and no popup appears at any point. The two original rows, their quantities and their line subtotals never change, and neither does the step breadcrumb. After a pause the cart is cut back to its opening state and the loop restarts; that cut is instant, never an animation, because a cart total seen counting downwards would stage a removal that never happens here.
Live Sales NotificationsWhere it shows
The article’s prose is vague — “a visually integrated block of product suggestions directly on the Cart page” — but its frontend captures and admin preview are not.
Every field name, option and default on this page is read off one article: 8theme’s Cart Add-ons, dated 12 January 2025. Nothing was invented to fill a gap, and where the article is silent this page says so. One placement is documented and it is the one drawn above. There is no position picker anywhere in the article, no second slot and no list of pages. Everything below is unanswered by the source, so nothing here is asserted either way — check each on a staging copy before you build on it:
Confirmed and worth stating plainly: the booster is described as fully responsive on desktop and mobile, and the admin preview carries desktop and mobile toggles alongside an Advanced preview button.
Templates & appearance
A two-entry design picker and exactly two strings — the admin’s whole list, so the whole control set here.
Emptying a field drops its element here — this preview’s reading, not a documented behaviour.
The math
An attach rate, not a conversion rate — the cart was already full. Say 400 orders, 12 in 100 tick the box, an add-on worth $30: 400 × 12% × $30 = +$1,440/mo. Press the keys.
The control room
Three decisions carry this booster — products, discount, quantity. Everything else is targeting; the cards beside it flag what is left to check on your own store.
Tap the chips — the rule sentence rewrites itself. Every chip here is an option the article names.
One radio, five mutually exclusive options: WooCommerce’s own Related products (matched on shared tags or categories), the Cross-sell or Upsell products from the product’s Linked Products panel, Custom products, or Specific products you find with the product search. Two cautions: the Custom option is absent from the prose and its tooltip is cut off mid-sentence in the only screenshot, so what separates it from Upsell is genuinely unclear — and none of the five descriptions says the block reads what is already in the cart.
A dropdown and one number field. No discount shows regular prices. Percentage discount (%) takes a percentage off each product individually. Fixed discount ($) takes an amount off each. Free makes the selected product $0.00 in the cart. On the frontend a discount renders as the struck-through original beside the new price in the accent colour. The article’s own examples: $3 off each add-on for simple bundles, or 20% off each for accessories.
Three modes. Sync quantity with main product quantity matches the trigger item — two of the parent, two of the add-on. Allow customer to change quantity gives them a stepper in the cart. Fixed quantity locks it, and a Value field sits underneath: the screenshot shows 12, so “fixed” does not mean “one”. The frontend capture corroborates it — the added line shows a plain number where the parent row shows a stepper.
All Products, Specific Products, Product Categories, Product Tags or Product SKUs, evaluated with Match any (OR) or Match all (AND). What the docs do not say is which product they are evaluated against on a cart page — each line item on its own, or the cart as a whole. The screenshot showing one block under one row implies per-line-item; the article never states it.
A separate optional panel: “Add conditions if you would like to personalize based on the items in the cart, order total etc.” The full list is grouped — Order: products, categories, tags, SKUs, number of line items, item quantity, applied coupons, order total. Purchase history: first order, number of orders, orders with specific products, total spent. User: role, logged in, specific users. Date & time: time, days. The operators, and whether several conditions are ANDed or ORed, are not published.
SalesMax → Sales Boosters → + New Booster, choose Cart Add-ons as the booster type, name it, configure it and save.
The panel at the foot of the configuration holds Priority (10 in the screenshot), a Start date, a Set end date checkbox and the End date it reveals. Scheduling is day-granular, not hour-granular — for a time-of-day window you use Conditions → Date & Time → Time instead. What Priority actually orders, which direction wins and what timezone the dates use are all unpublished.
Settings → Boosters → Listing. It is a global cap across boosters, and the article never says whether it governs how many rows this block shows. There is no per-booster row limit anywhere in the screenshots.
Settings → Boosters → General: “You can choose either the regular price or the sale price to calculate a discount.” It reads Regular price in the screenshot. Beside it sits the toggle that excludes already-discounted products from a second discount — shown off, and its exact label is hidden behind an open tooltip in the only capture we have.
A plugin-wide toggle in the same panel, shown off, with its tooltip not visible. We cannot tell you what it does or whether it touches this booster, and we are not going to guess at a setting with that name.
Confirm the booster is enabled. Ensure conditions match the current cart state. Check the add-on products are published and in stock. Make sure no conflicting plugins or boosters are overriding the cart content. Test without caching or page-optimisation plugins temporarily. Try viewing the cart as a guest and as a logged-in user to verify visibility logic.
An Analytics section exists plugin-wide, but nothing booster-specific is documented for this one — no attach rate, no per-block reporting, no A/B split. Translation and RTL specifics, AJAX behaviour and theme compatibility beyond that generic conflict warning are likewise unpublished.
FAQ
Yes. The documentation’s own answer is “Use conditions to display different boosters or offers based on what’s in the cart.” In practice that means one booster per offer: build several, point each at its own products, categories, tags or SKUs under Apply to, and use the Conditions panel — products in the order, categories, tags, SKUs, line-item count, item quantity, applied coupons, order total, and more — to decide which one runs. What is not documented is how two boosters that both qualify on the same cart behave together. A Priority field exists in Optional Settings, but nothing published says what it orders or whether a high number wins, so test that combination on a staging copy before you rely on it.
Yes, if the suggested product has weight or dimensions — WooCommerce will update totals accordingly. That is the documentation’s answer in full, and it follows from the mechanism: once ticked, the add-on becomes a standard WooCommerce line item, so shipping treats it like any other product in the cart. Tax and coupon interaction is a different question, and one the article does not answer: whether the discount is applied as a real price change or as a coupon is nowhere stated, so how it lands alongside your own coupons and tax rules is worth checking before a sale rather than during one.
Yes. They behave like standard WooCommerce products and can be removed like any other item — the added line carries its own Remove link, its own price and its own subtotal, exactly like the rows above it. One thing the documentation does not cover: what happens if the shopper instead unticks the checkbox in the block that offered it. Ticking is documented as the way in; unticking is not documented as a way out, and in the article’s screenshots the box stays ticked and the block stays visible after the item is added. Assume the Remove link is the reliable route until you have tested the other.
That is your choice, and it is a single setting called Cart item quantity with three modes. Sync quantity with main product quantity matches the item that triggered the booster — two of the parent, two of the add-on. Allow customer to change quantity gives them a stepper on the added line in the cart. Fixed quantity locks it, and the Value field beneath the dropdown sets the number: the documentation’s screenshot shows 12, so “fixed” does not have to mean one. What is not published is whether that Value field also applies in the other two modes, what Sync does if the parent quantity later changes or the parent is removed, and how stock limits are handled — so if you plan to sell a fixed multi-pack this way, test it against a low-stock product first.
Run the documentation’s own list, in order: confirm the booster is enabled; ensure conditions match the current cart state; check the add-on products are published and in stock; make sure no conflicting plugins or boosters are overriding the cart content; test without caching or page-optimisation plugins temporarily; and try viewing the cart as a guest and as a logged-in user to verify visibility logic. Two of those are worth reading twice. “Ensure conditions match the current cart state” is the only place the documentation acknowledges that cart contents gate the block at all — so an empty or non-qualifying cart is the first thing to rule out. And “check the add-on products are published and in stock” implies the booster does not filter unpurchasable items for you, so a sold-out suggestion may simply produce nothing.
Works well with
This block is one thing that can happen on a cart page. The row starts with the boosters that share the same screen, then runs through the rest of the suite.
Small upgrades and companion products, one tap from the cart summary.
▲ +29% sales*Learn more“You’re $11 away from free shipping” — the most effective sentence in e-commerce.
▲ +30% AOV*Learn moreA last relevant order bump right before payment — accepted with one checkbox.
▲ +35% conversions*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 moreTiered quantity discounts that make the bigger order the obvious choice.
▲ +30% order value*Learn more“Spend $80, get 10% off” — tiered rewards that pull the total upward.
▲ +18% avg. spend*Learn moreLet buyers duplicate their purchase with a single click — popular for consumables and gifts.
▲ +73% uptake*Learn moreUpsells on the order-confirmation page, where trust is already established.
▲ up to 3.1% conversion*Learn moreOne-click additions right after “Place order” — no re-entering payment details.
▲ +10% revenue*Learn more* Industry benchmarks and vendor-observed averages for each booster type — not a guarantee.
Cart Add-ons
The cart is the last page where a shopper is still deciding — and every booster in the suite, on every plan, no feature gating, ever.