03 Profit Check
Will this promotion lose money? Calculate profit before discount and budget.
This week, do not start with “how many orders can the discount create?” Start with how much room remains after concession, acquisition, and refunds land on the same order, then identify where budget, the offer, or the campaign itself must stop.
Start with the full case: a US pet-travel store with steady early orders runs a small-traffic pricing test for one $59 pet travel mat in May 2026. Product, fulfillment, payment, and support reserve are $18 + $7 + $2 + $2 = $29; the 10% discount and shipping subsidy are $5.90 + $4 = $9.90; so pre-refund contribution room is $59 - $29 - $9.90 = $20.10. Pricing, finance/ops, and ads/CRM/creator check in order; 8% refunds or below $8 stops this test only.
This week’s record
Pricing and margin guardrail table
Pass standard
Every offer has a profit floor, responsible team, and stop condition
Stop line
More orders do not mean healthy profit
Pricing guardrail preview
Price
Confirm full-price conversion baseline.
$59
True variable cost
Product, fulfillment, payment, support together.
$29
Discount + shipping
This is not just marketing, it is margin given away.
$9.90
Contribution room
Media, team, and tools draw from this room.
$20.10
If contribution profit drops below $8, reduce spend before adding more discount.
Wrong order
Promotion is not “pick a discount now, check profit later.”
Many campaigns look busy: more orders, higher GMV, decent ROAS. Then month-end shows thinner margin, more refunds, and repeat buyers trained to wait for discounts. That is not promotion success. It is growth without guardrails.
Can convert
Value feels matched, not merely cheap.
Has margin
There is room after product, shipping, payment, packaging, and support.
Can support media
The price can survive CAC movement.
Can promote
There is room for seasonal, email, repeat, and clearance offers.
Can position
Price supports the brand tier instead of turning the store into a cheap bazaar.
Separate the terms that often get blurred: gross margin is the share of selling price left after direct cost; contribution profit is the room left after product, fulfillment, payment, support, and concessions for acquisition, team, and fixed costs—not final net profit. CAC is the cost actually paid to acquire one customer, usually read in advertising and channel accounts; ROAS is revenue attributed to ads divided by ad spend. Good ROAS does not prove that an order makes money because it cannot see discounts, shipping subsidy, commission, or refunds. Compare-at price is the struck-through page price; it is not a license for any discount and must match a real price promise and end date.
Work one order first
Reconcile every concession on the $59 order before approving the offer.
This is a separate May 2026 US pet travel mat test cost card. It decides whether this offer is controlled. It does not replace the Finance series $79 PetNest order or automatically apply to another SKU.
Reconcile direct cost first: product $18, fulfillment $7, payment $2, and support reserve $2, so 18 + 7 + 2 + 2 = 29. Full-price contribution room is 59 - 29 = $30. Then list the offer instead of hiding it in advertising: a 10% discount is 59 x 10% = $5.90, shipping subsidy is $4, and 5.90 + 4 = $9.90 of total concession. The result is 59 - 29 - 9.90 = $20.10 of pre-refund contribution room.
Refund reserve and CAC are later, separate decision layers in the simulator. First calculate 20.10 - 2.50 = $17.60, then 17.60 - 12 = $5.60 of room after target CAC. That $5.60 is neither net profit nor permission to scale. It warns the team not to make discount, shipping subsidy, commission, refunds, and media more aggressive in the same week.
Pricing keeps the price version and dates. Finance or operations confirms cost and cash. Media checks CAC. CRM, creator, and checkout owners verify that code, automatic discount, free shipping, gift, and commission cannot form an unapproved stack. Page, feed, ad, and email owners then reconcile the same paid price. Every layer needs a source and date. A supplier verbal quote, outdated payment fee, or old discount screenshot is not launch evidence.
In this case, continue only with a small traffic test when price surfaces agree, inventory can carry demand, refunds are not approaching the 8% review line, measured per-order contribution does not cross the $8 stop line, and cash is not crowded by purchase or refunds. Otherwise reduce spend, tighten the offer, or pause. The thresholds belong to this cost card and market window. Recalculate when cost, inventory, or audience changes.
Main asset
Pricing and margin floor table
This table is not finance decoration. It decides which campaigns can launch, which ads cannot scale, and which discounts must stop.
01 Price field checklist
Separate page price, checkout discount, and feed promotion fields first.
Before launch, teams often mix Shopify Price, Compare-at price, discount codes, automatic discounts, free-shipping rules, Google sale_price, and sale_price_effective_date. When fields drift, product pages, collections, checkout, feeds, ads, and Email promise different prices.
02 Promotion Profit Simulator
Put discount, free shipping, commission, and refund reserve into the same order.
The real danger is not one large discount. It is several small concessions landing on the same order. This simulator compares direct discounting, free-shipping threshold, and creator-code stacking to show how much usable profit remains.
Before switching plans, decide which costs belong to the same order. Product, fulfillment, payment, and support reserve form true cost. Discount, shipping subsidy, creator commission, and refund reserve are concession or risk layers. Target CAC is the acquisition check. Do not omit a layer to make a plan look launchable, and do not subtract the same cost twice.
The simulator shows a transparent per-order scenario, not a revenue or net-profit forecast. Check inputs, arithmetic, and case boundary before reading the action and blocked move. If real orders differ in paid price, shipping subsidy, commission, refunds, or CAC, return to the cost card and recalculate instead of carrying forward an old color or state.
Promotion profit simulator
10% off + free shipping
Price
$59.00
True cost
$29.00
Total concession
$12.40
Contribution profit
$17.60
Discount
$5.90
Shipping subsidy
$4.00
Creator commission
$0.00
Room after target CAC
$5.60 / 30%
This-week action: Can test with small traffic, but do not scale budget at the same time. Contribution profit is only $17.60, so CAC should stay near $12 with a refund stop line.
Blocked move: Do not keep 10% off plus free shipping as an always-on first-order offer.
Write back to pricing review: Simulator write-back: 10% off + free shipping leaves $17.60 contribution profit; keep it small, and downgrade if CAC exceeds $12 or refunds rise.
After choosing, the launch sheet should not receive a green state alone. Write paid price, every concession, refund reserve, target CAC, remaining room, owner, price window, and stop line. Discuss more traffic only when the next same-scope orders match those inputs. Otherwise identify which layer consumed the profit first.
03 Promotion profit pass line
Take campaign numbers into the Pricing tool before choosing the next route.
This section does not send you away to calculate once and forget the lesson. It connects the tool result back to operations. Choose the card closest to this week’s promotion pressure, bring the inputs to the pricing and margin tool, then return to write the pass line, blocked move, and next route.
Choose this week’s promotion pressure
Click a card to see the tool inputs and the next lesson route after the calculation.
Promotion profit pass line
Recalculate free-shipping threshold
Inputs for the tool
Bring to the Pricing tool: current AOV, target threshold, add-on margin, last-mile shipping cost, refund reserve, and target CAC.
Pass line
The threshold sits above current AOV, and add-on contribution profit covers the free-shipping subsidy and last-mile variance.
Blocked move
Do not make sitewide free shipping the default promotion, and do not use low-margin items to force the threshold.
Write back to review note
Promotion profit pass line: recalculate free-shipping threshold this week; launch only if add-on contribution profit covers the subsidy.
After the tool check
Go to promo feed readiness
Tip: when you click “Copy lesson notes” below, this promotion profit pass line’s tool inputs, pass line, and next route are copied with it.
04 Promotion margin decision practice
Decide whether the promotion can launch before choosing discount and budget.
This turns promotion strategy from a summary into a decision drill. Read What / Why / How / Practice, then choose a campaign pressure scenario and this-week action to see whether it can enter the launch sheet.
What
A promotion margin sheet is not a finance recap
It is a pre-launch profit check: write price, true cost, discount, free shipping, commission, refund risk, and media room before deciding whether the campaign can launch.
Why
Higher GMV can mean buying unprofitable orders
Orders, ROAS, and conversion can all improve while discount stacking, shipping subsidy, and support cost push per-order contribution profit below the floor.
How
Set the floor before choosing the promotion
Every campaign first needs minimum contribution profit, non-stack rules, audience path, inventory boundary, review metrics, and stop line.
Practice
Turn one promotion into a launch decision
A valid decision is not “discount approved”; it is whether this audience, offer, threshold, and stop line can launch.
Step 1: choose promo pressure
Step 2: first evidence
Storewide free shipping creates more small orders
First check AOV, last-mile cost by market, add-on margin, weak-margin order share, and shipping subsidy.
Step 3: choose this-week action
Step 4: launch row preview
Choose a this-week action first, then this area will show whether it can enter the launch sheet.
05 Weekly approval card
Use discount sensitivity to decide whether to approve, downgrade, or pause this week.
The earlier simulator compares three complete plans. This card changes only the discount on the same $59 cost card, so the weekly meeting can make a limited call first.
Use this card for the weekly meeting. The full Finance model remains in its own lesson. It holds price at $59, true cost at $29, shipping subsidy at $4, refund reserve at $2.50, and target CAC at $12constant and changes only the discount. Check the room under the same assumptions, then decide whether to approve a small test, tighten it into a smaller test, or pause and return to the cost card.
Step 1: move discount sensitivity
Discount concession
$5.90
Contribution after reserve
$17.60
Room after target CAC
$5.60
Break-even discount after target CAC
$11.50 / 19.5%
A positive remainder after target CAC only says this classroom cost card is not fully consumed by discount. It is not a universal discount ceiling.
Step 2: this-week approval
Downgrade to a smaller test
Do not add budget or another concession. Tighten the offer, threshold, or audience first, then use same-scope evidence to decide whether to continue.
Current case action: Tighten the discount, threshold, or audience first and keep a same-scope review.
| Discount | Concession | Contribution after reserve | Room after target CAC | This-week action |
|---|---|---|---|---|
| 0% | $0.00 | $23.50 | $11.50 | Approve a small test |
| 5% | $2.95 | $20.55 | $8.55 | Approve a small test |
| 10% | $5.90 | $17.60 | $5.60 | Downgrade to a smaller test |
| 15% | $8.85 | $14.65 | $2.65 | Downgrade to a smaller test |
| 20% | $11.80 | $11.70 | $-0.30 | Pause and return to the profit guardrail |
Read the default 10% row first: after the $5.90 discount, contribution profit after the refund reserve is $17.60 and only $5.60 remains after target CAC.That is why it downgrades to a smaller test. It does not justify a budget increase, even if orders rise.Moving the slider changes only discount; return to the cost card if another cost changes.
The classroom record stays in the current browser only
Save, restore, clear, and export only keep this lesson’s discount band, preset owner role, preset review window, and classroom decision. Do not enter real SKU, cost, order, customer, budget, or account data here.
True cost
Calculate true landed cost, not just purchase cost.
A low purchase cost does not mean the product can support discounts and ads. You need to see every cost that takes money before profit remains.
Product cost
Purchase cost, customization, inspection, packaging, and gift cost.
If you only read purchase cost, promotion room gets overstated.
Fulfillment cost
Freight, warehousing, pick and pack, last mile, insurance, replacements.
Free shipping and bundles eat margin you thought still existed.
Transaction cost
Payment fees, Shopify plan, third-party transaction fees, FX, payout cost.
Currencies and payment methods create different net margin at the same price.
Post-purchase cost
Refunds, chargebacks, return shipping, credits, support time, damage loss.
When promo traffic quality drops, support costs consume margin again.
Growth cost
Ads, creator commission, affiliate payout, discounts, free-shipping subsidy.
A nice ROAS does not mean the order is profitable.
Contribution margin formula
Contribution margin = price - product cost - fulfillment cost - payment cost - average support cost - discount / shipping subsidy
Contribution margin is not final net profit, but it tells you how much room remains for ads, tools, team, and fixed costs.
Do not confuse margin rate and markup
Margin rate = (price - cost) / price
Markup = (price - cost) / cost
If cost is $10 and price is $20, markup is 100%, while margin rate is 50%. Operating decisions should read margin rate and contribution margin because they are closer to discount, media, and support capacity.
Tool loop
Run the guardrail table through the pricing tool.
This lesson teaches what needs to be calculated; the pricing tool separates the inputs. Take one real SKU, enter price, product cost, fulfillment, payment, discount, and ad cost, confirm the minimum profitable price and discount room, then come back to set the campaign rule.
Bring these fields
Price, sale price, discount code, or shipping subsidy
Product cost, fulfillment cost, payment fee, and average support cost
Ad cost, target CAC, refund rate, and minimum contribution profit
The tool does not make the call
The tool helps find SKUs that look discountable but already have thin margin. The final promotion decision still depends on inventory, return risk, brand price perception, and channel objective.
Open pricing calculatorPromotion paths
Do not put every audience into the same discount.
Free shipping, bundles, first-order offers, repeat-customer offers, clearance, and creator codes have different jobs, floors, and review metrics. Promotion designs a buying reason; it is not simply lowering the price.
Free-shipping threshold
Best when
Threshold is 10%-30% above current AOV, with high-margin add-ons.
Profit risk
Too low a threshold creates many weak-margin orders.
Review metric
Review AOV, shipping subsidy, weak-margin order share.
Discount stacking check
Sale price, compare-at price, and discount rules must not fight each other.
Shopify sale price, compare-at price, and discounts appear in different places. Product pages, collections, checkout, emails, and ads must tell the same price story, or buyers get confused and support absorbs the mess.
Automatic discount
Failure signal
Buyers stack into a lowest price you never approved.
Fix
Run a real checkout path before launch.
For price-display behavior, see the Shopify Help Center sale price documentation. The point is not source dumping. It is that product-page prices and checkout rules must be reviewed together.
Profit bridge
Translate ad ROAS into per-order contribution profit.
Platform ROAS is not profit. Pricing work must translate CTR, CPC, CPA, and ROAS into operating language before deciding budget.
Per-order contribution profit
Contribution profit per order = order revenue - product cost - fulfillment cost - payment cost - discount / shipping - average support cost - ad cost
If contribution profit is negative, keep dissecting even when ROAS looks good: price, discount, AOV, CAC, or refunds are eating the margin.
ROAS looks good, but contribution profit is negative
Price too low, discount too deep, AOV too low, CAC too high, refunds rising.
Orders rise, but refunds rise too
Promotion attracted mismatched buyers, or page promise and price expectation drifted.
Low-ticket SKU scales fast
Check whether fulfillment, payment, and support costs have eaten unit profit.
One ROAS target misreads the portfolio
High-margin repeat SKUs and low-margin one-time SKUs should not share one line.
The Alibaba Supply Chain Platform dynamic pricing paper is a reminder not to judge pricing experiments by raw revenue alone; the University of Washington channel-adoption research is a reminder that promotion-driven buyers and organic adopters may behave differently later. In this lesson, that becomes profit floor, audience path, and review rule before launch.
The Dynamic Pricing in a Dual Market Environment paper studies a stylized finite-horizon, two-channel, shared-inventory model. Under multiplicative demand, the inventory-demand relationship can be non-monotonic, and the preferred channel can change with the inventory state. In the profit bridge here, this result is not a universal pricing answer. Keep price, promotion, inventory, channel, and cash in the same existing review row and review them against store evidence together. It is a conditional theory boundary, not validation for a real store or current platform behavior, and it cannot establish a local price, channel priority, or store revenue or profit conclusion.
08 Promotion profit leak routing
Even when a campaign looks like a win, find where profit leaked.
This turns “more orders, good ROAS, better conversion” into accountable profit leakage. Promotion review should not ask only whether sales grew. It should ask how much profit discount, free shipping, bundle friction, creator commission, refunds, and price training consumed.
More orders, thinner profit
Hidden leak
Discount, free shipping, payment fee, and support cost push per-order contribution profit near the stop line.
First evidence
Sample orders by full price, paid price, discount, shipping subsidy, ad cost, refund risk, and contribution profit.
Allowed move
Reduce spend or tighten the offer, then split promotion orders into their own review column.
Blocked move
Do not protect attractive GMV with a deeper discount.
Write back: continuation requires a minimum per-order contribution profit and refund stop line.
Post-promotion Quality Review
After the campaign, read cohort quality and full-price recovery.
Quick Check
When orders grow, ask whether profit kept up.
A campaign lifts orders by 35% and GMV rises, but contribution profit after discount falls from $11 to $4, and refund rate rises from 4% to 7%. What should happen now?
Do not let 35% order growth or higher GMV decide the answer. Read contribution profit falling from $11 to $4 and refunds rising from 4% to 7%, then inspect paid price, discount, shipping subsidy, commission, ad cost, audience, and refund reason. The question tests whether you protect the profit floor first or postpone the problem with a deeper discount.
After choosing, write a time-bounded state: reduce spend and inspect audience, refunds, and stacking, or pause. Then assign an owner, a three-day review time, and a recovery condition. Do not restore budget or deepen the offer because GMV rises without new same-scope profit and refund evidence.
Stop / Go
Turn promotion decisions into states, not debates by feeling.
Scale
Contribution profit is stable, refunds are not rising, inventory can support demand.
Increase budget gradually and keep reading channel profit.
Watch
Orders rise, but contribution profit is near the floor.
Pause deeper discounts and inspect AOV, CAC, refunds.
Reduce spend
CAC exceeds affordable room, or inventory cover is below replenishment cycle.
Reduce spend first; do not support it with deeper discount.
Stop
Contribution profit is negative, or refund rate hits the stop line.
Stop the campaign, keep evidence, review price and audience.
Clear out
Low turn, weak margin, high support, not worth growing.
Separate from core products and recover cash through bundles or clearance pages.
13 Copyable Lesson Notes
Turn this lesson into copyable pricing and margin review notes.
This is not about filling discount fields. It explains why a promotion can launch, why it should be reduced, or why it must stop. The common mistake is treating sales growth as profit growth, and good ROAS as campaign health.
Pricing and margin review copyable lesson notes
Read these five rows before copying. They are not a pretty summary. They are the judgment the next pricing meeting needs: the pressure, the evidence, the action, the blocked move, and the review window.
Profit pressure
This is not about whether the discount can create orders. It is about whether discount, free shipping, creator code, refunds, and media cost consume contribution profit together.
First evidence
Write landed cost, COGS, payment fee, fulfillment subsidy, stacked discounts, refund rate, media cost, and minimum profitable price before trusting gross margin.
This-week action
The action should be launch, reduce the offer, change the free-shipping threshold, isolate the channel code, pause the campaign, fix price display, or enter profit review.
Blocked move
Do not scale a discount just because CVR or ROAS looks good. Do not let automatic discount, creator code, free shipping, and gift stack without control in one order.
Review window
Write what T+1, T+3, and T+7 review, and who updates price, page, feed, ads, and support scripts.
Where should you go next?
The standard is not “knowing how to discount.” It is explaining how much profit each promotion gives up, and what business result it buys.