Sign in

Blog · Board and management reporting · Consumer goods

Omnichannel dashboard: sales, customers, and channel overlap

An omnichannel dashboard compares channel sales while counting customers consistently across the business. Build one from order exports with shared customer identifiers, then check overlap and repeat purchases using a worked example.

The short answerAn omnichannel dashboard compares sales, purchasing customers, channel overlap, and repeat purchases across selling channels. Use one order record per completed purchase and a reliable shared customer identifier. Sum sales across channels, but deduplicate customers before calculating company totals, overlap rates, or repeat-purchase rates for the same reporting window.

An omnichannel dashboard compares sales and purchasing behavior across channels without counting the same customer twice in the company total. Build the sales view from completed orders and the customer view from reliable shared identifiers, then calculate overlap and repeat purchases within a stated window.

Set the reporting rules before combining exports

Choose what channel means. This example assigns each order to its original checkout channel, Web or Store, even if the customer collects or returns it elsewhere. Fulfillment location can be a separate field. Assigning the same order to both would double the business's sales.

Use a consistent reporting date, such as the completed order date, and one currency. Specify how canceled orders, refunds, and partial returns are handled. Credit notes and returns need the same policy across the channel files.

Customer comparisons require a shared business identifier already present in the supplied records. Do not assume similar names represent one buyer, or that different identifiers represent different people. If a reliable cross-channel key is unavailable, report sales by channel and label customer overlap as unavailable. Uncertain matching should not become a precise-looking rate.

Start with one row per order

A US consumer goods brand is reviewing September 2026. Every order below is completed, fully identified, and stated after discounts. There are no returns in this small example.

Put the following columns in an Excel sheet named Orders, starting in A1. Dates in column C must be spreadsheet dates rather than text.

Order ID Customer ID Order date Channel Net sales (USD)
O1 C01 September 3, 2026 Web 100
O2 C01 September 20, 2026 Store 60
O3 C02 September 8, 2026 Web 80
O4 C03 September 10, 2026 Store 120
O5 C03 September 25, 2026 Store 90
O6 C04 September 28, 2026 Web 50
Total 500

These are order rows, not order lines. If the source contains several items per order, first total the net amount by order and keep its customer and channel once. Otherwise a purchase containing several products could be mistaken for repeat buying.

Build the channel sales panel

With the channel name in G2, use these formulas for orders and net sales. Fill down for the other channel:

=COUNTIFS(Orders!$D$2:$D$7,G2)
=SUMIFS(Orders!$E$2:$E$7,Orders!$D$2:$D$7,G2)

Microsoft's COUNTIFS documentation explains counting rows that meet specified conditions; SUMIFS adds the matching amounts. Covirage is not affiliated with Microsoft.

Channel Orders Net sales (USD) Sales share Purchasing customers
Web 3 230 46.0% 3
Store 3 270 54.0% 2
Company 6 500 100.0% 4

Web sales are 100 + 80 + 50 = $230. Store sales are 60 + 120 + 90 = $270. Divide each by $500 to get its sales share, displayed to one decimal place. The sales dashboard examples cover broader sales reporting; keep this panel focused on comparable channel activity.

The channel customer counts add to five, while the company has four customers. C01 bought in both channels. This is the distinction the next panel must make visible.

Calculate overlap and repeat purchases

On a Customers sheet, list each distinct customer ID once in column A. Use columns B through G for Web orders, Store orders, total orders, net sales, repeat status, and overlap status:

=COUNTIFS(Orders!$B$2:$B$7,$A2,Orders!$D$2:$D$7,"Web")
=COUNTIFS(Orders!$B$2:$B$7,$A2,Orders!$D$2:$D$7,"Store")
=B2+C2
=SUMIFS(Orders!$E$2:$E$7,Orders!$B$2:$B$7,$A2)
=IF(D2>=2,1,0)
=IF(AND(B2>0,C2>0),1,0)

Fill down through row 5. This produces:

Customer ID Web orders Store orders All orders Net sales (USD) Repeat flag Both-channel flag
C01 1 1 2 160 1 1
C02 1 0 1 80 0 0
C03 0 2 2 210 1 0
C04 1 0 1 50 0 0
Total 3 3 6 500 2 1

The overlap rate is 1 / 4 = 25.0%. The within-period repeat-purchase rate is 2 / 4 = 50.0%. C03 repeats without crossing channels; C01 does both. These answer separate questions.

=SUM(G2:G5)/COUNTA(A2:A5)
=SUM(F2:F5)/COUNTA(A2:A5)

These formulas assume every listed ID is nonblank and unique. Repeat here means at least two completed orders during September. It does not mean the customer is new or returning over their lifetime. For behavior after a first purchase, use a cohort retention table with a defined starting group.

Check totals, then assign the decisions

Reconcile $230 + $270 = $500 to the sales register. The customer-level sales also sum to $500, and their order counts sum to six. The customer identity check is 3 Web customers + 2 Store customers - 1 overlapping customer = 4 company customers.

The sales manager owns channel performance; the customer team owns repeat-purchase follow-up; finance owns the sales reconciliation. Review an overlap customer's purchase history before treating a channel shift as lost business. A buyer may stop using the website while continuing to buy in stores.

If identifiers are missing in a larger export, show identified sales and unidentified sales separately. Keep total sales complete while calculating customer measures only for the disclosed identified population. Do not compare that subset with a fully identified prior month without explaining the coverage change. Customer value over a longer history belongs in customer lifetime value from the ledger.

Where it goes wrong

  • Adding channel customers. Overlap inflates the company count unless identifiers are deduplicated.
  • Counting order lines as purchases. Multiple products in one basket do not establish repeat buying.
  • Changing windows. A monthly repeat rate and a lifetime returning-customer rate have different denominators.
  • Calling overlap attribution. Purchase records show where orders occurred; they do not establish what caused them.

Compare your channel files in Covirage

Upload a sample of your own order files with reliable shared customer IDs; Covirage maps the columns, and its tools compute and check the supplied figures. The external AI model explains sales, overlap, and repeat-purchase results with every figure traced to its rows. Create a free Covirage account and bring the files behind your channel review.

See sales insights for the supporting business context.

Questions people ask

What data does an omnichannel dashboard need?

Start with order ID, completed order date, selling channel, net sales, and a shared customer ID. Record the reporting window and order-status exclusions. Keep unidentified orders visible in sales totals and disclose how much activity cannot be included in reliable customer comparisons.

Can I add customer counts from different channels?

Only when the customer groups are mutually exclusive. A customer who buys through a website and a store appears in both channel counts but once in the company total. Deduplicate shared customer IDs or use disjoint groups such as web only, store only, and both.

Does channel overlap prove marketing attribution?

No. Overlap shows that the same identified customer purchased through different channels within your chosen period. It does not establish which advertisement, visit, or sales contact caused the purchase. Keep transaction channel reporting separate from claims about marketing influence.