Avoiding double-counted sales in reports: Define transaction unit as orders, lines, or value with clear boundaries.; Check for overlaps in campaign credits, refunds, and nested product totals.; Deduplicate only with reliable keys; keep attribution separate from transaction data.
Image: Commerce Ads

Incrementality Testing

Part of Cross-retailer reporting

Building a report without double-counted sales

Check repeated extracts, overlapping campaign credit and nested product totals before claiming unique retailer sales.

To report unique sales, define the transaction unit, identify where it appears more than once and deduplicate only where reliable records permit it. If all you have are aggregate campaign-attributed totals with no overlap information, show them separately. Unique combined attributed sales remain unknown.

Define the unit and boundary

Choose orders, order lines, units or sales value. An order with two eligible products is one order but two lines. State the product set, channels, gross or net basis and transaction cut-off. Keep retailer and transaction identifiers in the working data only where the parties are authorised to share them.

Ask whether the provider’s halo figure is an additional component or a total that includes the parent SKU before adding it to anything else.

Check each route to overlap

Look for repeated records in corrected exports, one purchase credited to several campaigns, nested product totals, and later cancellations or refunds represented as adjustments. These are checks, not claims that a particular retailer has duplicated sales. Keep campaign-credit rows separate from the underlying transaction ledger: several claims of advertising credit can refer to one purchase.

Also distinguish a purchase from a customer. Two separate orders by one shopper are two transactions under an order-based definition; deduplicating shoppers would answer a different question.

Deduplicate only with a reliable key

Where access permits, retain the source file, retailer, permitted order and line keys, SKU, date, value, status, campaign credits and extract version. Set a precedence rule before calculating totals. For example, use the latest validated status for an order line, count that eligible line once in a transaction table and retain every campaign credit in a separate attribution table. Reconcile refunds as changes to net value, not additional positive sales.

In a hypothetical example, a £30 order line appears in two campaign attribution reports. Each report may legitimately credit £30 under its own rules. Adding the claims produces £60 of reported campaign credit; a verified transaction table contains one £30 line before later adjustments. This illustrates possible overlap, not a measured duplication rate.

Reconcile the unique transaction table to the relevant source ledger for the same period and status, and record exclusions. A key that is unique within one retailer or system may not match a key in another. Check any proposed cross-report linkage before claiming a portfolio total.

If only aggregate totals are available, request a documented deduplicated extract or overlap measure where the provider can supply one. Do not infer transaction-level overlap from summary totals.

Reporting Approaches: Aggregated vs. Deduplicated Sales

  • Aggregated Campaign Totals (No Overlap Info)Show separately; cannot be combined into unique sales without additional data.
  • Deduplicated Transaction Table (With Reliable Key)One record per eligible line; reconciled to source ledger. Reflects actual unique transactions.

Critical Data Requirements for Valid Reporting

  • Required Source DataRetailer, permitted order and line keys, SKU, date, value, status, campaign credits, extract version
  • Precedence Rule ExampleUse latest validated status for an order line
  • Refund HandlingAdjust net value; do not add as positive sales

Label the finished figures

Where relevant, report campaign-attributed sales, verified unique transactions within the records that can be deduplicated, and broader commercial-ledger sales separately. Their populations and purposes may differ. A sum of attributed campaign figures is not unique portfolio sales without evidence about overlap.

A clean unique-sales count also does not show how many purchases advertising caused. That causal question requires a credible comparison with outcomes absent the campaign.

More from Incrementality Testing