Retail marketing ROI compares campaign contribution with marketing cost after discounts, returns and fulfillment. Work from store and online order exports, reconcile campaign credit, and calculate a return that reflects the margin actually retained.
Retail marketing ROI compares the contribution retained from campaign-linked orders with the cost of the campaign. Deduct discounts, refunds, product cost and agreed variable fulfillment costs before calculating the return. A store with more campaign sales can still produce a lower return when its promotion gives away more margin.
Start with the marketing ROI versus ROAS formulas for the general distinction. The retail job is to make the sales and cost inputs trustworthy across stores, online orders and later returns.
Choose a campaign cohort and an observation cutoff. In this example, a fictional Ohio retailer reviews orders placed from July 1 through July 31, 2026, including refunds recorded against those orders through October 23, 2026. This is a cohort analysis rather than a July income statement: later refunds are connected to their original sales.
Use the same campaign identifier in the spend register and the order assignment file. Write down how a sale qualifies: a supplied promotion code, a recorded campaign interaction within the approved window, or an allocation already approved by the business. Preserve orders without a match as unmatched. A missing code is not permission to assign a sale to the largest campaign.
The export should contain order ID, original order date, store or channel, campaign credit, gross merchandise value, discounts, refunds and product cost. Add payment and fulfillment costs from the corresponding cost export. Keep taxes collected for government agencies outside the merchandise sales comparison.
Use one reporting location for each order. If a customer purchases online and picks up in Columbus, decide which location owns that order in this analysis. A separate operational pickup report can use another view, but adding the two views together would count the same receipt twice. The marketing attribution rules explain shared credit; this calculation starts after those rules have been selected.
The input table below represents deduplicated campaign orders aggregated by reporting location. Refunds are recorded after discounts, so they reverse the amount actually charged. Product cost is net of inventory value recovered from returned goods; fulfillment includes the agreed variable costs that remain after those returns. Marketing is allocated once from the campaign cost register.
| Store or channel | Gross sales (USD) | Discounts (USD) | Refunds (USD) | Product cost (USD) | Variable fulfillment (USD) | Marketing cost (USD) |
|---|---|---|---|---|---|---|
| Columbus | 60,000 | 6,000 | 9,000 | 27,000 | 3,000 | 9,000 |
| Dayton | 45,000 | 4,500 | 3,000 | 21,000 | 2,250 | 6,000 |
| Online | 55,000 | 5,500 | 11,000 | 22,000 | 2,750 | 10,000 |
| Total | 160,000 | 16,000 | 23,000 | 70,000 | 8,000 | 25,000 |
For the net sales boundary, the IRS discussion of sales returns and allowances explains that customer credits for returned merchandise and other sales allowances reduce gross sales. This example is a management comparison, so finance should also reconcile its sales definition with the company's reporting policy. Follow credit notes and returns when adjustments appear in a later reporting period.
Place the table headers in row 1 and the three location rows in rows 2 through 4. Columns A through G correspond to the input columns above. Add H for net sales, I for contribution before marketing, J for contribution after marketing and K for ROI:
H2 = B2-C2-D2
I2 = H2-E2-F2
J2 = I2-G2
K2 = IFERROR(J2/G2,"")
Fill down through row 4 and format K as a percentage. Microsoft documents IFERROR as returning the specified value when a formula produces an error. Here the blank prevents a zero spend denominator from becoming a displayed return; review missing and invalid inputs separately so blanks do not conceal data problems.
| Store or channel | Net sales (USD) | Contribution before marketing (USD) | After marketing (USD) | Attributed ROI |
|---|---|---|---|---|
| Columbus | 45,000 | 15,000 | 6,000 | 66.7% |
| Dayton | 37,500 | 14,250 | 8,250 | 137.5% |
| Online | 38,500 | 13,750 | 3,750 | 37.5% |
| Total | 121,000 | 43,000 | 18,000 | 72.0% |
Percentages are rounded to one decimal place; calculations use unrounded dollars. Dayton contributes more after marketing than Columbus despite having lower net sales. That is a reason to inspect promotion mix, costs and customer behavior before allocating the next budget, rather than automatically scaling the highest-sales location.
The revenue bridge is $160,000 minus $16,000 minus $23,000, which equals $121,000. Deducting $70,000 of product cost and $8,000 of fulfillment leaves $43,000. Marketing of $25,000 leaves $18,000, and $18,000 divided by $25,000 gives 72.0%.
The total ROI cell is therefore:
=SUM(J2:J4)/SUM(G2:G4)
Do not average the location percentages. Tie each input total to its source report, including the refunds matched back to the cohort. Keep a reconciliation of all retailer orders split between campaign-assigned and unassigned orders so the campaign report does not quietly become the whole company's revenue.
For a larger prepared export, Microsoft's SUMIFS function adds amounts meeting multiple conditions. If a sheet named Orders has campaign in A, reporting store in B and net sales in C, sum an already reconciled campaign and store combination with:
=SUMIFS(Orders!C:C,Orders!A:A,$M$1,Orders!B:B,A2)
M1 holds the selected campaign. This formula groups supplied assignments; it does not resolve overlapping claims or create missing campaign identifiers. Covirage is not affiliated with Microsoft.
Suppose an additional $5,000 of refunds arrives for the same orders. The retailer recovers $2,000 of saleable inventory cost, while fulfillment and marketing costs remain unchanged. The updated bridge is:
| Measure | Original cutoff (USD) | Later cutoff (USD) |
|---|---|---|
| Gross sales | 160,000 | 160,000 |
| Discounts | 16,000 | 16,000 |
| Refunds | 23,000 | 28,000 |
| Net sales | 121,000 | 116,000 |
| Product cost after recoveries | 70,000 | 68,000 |
| Variable fulfillment | 8,000 | 8,000 |
| Contribution before marketing | 43,000 | 40,000 |
| Marketing cost | 25,000 | 25,000 |
| Contribution after marketing | 18,000 | 15,000 |
Updated ROI is $15,000 divided by $25,000, or 60.0%. Keep both cutoffs visible. Comparing a recently completed campaign with one whose returns have fully arrived rewards the less mature campaign for incomplete information. Use the next marketing ROI improvement review to investigate the underlying driver rather than changing the attribution rule to improve the percentage.
Bring a sample of your own order, refund and campaign cost exports, with the credit rules and cost boundary stated. Covirage maps the columns, and its tools compute and check the contribution comparison; the external AI model explains the result with every figure traced to its rows. Create a free Covirage account and set up your business to bring your own file.
See customer profitability for the contribution behind campaign revenue.
Use an agreed contribution measure that deducts the costs of earning the matched sales. Gross profit can be the starting point, but check whether payment fees, shipping and other variable fulfillment costs still need to be deducted before comparing the result with marketing spend.
Keep refunds linked to the original campaign orders and publish an updated cohort view through a stated cutoff. Reduce product cost only for the inventory value actually recovered. Separately reconcile those cohort adjustments with the dates on which the finance records recognized them.
Only after resolving duplicate orders and assigning one consistent credit rule. An online purchase collected in a store is still one sale. Keep the order identifier and chosen reporting store or channel, then show any shared campaign allocation separately from the sales record.
A positive attributed return shows that assigned contribution covered the included marketing costs. Some customers may have purchased without the campaign. Incremental profit requires evidence about that alternative outcome, usually from an appropriately designed comparison, with costs and observation periods aligned.