The cost that's filed in the wrong place
Open a typical DTC P&L and find customer support. It'll be down in operating expenses, next to rent and software, as a headcount line. That placement is an accounting convenience that has become a strategic blind spot.
Support isn't fixed. Ticket volume moves with order volume — mechanically, immediately, and roughly proportionally. Headcount follows ticket volume with a two-to-three month lag. Over any horizon longer than a quarter, support is as variable as shipping, and it belongs in the same part of the P&L for the same reason: it's a cost you incur per order shipped.
Where it sits determines who owns it. Filed as overhead, it's a budget line the CX manager defends once a year. Filed in contribution margin, it's a cost per unit that shows up next to COGS and fulfillment in every margin review, and the question "why is this $3.40 when it was $2.10 two years ago" gets asked out loud. That question almost never gets asked, which is why the answer is almost always unflattering.
Nobody is assigned to reduce a number that doesn't appear in any unit economic. Move support into contribution margin and it acquires an owner the same week.
Contacts per order, priced
Two numbers do all the work, and both are available in your helpdesk today.
Contacts per order (CPO) is total support contacts divided by orders shipped in the same window. Count contacts, not tickets, and not conversations — a customer who emails, gets no reply, and then opens chat has generated two contacts of cost regardless of how your helpdesk threads them. Most healthy DTC operations run 5–15%. Above 20% you don't have a staffing problem, you have a specific upstream defect generating volume.
Fully loaded cost per contact is the total cost of the support function divided by total contacts. "Fully loaded" means everything: agent salary and benefits, the manager's time, outsourced agency fees, helpdesk and chat licenses, and — the line most brands omit — the concessions. Refunds issued to end a dispute, replacement units shipped free, goodwill discount codes. Those are support costs. They're usually booked as returns or promo and so never make it into the support number, which understates it substantially.
Multiply the two and you have support cost per order. That figure goes into contribution margin, directly under shipping.
What it does to contribution margin
A brand doing 12,000 orders a month at $82 AOV, 62% gross margin.
Support function, monthly: four agents fully loaded at $5,200 each ($20,800), 25% of a CX manager at $2,000, helpdesk and chat software at $900, outsourced weekend coverage at $1,800, and concessions of $4,300. Total: $29,800.
Contacts in the month: 2,640. That's a CPO of 22% — one contact for every 4.5 orders — and a fully loaded cost per contact of $11.29. Support cost per order: $2.48.
Now put it in the unit economics:
- Revenue $82.00
- COGS (38%) → −$31.16
- Shipping and fulfillment → −$9.40
- Payment processing → −$2.68
- Returns and discount allowance → −$6.60
- Support → −$2.48
- Contribution margin: $29.68 (36.2%)
Support is 8.4% of contribution margin. Getting CPO from 22% down to a still-unremarkable 12% would cut support cost per order to $1.35 and add $1.13 to every order — $13,560 a month, $163k a year, with no change to traffic, conversion rate, or price. For most brands that's a larger number than anything the CRO roadmap will deliver this year, and it's sitting in a line item that doesn't appear in the margin review.
This is exactly the kind of below-the-fold margin leak that gets missed when contribution margin is calculated loosely. If your unit economics stop at COGS and shipping, the framework for building them out properly is in what is contribution margin in ecommerce.
Model support as a real margin line — free, no login
Drop your order economics into the contribution margin calculator, add support cost per order as a variable line, and see what a 10-point CPO reduction is worth annually.
Open the margin calculator →Every ticket is a defect with an address
The reframe that makes this actionable: a support contact is a failure of the experience to answer a question it should have answered. Each one traces to a specific page, promise, or process. Tag them that way and the fix stops being "hire another agent."
A working taxonomy for DTC, roughly in volume order:
- Where is my order — the shipping promise and the tracking experience failed to set or maintain expectations.
- Return or exchange initiation — the returns portal is hard to find, hard to use, or the policy is unclear.
- Pre-purchase product questions arriving post-purchase — sizing, compatibility, ingredients, usage. The PDP didn't answer it and the customer bought anyway, which means this ticket also predicts a return.
- Order modification — wrong address, wrong variant, cancel request. Usually a checkout UX problem plus a too-short edit window.
- Damaged or wrong item — a genuine fulfillment or packaging defect, and the most expensive category because it almost always carries a concession.
- Subscription management — pause, skip, swap, cancel. Any of these arriving by email means the self-serve portal failed.
Tagging for one month is enough. The distribution is never flat — it's almost always two categories carrying 60% of volume, and those two categories point at two specific fixes.
The WISMO tax
Where-is-my-order is the largest category at most brands, frequently 35–45% of all contacts, and it's the most misdiagnosed. It looks like a communication problem. It's usually a promise problem.
WISMO volume is driven by the gap between what checkout implied and what the carrier delivered. "Ships in 1–2 business days" is heard as "arrives in 1–2 business days." A five-day transit then reads as a problem, and the customer contacts you on day three — not because they're impatient, but because the number they were given has passed.
The three fixes, in order of leverage: state delivery dates at checkout rather than processing times; send a proactive notification at the moment of the most common anxiety trigger, which is the first tracking scan gap of more than 48 hours; and put order status behind a link in the confirmation email rather than behind a login.
That's not a support project. It's a checkout copy change, a notification trigger, and an email template — all owned outside CX. Which is the point: the volume is generated upstream and can only be fixed upstream. Note too that WISMO volume is highly sensitive to which shipping options you offer and how you price them, so this work is entangled with the choices covered in shipping and fulfillment is a margin strategy.
Why deflection is the wrong first move
The reflex when support cost rises is to deflect: add a chatbot, bury the contact link, expand the help center. Deflection lowers cost per contact and often raises the real cost.
Two reasons. First, a deflected contact frequently isn't resolved — it's delayed. The customer tries the bot, fails, and emails anyway. You've now paid for the bot interaction and the human one, and added friction to a customer who was already having a problem. Second, some contacts are worth having. A pre-purchase sizing question answered well prevents a return that would cost you the shipping both ways plus a restocking touch — a contact that costs $11 and saves $18 is a profitable contact. Undifferentiated deflection suppresses those along with the rest.
The right sequence is elimination before deflection: remove the reason for the contact, then automate what remains, then staff what's left. Deflecting a ticket you could have eliminated locks in the defect permanently, because the volume signal that would have flagged it stops reaching you.
It's also worth remembering what a badly handled post-purchase experience costs beyond the ticket. A customer whose first order arrives late and whose email goes unanswered for two days is meaningfully less likely to order again, and repeat rate is the highest-leverage number in the model — the case for which is in repeat purchase rate is the most underused lever in DTC.
A reduction order of operations
- Compute the two numbers — contacts per order and fully loaded cost per contact, concessions included. Put the product in contribution margin.
- Tag one month of contacts against a fixed taxonomy. Don't build a perfect scheme; six categories is enough.
- Take the top two categories and find the upstream owner — a page, a promise, a policy, a portal.
- Fix the cause, not the queue. Delivery dates instead of processing times. A findable returns portal. PDP copy that answers the question the ticket asked.
- Re-measure CPO after 60 days and convert the delta into annual margin dollars so the work gets credited where it happened.
- Only then automate the residual volume, and keep the contacts that prevent returns.
Price your own support line
Most brands I work with have never computed support cost per order, and the first calculation lands somewhere between $2 and $4 — several points of contribution margin nobody had assigned to anyone. The volume driving it is almost always concentrated in two fixable upstream defects, and neither of them lives in the support team.
Want to know what your post-purchase experience is costing you per order?
I move support into contribution margin, tag contact volume back to the upstream defects generating it, and size the margin recovery from fixing the top two. Starts with a free diagnostic call.
Request a free audit →