Sign in

Blog · How-to guides

Offline marketing analytics: spend and recorded responses

Compare offline campaign spending with recorded responses and orders across regions and periods. Use explicit response mappings, consistent observation windows and reconciled exports without treating geography as evidence of individual exposure.

The short answerOffline marketing analytics compares campaign spending with responses, orders and recorded revenue that can be explicitly mapped to an offline activity. Use campaign codes, dedicated response routes or documented response records, with consistent observation windows. Keep unmapped activity visible, and do not infer individual exposure or causal sales lift from a customer's geography alone.

Offline marketing analytics compares campaign spend with recorded responses, orders and revenue under an explicit mapping rule. Use campaign codes or documented response routes, and give each campaign the same follow-up window. A customer's location can describe the report, but it does not prove that person saw an advertisement or that the campaign caused a sale.

Define what counts as a recorded response

Start with the activity you can actually observe. A campaign-specific inquiry form, response code or dedicated response route can create a record that names the campaign. A regional sales total alone cannot make that connection.

Write down the response qualification rule before ranking campaigns. For example, count a company inquiry once per campaign after removing repeated submissions. Do not combine booth visits, qualified inquiries and completed orders under the same response label unless the report clearly separates them.

This is a channel and campaign comparison rather than recipient-level direct marketing analysis. For planning evidence beyond response records, use marketing research analytics. When a campaign also uses an online marketplace, the separate Amazon marketing analytics guide covers seller sales and spend reconciliation.

Assemble the campaign, response and order exports

Use a campaign schedule with campaign ID, region, activity date, spend and the approved observation window. Include the costs assigned to that campaign, such as printing, placement and event expenses. Keep the cost boundary consistent across periods.

The response export needs a response ID, campaign code, response date, qualification status and an existing account reference where available. The order export needs order ID, account reference, order date, recorded revenue and refunds. Use a documented reference already in these files; do not assume an identity match from a name or address.

Prepare a deduplicated response worksheet:

Column Field What it means
A Response ID Unique retained inquiry record
B Campaign ID Explicit valid code, or blank if unresolved
C Response date Recorded date of the inquiry
D Eligible response flag One if qualified and inside the window
E Matched orders Distinct eligible order count allocated to this response
F Recorded net revenue (USD) Matched revenue less applicable refunds

Assign each order once in this additive report, even if a buyer inquired through several routes. Document the allocation rule and keep conflicting matches in an exception list. An unresolved match is not a confirmed zero response or zero sale.

Work a regional and period comparison

A US industrial supplier runs regional print campaigns. The illustrative records below use a 30-day response window from each campaign's release and count orders within 30 days after an eligible response. Extract after both windows have completed, and apply refunds recorded through the reporting cutoff of October 15, 2026.

Campaigns have distinct IDs even when region and channel repeat. These are the source totals:

Campaign ID Region and release date Spend (USD) Recorded responses Matched orders
MID-JUN Midwest, June 1, 2026 12,000 120 24
SE-JUN Southeast, June 1, 2026 8,000 100 15
MID-JUL Midwest, July 1, 2026 12,000 150 30
Total 32,000 370 69

With the desired campaign ID in H2 on the prepared response worksheet, count eligible responses and sum their matched orders:

=COUNTIFS(B2:B5000,H2,D2:D5000,1)
=SUMIFS(E2:E5000,B2:B5000,H2,D2:D5000,1)

Microsoft's COUNTIFS documentation explains that each counted row must meet every criterion. Microsoft's SUMIFS documentation covers the corresponding conditional sum. These formulas summarize prepared records; they do not validate campaign mappings by themselves.

In the campaign summary, with spend in C, recorded responses in D and matched orders in E, calculate:

=C2/D2
=E2/D2
=C2/E2

These are cost per recorded response, orders per recorded response and cost per matched order. Here each response has at most one matched order, so orders per response is also the share of responses converting to an order. If repeat orders are allowed, show distinct responding buyers separately rather than calling an order count a buyer conversion rate.

Campaign Cost per response (USD) Response-to-order conversion Cost per matched order (USD)
MID-JUN 100.00 20.00% 500.00
SE-JUN 80.00 15.00% 533.33
MID-JUL 80.00 20.00% 400.00
Total 86.49 18.65% 463.77

Total cost per response is $32,000 divided by 370, or $86.49. Total conversion is 69 divided by 370, or 18.65%. Round displayed ratios to two decimal places after calculation; never average campaign percentages to obtain the total.

Reconcile the response population and revenue

The response totals need an audit trail before the campaign ranking is useful:

Response reconciliation Records
Submitted response records 410
Less duplicate submissions removed 10
Unique retained responses 400
Explicitly mapped eligible responses 370
Unmapped retained responses 30

The checks are 410 minus 10 equals 400, and 370 plus 30 equals 400. This simplified example has no disqualified responses or late mapped responses; a real reconciliation should show those categories separately when present. The unmapped records remain unresolved. Do not redistribute them in proportion to regional sales.

Finance checks the matched order amounts independently:

Campaign Recorded revenue before refunds (USD) Refunds (USD) Recorded net revenue (USD)
MID-JUN 9,600 600 9,000
SE-JUN 6,000 600 5,400
MID-JUL 12,000 600 11,400
Total 27,600 1,800 25,800

The revenue check is $27,600 less $1,800, giving $25,800, tied to the mapped order records. Refunds are recorded through a common cutoff, giving the older campaigns more refund observation time. Before ranking net revenue, use an equal refund-age window or a documented final-adjustment policy. This is matched net revenue, not campaign profit. The marketing ROI versus ROAS guide covers the margin and cost distinction, while customer acquisition cost requires a separate new-customer definition and expense boundary.

MID-JUL has lower recorded cost per matched order than MID-JUN. That observation supports reviewing response handling, offer changes and local conditions. It cannot establish causal lift, because the period, audience and other influences may also have changed.

Where offline comparisons go wrong

  • Inferring exposure from geography. A buyer in the campaign region may never have encountered the activity.
  • Changing response definitions. Counting all inquiries in one campaign and qualified inquiries in another breaks comparability.
  • Using incomplete follow-up. A recent release has had less time to accumulate responses and orders.
  • Counting an order repeatedly. Multiple responses can otherwise attach the same sale to several campaigns.
  • Hiding unmapped records. Apparently precise rankings can depend on a large pool of unresolved responses.

Covirage is not affiliated with Microsoft.

Compare your offline campaign records in Covirage

Bring a sample of your own campaign cost, response and order exports; Covirage maps the columns, and its tools compute and check the comparisons. The external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring your files.

See sales insights for the business context.

Questions people ask

How do you track offline marketing performance?

Assign each campaign a stable code and record a response route that can carry that code into the response export. Match eligible responses and orders under a documented rule, then compare costs and outcomes over equal follow-up windows. Keep unassigned responses outside campaign totals until resolved.

Can a regional sales increase prove an offline campaign worked?

No. A regional sales change can also reflect seasonality, pricing, distribution or other marketing. Geography describes where activity happened, rather than proving who saw an advertisement. Use a suitable experimental design if the decision requires an estimate of incremental sales caused by the campaign.

What is a useful offline marketing metric?

Cost per recorded response is useful when responses have a clear campaign mapping and consistent qualification rule. Add response-to-order conversion and recorded net revenue to see what followed. These measures describe matched activity; they do not capture every exposure or establish incremental profit.

How should I handle missing campaign codes?

Keep those responses in an unmapped category and report its count alongside mapped responses. Investigate missing or conflicting codes without assigning a campaign merely from the customer's address. If you later resolve a mapping, retain the reason so the campaign totals can be rebuilt.