The only number in your unit economics you can move this week

Contribution margin per order is your average order value times your margin rate, minus what you paid to get the order. Three inputs. Two of them are locked for months.

The calculator below uses your figures. We publish no average acceptance rate, because we have not measured one honestly.

Contribution margin = AOV × margin rate CAC

Why two of the three are locked

Your CAC is set by an auction you share with everyone selling something adjacent, and most of them have deeper pockets than you. You can improve creative and targeting, and you should, but the floor is not yours to set.

Your conversion rate moves in tenths of a point, over months of testing, and a good share of what you win back gets eaten the next time a browser changes how it handles tracking. It is real work with a slow clock.

Average order value is different. It changes the day you change an offer, it needs no extra traffic, and the merchant next to you cannot bid it away from you.

Four ways to raise AOV, and what each one actually costs

They are not equivalent, and the difference is not in how much they add. It is in what they take.

Bundles and volume breaks

They work. They also discount: the order gets bigger while the margin rate on it gets smaller. Look at the second term of the equation before you celebrate the first.

Costs you margin rate

Order bump at checkout

An extra decision placed in front of a buyer who was about to pay. Everything added to a checkout is one more reason to abandon it.

Costs you conversion rate

Cross-sell in the cart

Same trade as the bump, one step earlier, with more of the funnel left to lose after it.

Costs you conversion rate

Post-purchase offer

The offer appears after the payment is captured, between the checkout and the order confirmation. The first order is already banked when the buyer sees it. A decline changes nothing.

Costs you nothing measurable

The trade that is not there

Every AOV tactic that lives before the payment trades conversion rate for order size. You can argue about the exchange rate, but the trade is real and you are making it whether you measure it or not.

After the payment there is nothing left to trade. The buyer has paid, the order exists, and the offer either adds to it or does not. That is the whole technical argument for this category, and it is the reason a post-purchase test is the cheapest AOV experiment you can run: the downside is bounded at zero.

Run it on your own numbers

Nothing below is our data. Put in what your store actually does, and set the acceptance rate to whatever you think is realistic. We do not publish an average, because we have not measured one we would defend.

New average order value
Added revenue per month
Added contribution margin per month
Added margin per year

Upsell revenue carries no acquisition cost, so its whole margin drops through. That is why the third line is larger than it looks like it should be.

Where the offer appears

Shopify gives a store two surfaces after payment. The post-purchase page, which it renders between the checkout and the confirmation, and the thank-you page, which it always renders. Our app uses both: a one-tap offer added to the same order on the first, and a pre-filled cart with the discount already applied on the second. Every order gets one.

Order #1042 confirmed. Thank you, Sarah.

One-time offer, before your confirmation

Leather watch strap

Brown · 40 mm

€39.00 €79.00 −50%

Charged to the card you just used. Ships with order #1042.

Add to my order No thanks
One tap adds it to the order that was just placed. A decline costs nothing, which is what makes this the only AOV lever with a floor at zero.

You can click through the buyer screen yourself, accept and decline, and see what the downsell does, on the demo page. Nothing there charges anything.

Free plan with 100 offers a month. Pro is 19.99 dollars a month, flat, with no commission on the revenue it generates.