Measuring live shopping ROI beyond concurrent viewers
Peak concurrent viewers is the easiest live shopping number to report and one of the least useful for deciding whether to run another stream. The metric stack to use instead, how to track it with UTMs and Shopify reports, a worked ROI example, and a report template.
The post-stream report led with peak concurrent viewers, a genuinely impressive number, and buried the conversion rate three slides later, where it quietly told a much less flattering story.
In this article
Every live shopping platform leads its dashboard with concurrent viewers, and it is easy to see why: it is a big number, available the moment the stream ends. It is also a poor basis for deciding whether to run the next one. A giveaway can fill a stream with people who never meant to buy, while a small stream for existing customers can sell out a restock with a fraction of the audience. This piece sets out the metrics that answer "was it worth it", and how to capture them without a data team. It assumes the stream itself is planned; if not, start with how to run a live shopping event.
Why concurrent viewers misleads
It is a peak, not a total. Peak concurrency tells you how many people were watching at the busiest moment. It says nothing about how many different people saw the stream or how long they stayed. Two streams with the same peak can have very different unique audiences.
It rewards the wrong tactics. Anything that spikes attention (a giveaway, a celebrity cameo, paid promotion to a cold audience) lifts the peak. Whether any of that attention becomes orders is a separate question, and the one that pays for the stream.
It is not comparable across formats. A 20-minute product drop and a 90-minute variety stream will produce different peaks for reasons unrelated to how well they sold. McKinsey's guidance on live commerce recommends tracking views alongside conversion rates and best-selling products, and that combination is the minimum.
The metric stack that decides the next stream
| Metric | How to calculate it | What it tells you |
|---|---|---|
| Unique viewers | Distinct viewers across the whole stream (from the streaming platform) | Real reach. Use as the denominator for rates. |
| Average watch time | Total minutes watched divided by unique viewers | Whether the content held people or they bounced. |
| Product click-through | Product link clicks divided by unique viewers | Whether the host and products created intent. |
| Live conversion | Stream-attributed orders divided by unique viewers | The headline efficiency number. |
| Revenue per viewer-minute | Stream revenue divided by total minutes watched | Compares streams of different lengths fairly. |
| Stream AOV vs store AOV | Stream revenue divided by stream orders, next to your normal AOV | Whether bundles and offers raised basket size or only discounted it. |
| New-customer share | Stream orders from first-time customers divided by stream orders | Acquisition value versus selling to people who would have bought anyway. |
| Net revenue after returns | Stream revenue minus refunds on stream orders at 30 days | Catches impulse purchases that come back. |
| Replay revenue | Orders from the recording and clips at 14 and 30 days | The second revenue line a same-day report misses. |
| Contribution | Net revenue x gross margin, minus host, production, discount and promotion costs | Whether the stream made money. |
Tracking it without a data team
One UTM campaign per stream. Every link shown or pinned in the stream should carry utm_source for the platform, utm_medium set to something consistent such as live, and utm_campaign unique to that stream (live-2026-10-03-autumn-edit, for example). Google Analytics lists utm_content as the parameter for differentiating creatives, which makes it a good place for the product or segment. Google's URL builder documentation covers the full parameter set.
Shopify's marketing reports read those tags. The sales attributed to marketing and sessions attributed to marketing reports in Shopify group orders and sessions by UTM campaign, so a consistently tagged stream shows up as its own line. Check which attribution model you are reading. Shopify's marketing reports can show last click, first click or last non-direct click, and last click undercounts anyone who watched, left, and came back later through email or search.
A stream-only discount code as a backstop. Codes catch buyers who type the URL or come back through search. They overlap with UTM attribution, so count each order once. If the stream sells through a platform's native checkout (TikTok Shop, for instance), take orders from that platform's report and do not add them twice.
Replays need their own tags. When the recording or clips from it go onto product pages, measure them as a separate source so replay revenue is not confused with the live window. A post-level attribution setup, or distinct UTMs on each clip's links, does the job.
A worked example
The numbers below are a hypothetical 45-minute stream for a homeware brand, invented to show the arithmetic. They are not a benchmark.
| Line | Value | Working |
|---|---|---|
| Peak concurrent viewers | 310 | From the platform. Reported, not used for decisions. |
| Unique viewers | 1,200 | From the platform |
| Average watch time | 6 minutes | 7,200 viewer-minutes / 1,200 |
| Product click-through | 18% | 216 clicks / 1,200 |
| Live conversion | 3.5% | 42 orders / 1,200 |
| Stream revenue | £2,730 | 42 orders x £65 AOV |
| Revenue per viewer-minute | £0.38 | £2,730 / 7,200 |
| Returns at 30 days | £325 | 5 orders refunded |
| Replay revenue at 30 days | £1,235 | 19 orders from clips on PDPs |
| Net revenue | £3,640 | £2,730 - £325 + £1,235 |
| Contribution at 60% gross margin | £1,184 | £3,640 x 0.6 = £2,184, minus £1,000 host and production |
Three things fall out of the example. The replay added almost half as much again as the live window, so a same-day report would have understated the stream. Returns took out more than a tenth of live revenue, which is why the 30-day pass matters. And the peak of 310 does not appear in any calculation that decides whether the stream paid for itself.
Separate the lift from sales you would have made anyway
Stream-attributed orders are not all incremental. Loyal customers who would have bought the restock anyway will happily buy it during the stream. The simplest check is a baseline: sales of the featured products over the same days and hours in a comparable previous period, compared with the stream period. Better still, hold back promotion to a random part of your email list and compare purchase rates. The method is the same one used for holdout testing UGC.
The three-pass report
When to report what
- 01
Day after
Unique viewers, watch time, click-through, live conversion, revenue per viewer-minute, stream AOV. Note what the host did at the moments clicks spiked.
Efficiency
- 02
Day 14
Replay and clip revenue, new-customer share, baseline comparison for featured products.
Reach and lift
- 03
Day 30
Returns on stream orders, net revenue, contribution after all costs. Decide: repeat, change the format, or stop.
Profit
Keep the decision rule written down before the stream: for example, repeat the format if contribution is positive at 30 days and live conversion is at or above the previous stream. The broader framework for looking back on any campaign is in the post-campaign teardown template, and the case for building replays into the plan is in live shopping vs on-demand shoppable video.
Frequently asked questions
What is a good conversion rate for live shopping?
There is no reliable public benchmark for Western brand-run streams. Widely quoted figures such as McKinsey's "approaching 30 percent" are company-reported and come mostly from Chinese platforms in 2020 and 2021. Benchmark against your own previous streams and your normal site conversion.
How do you calculate revenue per viewer-minute?
Divide the revenue attributed to the stream by total minutes watched across all viewers. Total minutes watched is unique viewers multiplied by average watch time, and most streaming platforms report it directly.
How do I track sales from a live stream in Shopify?
Give every link in the stream a UTM campaign unique to that stream, then read Shopify's sales attributed to marketing report. Add a stream-only discount code as a backup and count each order once.
Should replay sales count towards live shopping ROI?
Yes, but report them separately. The replay and clips are a product of the stream and often keep selling for weeks, so leaving them out understates the return. Tag them distinctly so they are not mixed with the live window.
Why does peak concurrent viewers matter at all?
It is useful for operations (did the stream hold up under its busiest moment?) and for spotting which segment of the show drew people in. It is not a measure of commercial success.
Sources
- 1McKinsey & Company: It's showtime! How live commerce is transforming the shopping experience (July 2021) · Recommends KPIs for views, conversion rates and best-selling products; company-reported conversion rates approaching 30 percent.
- 2Google Analytics Help: URL builders, collect campaign data with custom URLs · UTM parameters, including utm_content for differentiating creatives.
- 3Shopify Help Center: Marketing reports · Sales and sessions attributed to marketing, grouped by UTM campaign.
- 4Shopify Help Center: Measuring marketing performance · Last click, first click and last non-direct click views; reports combine UTM-tagged traffic with integrated marketing apps.
- 5Idukki: Incrementality testing for UGC with holdouts
Continue reading
1 piece in this clusterThese long-form pieces on the Idukki blog link back to this article, go deeper on the cluster.
More from Rohin Aggarwal
- Strategy
UGC for Luxury Brands: Authenticity Meets Brand Equity
Curatorial UGC, member-only galleries, anti-cheapening guardrails. Why the mass-market UGC playbook does not translate to luxury, and what does.
- Strategy
UGC for Skincare Brands: Strategy, Examples, Compliance
Skincare UGC has the highest conversion lift of any beauty subcategory (+34%) and the strictest regulation. Claim restrictions, before/after compliance, GDPR.
- Strategy
UGC Moderation Best Practices: Protect Your Brand Without Slowing Down
AI triage, two-tier human review, rights management, audit trail. How to moderate UGC at volume without the queue becoming the bottleneck.