Sign in

Blog · Finance metrics and formulas

Direct mail ROI: measure contribution after campaign costs

Calculate direct mail ROI from matched orders, product margins, postage and printing costs. Follow a campaign workbook from source exports to a checked result, and separate attributed sales from incremental sales.

The short answerDirect mail ROI is matched-order contribution minus campaign costs, divided by campaign costs. Contribution deducts product costs and variable order fulfillment from net sales; campaign costs include printing, postage, creative work and list preparation. Match orders within a stated response window, then distinguish attributed purchases from purchases caused by the mailing before deciding whether to repeat it.

Direct mail ROI measures the contribution left from a mailing after its campaign costs, relative to those costs. Start with net order revenue, deduct the costs of supplying those orders, and then subtract printing, postage and the rest of the mailing spend. Revenue alone can make an unprofitable campaign look successful.

The general distinction between profit return and revenue return belongs in marketing ROI vs ROAS. Direct mail adds a practical problem: the mailing list, postal activity, responses and order records must refer to the same campaign and measurement window.

Start with three exports

Use a mailed-recipient list, an order export and the campaign cost register. Agree the response window before reviewing the results, and record whether the report is based on send date, expected arrival or a documented postal event.

The recipient file needs campaign identifier, recipient identifier and mailing date. The order file needs campaign identifier, unique order identifier, matched recipient, order date, net revenue, product cost and variable order fulfillment. The cost register needs campaign identifier, invoice reference, cost category and amount.

Keep postage and printing separate. USPS mailing preparation guidance describes route selection, mailpiece preparation and postage as distinct parts of preparing a mailing. Use the invoices for your actual campaign rather than substituting a published postage price for total mailing cost.

Match orders before adding revenue

Decide which evidence qualifies an order: a campaign code, a dedicated response address, or a recipient match approved by the business. Resolve multiple matches before totaling sales. An order appearing under several response methods is still one order.

Postal tracking is supporting timing evidence. USPS describes its mail tracking information as tracking data for domestic mail; it does not identify a completed sale. Keep a response, an order and a mailed piece as separate records.

A US office-supply distributor mails a campaign to 10,000 recipients. Its matched orders within the agreed window are grouped below. Each order appears once, net revenue already reflects discounts and returns, and all amounts are illustrative USD.

Response group Orders Net revenue (USD) Product cost (USD) Order fulfillment (USD) Contribution (USD)
Printed campaign code 100 20,000 11,000 2,000 7,000
Dedicated response address 80 16,000 8,800 1,600 5,600
Approved recipient match 120 24,000 13,200 2,400 8,400
Total 300 60,000 33,000 6,000 21,000

The matched-order rate is 300 / 10,000 = 3.0%. Call it that: inquiries that did not become orders are absent from this numerator.

Calculate contribution and campaign spending

On an Orders tab, put campaign in A, order identifier in B, recipient in C, date in D, net revenue in E, product cost in F and order fulfillment in G. Contribution in H2 is:

=E2-F2-G2

Fill down only after checking the order population. The gross margin and contribution margin distinction matters here because shipping and other variable selling costs may sit below gross profit in your ledger.

The campaign invoices are:

Campaign cost Amount (USD)
Creative work 1,000
Printing 2,500
Postage 5,000
List preparation 500
Mailing assembly and handling 1,000
Total 10,000

Mailing assembly prepares the advertising pieces. Order fulfillment supplies the purchased goods. They are different activities in this example and each is charged once.

On a Costs tab, put campaign in A, cost category in B and amount in C. On a summary tab, put the campaign identifier in A2. Matched contribution in B2 and campaign spending in C2 are:

=SUMIFS(Orders!H:H,Orders!A:A,A2)
=SUMIFS(Costs!C:C,Costs!A:A,A2)

With numeric, complete amounts, ROI in D2 is:

=IF(C2=0,NA(),(B2-C2)/C2)

Format D2 as a percentage. A zero spend denominator produces an unavailable result rather than a misleading zero return.

Direct mail ROI = (Matched contribution − Campaign spending) / Campaign spending

Here, (21,000 − 10,000) / 10,000 = 110.0%. Revenue divided by campaign spending is 60,000 / 10,000 = 6.0 times, but that measure ignores product and order costs.

Prove the result before repeating the campaign

The complete reconciliation is 60,000 − 33,000 − 6,000 − 10,000 = $11,000 of campaign contribution after mailing costs. That must also equal 10,000 × 110.0% = $11,000.

Tie order revenue to the included order identifiers and cost totals to their invoices. Check unmatched recipients and unmatched orders separately rather than treating either as zero-value purchases. Keep the matching date and any later return adjustments with the report.

Average contribution per matched order is 21,000 / 300 = $70. At unchanged order mix and costs, break-even requires 10,000 / 70 orders, rounded up to 143 orders. This is a planning sensitivity, not a guarantee that a smaller mailing preserves the same economics.

Attribution is different from incrementality

Suppose the campaign also has a comparable randomized holdout that receives no mailing. The purchase counts are:

Group Eligible recipients Purchasing recipients Purchase rate
Mailed 10,000 300 3.0%
Holdout 2,000 40 2.0%

Assume one order per purchasing recipient and the same $70 contribution per order in both groups. The estimated incremental orders are (3.0% − 2.0%) × 10,000 = 100. Incremental contribution is 100 × 70 = $7,000, and incremental ROI is (7,000 − 10,000) / 10,000 = −30.0%.

These are two different questions. The attributed result describes matched purchases; the holdout estimate asks how much purchasing changed. Group assignment, other promotions and random variation still need review before treating the difference as dependable evidence. Use the same distinction when reviewing email marketing ROI.

Where it goes wrong

  • Revenue substituted for contribution. Large orders can carry low margins and expensive delivery.
  • Duplicated response matches. A code and recipient match must not create two copies of an order.
  • Incomplete campaign spending. Late printing invoices and creative costs change the return.
  • Unequal response windows. Comparing a mature campaign with a recently mailed campaign favors the older one.
  • Attribution presented as causation. A matched order can include demand that existed before the mailing.

Check your campaign file in Covirage

Bring your campaign cost register and an order workbook with the matching rules and response window documented. Covirage maps the columns; its tools compute contribution and ROI and check the totals, while the external AI model explains the result with every figure traced to its rows. Create a free Covirage account and bring a sample of your own export.

See customer profitability for the supporting view of revenue and costs by customer.

Questions people ask

What costs belong in direct mail ROI?

Include creative work, list preparation, printing, postage and mailing preparation in campaign spending. Deduct product costs, returns and variable order fulfillment when calculating order contribution. Keep each cost in one place so fulfillment or postage is not charged twice.

How do you track purchases from direct mail?

Use a campaign code, a dedicated response address or an approved recipient match, with a stated purchase window. Keep the original order identifier and exclude duplicate matches. Postal tracking helps establish mailing timing, but it does not establish that a customer purchased.

Does a coupon redemption prove the mailing caused the sale?

A redemption establishes an attribution link under your matching rule. The customer might still have purchased without the mailing. A randomized group that receives no mailing provides a comparison for estimating incremental orders, provided the groups otherwise receive comparable treatment.

Should repeat purchases count toward direct mail ROI?

They can count when the measurement window and matching policy include them. Show initial-order contribution separately from later purchases, deduct the associated variable costs, and avoid counting the same later order in several campaigns. Keep projected future purchases separate from observed results.