I would use discounts to attract customers and then follow up with appropriate upsells in order to raise the value of each order. The key figure to focus on should be profit per order, not just the conversion rate or the average order value. For the majority of stores, targeted discounts are more effective than giving out discounts to all customers.
upsells and bundles have usually made more sense to me than constantly pushing discounts. if the extra product is something the customer would genuinely use with the first one, it doesn’t feel like you’re trying to talk them into spending more. discounts can definitely move volume, but i’ve seen stores train people to wait for the next promo instead of increasing what they’re willing to pay normally.
Twenty-odd replies in and the margin argument is settled, so let me push on two things nobody’s covered.
Small catalogues break most upsell logic. “Frequently bought together” is a statistical model, and under a few hundred orders a month there’s no signal to fit it on (you get noise dressed up as a recommendation). That’s the version of upselling that annoys customers and gets blamed on “upsells don’t work for my store,” when really the store just didn’t have the order history the app needed. If you’re under that threshold, hand-curated pairings on your top 20 SKUs will beat any algorithm, and you can revisit it later.
Watch out for attributed revenue. Every upsell app will show you a dashboard number. A share of that is orders where the customer would have added the item anyway. The only honest read is a holdout: leave the offer off for a slice of traffic for two weeks and compare AOV and profit per order between the groups. Most people skip this and are delighted by a number that partly isn’t real.
On the timing debate above: post-purchase is genuinely lower risk, but it also gets a lower acceptance rate because the buying moment has passed. It’s not free upside, it’s a different trade.
Disclosure: we build an AI upsell app (Rapid AI Upsell & Cross Sell), which is completely free at the time of writing while we’re gathering feedback.
So treat my views with the appropriate suspicion! The holdout test above works against any vendor, us included!
Most of this thread is written from a stocked-inventory point of view, where a discount is margin you hand over. If you print on demand it works differently, and the difference is arithmetic rather than opinion.
On demand, your unit cost does not fall with quantity. Print three shirts, pay for three shirts. What does fall is shipping. Printful’s published apparel rates for Europe right now are 4.49 EUR for the first item and 1.25 EUR for each additional one. So the second shirt in an order arrives carrying 3.24 EUR less shipping than the first.
On a 25 EUR shirt that gap is about 13 percent of the sale price, and it exists for no reason other than the two items travelling together.
That is the number worth knowing, because it tells you what a quantity discount actually costs you. “Buy 2, save 10 percent” on that shirt is not 10 percent off your margin. The added unit came in cheaper, so most of that discount is paid for by shipping you no longer spend. Past roughly 13 percent you are into real margin, and it is worth knowing when you cross that line instead of picking a round number because it reads well on a banner.
Two things follow, and they cut against most of the advice above.
A quantity discount on the same product behaves far more like an upsell than like a sale. It only fires when someone adds a second item, so it never touches a single-item order, and the unit it discounts is your cheapest one.
A sitewide percentage does the opposite. It hits every order including the one-item ones, where there is no shipping saving to pay for it.
Run your own provider’s numbers before trusting mine. Printify and Gelato price additional items differently, rates differ by region, and if you charge shipping per item instead of offering it free, the saving lands with the customer and none of the above applies to you.
Upsells and bundles can be worth testing, especially if the goal is to increase average order value rather than rely heavily on discounts.
I’d compare a few approaches rather than assuming one will always perform better: a simple bundle, a relevant product recommendation in the cart, and a free-shipping threshold can each affect AOV differently. The important part is measuring the result against margin, not just looking at revenue.
I’d rather bundle than discount everything. The only thing I’d want to check is returns—did the bigger order actually stick, or did people send the extra item back?
It is not a matter of ‘this or that’ for us - it depends on what you are protecting.
Cold traffic and BFCM-type events are the times when discounts work best; however, they are counterproductive in the long term if they are your only weapon. It is true that upsell and bundles are typically the most effective option when it comes to the profit margin, especially if the customer is given an option to add a complementary SKU, size/variant step-up or the “complete the set” principle. A free-shipping threshold is also a more effective tool than an additional 10% discount for many product categories.
What I would stay away from: a higher %-off for no other reason than to disguise a poor PDP, and a discount that stacks on top of a distracting interrupt every session. If it converts, just keep a straightforward first-visit offer; put the “add this too” proposal on PDP or cart where the customer is already showing the intent.
Disclosure: I work on Atomato (Atomato Email, SMS & Upsell - Grow email and SMS lists and upsell from a feed... | Shopify App Store) – a shopper-opened notification feed/bell for offers, restocks, and product cards they can add to cart. Email/SMS is one card in that feed, not an ESP. Meant to sit next to the popup you already run, not replace it. Only relevant if you want that second on-site path.