Sign in

Blog · AI and self-service analytics · Consumer goods

Retail media AI analytics: compare spend and sales

Compare retailer advertising spend with attributed sales from campaign exports. Align attribution windows, account for matched refunds, and reconcile totals before interpreting performance differences.

The short answerRetail media AI analytics compares advertising spend and attributed sales by retailer, campaign and product. Start with retailer exports that share an attribution window and sales definition, then calculate sales per advertising dollar and cost per attributed order. Covirage's tools compute and check those figures; the external AI model explains differences without treating attribution as proof of incremental sales.

Retail media AI analytics compares retailer advertising spend with sales credited to advertising interactions, using consistent reporting definitions. Match retailer, campaign, product and period before calculating returns, and separate gross attributed sales from matched refunds. The result supports a campaign review; it does not establish how many sales advertising caused.

Agree what each export measures

For a US consumer packaged goods brand, the first job is comparability. Request campaign-level spend and attributed sales from each retailer, with product IDs, attributed placed orders, currency, export date and the attribution settings used. Preserve each export's control totals.

The IAB/MRC Retail Media Measurement Guidelines provide a common framework intended to improve transparency and consistency in retail media measurement. Your workbook still needs to state the definitions actually used by each retailer.

Record whether credit follows a click, an ad view or either interaction. State the lookback window, whether credited sales include other products from the brand, and whether tax, shipping, cancellations and returns are included. If the definitions differ, retain separate comparisons until compatible reports are available.

An interaction-date report and an order-date report may put the same purchase in different periods. Do not subtract one period's spend from another period's sales without explaining that choice. Re-export after the window has closed and note the reporting cutoff, since recent campaign results can still accumulate credited purchases.

This article covers preparing a defensible comparison. Use retail media performance analytics for the ongoing measures reviewed after the export definitions are settled.

Build a small, reconciled comparison

This fictional brand evaluates a completed campaign period. Every row uses the same 14-day click-only attribution rule, credited products are restricted to the advertised SKU, and results are collected after the window closes. All money is USD. Refunds have been matched to the credited purchases; unrelated retailer returns are excluded. Attributed orders do not overlap across rows in this example.

Paste these headers into A1:G1 and the detail into rows 2 through 4. The total is row 5. A retailer-campaign-SKU combination appears once in this period's comparison.

Retailer Campaign SKU Spend (USD) Gross attributed sales (USD) Matched refunds (USD) Attributed placed orders
North Search Bar A 2,000 8,000 200 400
North Display Bar B 1,000 2,000 100 100
South Search Bar A 1,500 4,500 200 225
Total 4,500 14,500 500 725

Start by comparing each retailer subtotal with its original export. Spend must also tie to the agreed advertising billing basis. If the bill includes platform fees outside reported media spend, keep those fees separate and identify which cost definition the review uses.

The orders column counts placed orders before any refunds. It remains on that basis throughout this example. A measure of retained orders would need a different denominator and additional order-level information.

Calculate sales per advertising dollar

Net attributed sales = Gross attributed sales − Matched refunds

Net attributed ROAS = Net attributed sales / Advertising spend

Cost per attributed placed order = Advertising spend / Attributed placed orders

In Excel, place net sales in H2, net attributed ROAS in I2 and cost per attributed placed order in J2. Fill down through row 4:

H2: =E2-F2
I2: =IF(D2=0,NA(),H2/D2)
J2: =IF(G2=0,NA(),D2/G2)
Retailer and campaign Net attributed sales (USD) Net attributed ROAS Cost per attributed placed order (USD)
North Search 7,800 3.90 5.00
North Display 1,900 1.90 10.00
South Search 4,300 2.87 6.67
Total 14,000 3.11 6.21

The total uses summed amounts, not an average of campaign ratios:

Total net sales: =SUM(H2:H4)
Total net attributed ROAS: =SUM(H2:H4)/SUM(D2:D4)
Total cost per attributed placed order: =SUM(D2:D4)/SUM(G2:G4)

