Direct marketing analytics compares recipient cohorts with responses, first orders, and campaign cost. This guide shows the export layout, spreadsheet formulas, reconciliation checks, and limits of an uncontrolled campaign comparison.
Direct marketing analytics compares a defined group of contacted recipients with their responses, orders, and campaign cost. Use a consistent response window and count people separately from repeated activities. Then check the recipient, order, and spending totals before deciding which campaign deserves another test.
Start with the campaign's recipient export, not a report of everybody who responded. Otherwise, people who did nothing disappear from the denominator. Retain recipient ID, campaign ID, contact date, and delivery or mailing status.
Choose what qualifies as a response: a recorded inquiry, reply, or identified landing-page submission, for example. A sale can be tracked separately even when no earlier response was recorded. Document those definitions before comparing campaigns, and preserve unmatched responses for review.
This example compares mailed letters with postcards for a US commercial maintenance supplier. Recipients appear in only one cohort, and the denominator is distinct mailed recipients, including any later undeliverable pieces. Outcomes cover 30 calendar dates beginning with the contact date. Both cohorts have completed that window.
The example counts the first qualifying, noncanceled order per recipient. Additional orders belong in a separate repeat-purchase measure. Its sales amounts are net of recorded returns and discounts on those first orders, measured at the same reporting cutoff.
Use one row per recipient in the analysis sheet. The starting layout is:
| Column | Field | Treatment |
|---|---|---|
| A | Recipient ID | Stable, distinct within the assigned cohort |
| B | Campaign | Letter or Postcard |
| C | Contact date | Actual mailing date |
| D | First qualifying response date | Blank when none is recorded |
| E | First qualifying order date | Blank when none is recorded |
| F | First-order net sales (USD) | Matched order amount; zero when no order qualifies |
| G | Response flag | Formula below |
| H | Order flag | Formula below |
Use actual spreadsheet dates, including timestamps when supplied. For row 2, the response flag and order flag are:
=IF(D2="",0,--AND(D2>=C2,D2<C2+30))
=IF(E2="",0,--AND(E2>=C2,E2<C2+30))
The lower bound includes the contact date; the upper bound excludes the beginning of the next window. Fill down, then filter unexpected sequences such as an order dated before contact. Do not quietly change the date to make a record fit.
If the order export has several line items per order, total those items once before bringing the amount into the recipient sheet. Keep order ID in the supporting file so the sales total remains traceable. Separate unmatched orders from confirmed recipients with no order.
Suppose recipient rows occupy 2:2501. Put campaign names in J2:J3. Count recipients, responses, and first orders in K2:M2:
=COUNTIFS($B$2:$B$2501,J2)
=SUMIFS($G$2:$G$2501,$B$2:$B$2501,J2)
=SUMIFS($H$2:$H$2501,$B$2:$B$2501,J2)
The Google Sheets COUNTIFS reference documents counting records against criteria. The SUMIFS reference documents summing values that meet all supplied criteria; the ranges must correspond to the same recipient rows. Covirage is not affiliated with Google.
Sum qualifying first-order sales in N2:
=SUMIFS($F$2:$F$2501,$B$2:$B$2501,J2,$H$2:$H$2501,1)
Bring campaign cost into O2 from the reconciled spending schedule. Include list rental, printing, postage, and campaign-specific production under the same policy for both cohorts. Keep the schedule separate from recipient rows so joining recipients does not multiply a campaign invoice.
| Campaign | Recipients | Responders | First orders | Net sales (USD) | Campaign cost (USD) |
|---|---|---|---|---|---|
| Letter | 1,000 | 80 | 20 | 10,000 | 5,000 |
| Postcard | 1,500 | 90 | 18 | 7,200 | 4,500 |
| Total | 2,500 | 170 | 38 | 17,200 | 9,500 |
For this example, every first-order recipient is also a recorded responder. That relationship is an observed property of these rows, rather than an assumption to impose on every campaign.
Response rate is responders divided by recipients. First-order conversion is first orders divided by recipients. Cost per response and cost per first order divide campaign cost by the corresponding outcome count.
For the first summary row, use:
=IF(K2=0,"",L2/K2)
=IF(K2=0,"",M2/K2)
=IF(L2=0,"",O2/L2)
=IF(M2=0,"",O2/M2)
| Campaign | Response rate | First-order conversion | Responders placing first order | Cost per response (USD) | Cost per first order (USD) |
|---|---|---|---|---|---|
| Letter | 8.00% | 2.00% | 25.00% | 62.50 | 250.00 |
| Postcard | 6.00% | 1.20% | 20.00% | 50.00 | 250.00 |
| Total | 6.80% | 1.52% | 22.35% | 55.88 | 250.00 |
Percentages and unit costs are rounded to two decimal places. The letter response rate is 80 / 1,000 = 8.00%; postcard cost per response is 4,500 / 90 = $50.00. Combined cost per order is 9,500 / 38 = $250.00.
The recipient counts must reconcile to the mailing file, the 38 first orders to distinct qualifying order IDs, and $17,200 to their net amounts. The $9,500 must reconcile to the spending schedule. Compute combined rates from summed counts, rather than averaging the campaign percentages.
Postcards produced cheaper responses, but both campaigns cost the same per first order. Investigate order margin before shifting budget. Marketing ROI versus ROAS explains the margin test; direct marketing ROI covers the return calculation. Neither replaces this recipient reconciliation.
Bring the recipient export, matched response and order records, and campaign spending schedule. Covirage maps the columns; its tools compute and check cohort comparisons, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own export.
See sales insights for the supporting sales analysis context.
Use the distinct recipients included under the declared contact rule, such as mailed pieces or successfully delivered messages. Count each recipient once per cohort. State whether undeliverable contacts remain in the denominator, and apply the same treatment across campaigns.
Count a person once when measuring the share of recipients who responded. Keep total response activities as a separate workload measure. Otherwise, one highly active recipient can increase the apparent response rate without expanding the number of people reached.
Not by itself. Compare qualifying orders, cost per order, net sales, and the commercial quality of those orders. A low-cost response may not become a purchase, and neither response nor sales alone establishes profit or incremental impact.