Thus net attributed ROAS is 14,000 / 4,500 = 3.11: $3.11 in net credited sales per advertising dollar. Cost per attributed placed order is 4,500 / 725 = $6.21. Display ratios and unit costs to two decimals; calculate totals from unrounded amounts.

Gross attributed ROAS would be 14,500 / 4,500 = 3.22. The refund adjustment changes the sales basis, so both versions should carry explicit labels. Neither ratio is profit: marketing ROI versus ROAS explains why margin and other costs require a separate calculation.

Prove the retailer and company totals

Use retailer subtotals to check the rollup. With North written in L2, these formulas select its rows:

North spend: =SUMIFS(D2:D4,A2:A4,L2)
North net sales: =SUMIFS(H2:H4,A2:A4,L2)
North placed orders: =SUMIFS(G2:G4,A2:A4,L2)

Microsoft's SUMIFS documentation explains the criteria-based summation used here. Covirage is not affiliated with Microsoft.

North totals $3,000 spend, $9,700 net attributed sales and 500 placed orders. South contributes $1,500, $4,300 and 225 respectively. Adding the retailer amounts reconstructs the company totals: $4,500, $14,000 and 725. Separately, gross sales less matched refunds must equal net sales: 14,500 − 500 = 14,000.

These checks establish arithmetic consistency and source reconciliation. They cannot eliminate overlapping credit when campaigns, product rows or retailers count the same purchase. A consolidated total needs an agreed scope and, where overlap is possible, a way to identify it; otherwise label it as the sum of reported credits. Multi-item orders require particular care before summing SKU-level order counts.

Where it goes wrong

  • Unequal attribution windows. A longer window can credit purchases excluded by a shorter one. Do not normalize aggregate sales by dividing by days.
  • Recent results compared with mature results. A reporting cutoff can make a campaign look weaker while purchases are still eligible for credit.
  • Refunds from the wrong population. Deduct only refunds associated with credited purchases, or state that a reliable net view is unavailable.
  • Averaging campaign returns. A small campaign must not receive the same weight as a larger campaign when calculating the total ratio.
  • Attribution presented as causality. A purchase credited to an ad is not automatically an additional purchase created by that ad.

The brand's media manager should own campaign definitions, while finance confirms cost and sales reconciliation. Questions about repeat purchasers belong in retail customer analytics; testing future store-unit estimates belongs in retail forecast evaluation. Both fit within the broader AI analytics workflow, with different files and checks.

Review your retail media exports in Covirage

Upload a sample of your own retailer campaign and sales files: Covirage maps the columns, and its tools compute and check comparisons using the definitions in your data. The external AI model explains the differences with every figure traced to its rows. Create a free Covirage account, then set up your business and bring your exports.

See Covirage for CPG brands for the supporting industry approach.

Questions people ask

What data is needed for retail media analytics?

Use retailer campaign exports containing spend, attributed sales, attributed orders, product identifiers and attribution settings. Add matched refunds when available, plus a control total for each export. Keep retailer, campaign, product and reporting period as separate fields so that comparisons can be traced to their source rows.

Does a high retail media ROAS prove advertising caused sales?

No. ROAS divides sales credited under an attribution rule by advertising spend. Some credited purchases might have happened without advertising. A causal claim needs a separate incrementality design, such as a suitable comparison group, rather than a larger attributed-sales figure alone.

Can brands compare different retailer attribution windows?

Only after documenting the difference or obtaining exports with comparable settings. A longer window allows more purchases to qualify for credit. If only aggregated reports are available, you cannot reliably reconstruct a shorter window by reducing sales in proportion to the number of days.

Should retail media reporting deduct product returns?

A net-sales view should deduct refunds matched to the attributed purchases under an agreed cutoff. Keep the gross attributed-sales view alongside it. If refunds cannot be matched, disclose the limitation and avoid subtracting all retailer returns from only the advertising-attributed sales.