Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform
Direct-to-consumer revenue only. Filtered to orders tagged B2C.

At a glance

Gross revenue from your direct-to-consumer orders in the period, isolated by the B2C order tag. For a brand whose Shopify store carries both retail and wholesale traffic, this card strips out everything that isn’t pure DTC so you can read consumer demand cleanly, free of lumpy wholesale and marketplace orders. It is gross revenue, the same arithmetic as Total Revenue, restricted to B2C-tagged orders.
What it countsSUM(totalPrice) across orders in the window carrying the B2C tag. The pure direct-to-consumer slice of gross revenue.
How “B2C” is identifiedBy the B2C order tag. The tag must be applied consistently, typically by an automation that tags every storefront order B2C unless it is wholesale or marketplace. An untagged consumer order is missed here.
VAT / tax treatmentFollows each order’s taxesIncluded mode. DTC orders on a UK store are usually VAT-inclusive, so this slice is inclusive while a wholesale slice may be ex-tax.
ShippingIncluded (part of totalPrice).
DiscountsAlready deducted. Consumer coupons and promotions are reflected in the post-discount total.
RefundsNOT deducted. A refunded consumer order still contributes.
Cancelled / voided ordersIncluded if Shopify indexed them.
CurrencyMulti-currency arithmetic sum WITHOUT FX conversion. Filter by currency for stores selling consumer in more than one currency.
Channels / sourcesFiltered by tag, not by sales channel. A B2C-tagged order on any channel counts.
Time window30D (default 30D rolling)
Alert triggerConfigurable. DTC revenue is the smoother, higher-volume segment, so trend alerts behave more sensibly here than on the wholesale card.
Rolesowner, marketing

Calculation

SUM(totalPrice WHERE tags CONTAINS 'B2C')
  WHERE date BETWEEN [period_start, period_end]

Worked example

The same UK homewares brand from the B2B card, selling both DTC and wholesale through one Shopify store. An order automation tags every storefront order B2C. The 30-day window covers 14 Mar 26 to 12 Apr 26.
SegmentOrdersRevenueNote
B2C (this card)1,810£162,000Consumer storefront demand
B2B (wholesale tag)7£36,000Lumpy trade orders
Marketplace (Mirakl / Debenhams / Rackhams tags)240£18,500Partner-fulfilled
Untagged remainder12£1,100Manual orders nobody tagged
Total store revenue2,069£217,600B2C is 74% of it
Three things to notice:
  1. B2C is the clean demand signal. Stripping out the seven wholesale orders (which alone were £36,000) removes the noise that distorts blended trends. When you want to judge whether consumer marketing is working, read this card, not Total Revenue, because one big wholesale order can mask a soft consumer week.
  2. B2C carries the volume, wholesale carries the lumps. 1,810 consumer orders versus 7 trade orders. The consumer segment is smooth enough to alert on; the wholesale segment is not. Treating them separately stops a missing wholesale order from triggering a false revenue-drop alarm.
  3. The untagged remainder is your tagging-coverage check. £1,100 of orders carry no segment tag. That gap means B2C plus B2B plus Marketplace won’t quite sum to Total Revenue. A growing untagged remainder is a sign the tagging automation needs attention.

Sibling cards merchants should reference together

CardWhy pair it with B2C Revenue Only
B2B RevenueThe wholesale counterpart. The two should sum towards total revenue minus any untagged orders.
Revenue by Sales Channel (Tag)The full per-tag breakdown; B2C is one bar of it.
Total RevenueThe aggregate; B2C as a share shows how DTC-led the store is.
Average Order ValueDTC AOV is the consumer basket size, far smaller and steadier than wholesale.
New CustomersConsumer acquisition drives B2C revenue; pair to see if new buyers or repeat buyers moved it.
Repeat Customer RateDTC growth from repeat buyers is healthier than growth purely from paid acquisition.

Reconciling against Shopify Admin

Where to look in Shopify Admin: Orders → filter by Tagged with B2C, set the same window, and sum totalPrice on the export. That is the direct reconstruction. Shopify has no native “consumer-only” report, the tag is the mechanism, so reconciliation depends on the same tag this card reads. Other Shopify Admin views and why they differ:
  • Reports → Sales over time (unfiltered): the all-segment total, higher than this card by the wholesale and marketplace slices.
  • Customer segments: Shopify can segment customers (new, returning) but not split revenue by your B2C / B2B order tags without the tag filter.
Why our number may legitimately differ from Shopify:
ReasonDirectionWhy
Tagging gapsOurs lowerA consumer order that wasn’t tagged B2C is missed. The biggest source of divergence.
Tagging over-reachOurs higherA wholesale or marketplace order wrongly tagged B2C is wrongly counted.
Refund treatmentOurs higherThis card is gross; net reports deduct returns.
Multi-currencyOurs blendedNo FX conversion here.
Time zoneBoundary daysUTC vs store time zone.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
google_analytics.ga_revenue_trendGA4 consumer revenue should track B2C closelyGA4 sees storefront purchases (mostly B2C) but misses 10 to 25% to ad-blockers and consent; wholesale rarely flows through GA4 at all, so GA4 is naturally closer to this card than to Total Revenue.

Known limitations / merchant FAQs

Why does this not equal Total Revenue minus B2B? Because some orders carry neither tag (manual orders, marketplace orders, or storefront orders the automation missed). B2C plus B2B usually sums to slightly less than Total Revenue; the difference is the untagged and marketplace remainder. Why is B2C lower than I expect? A tagging gap. This card counts only orders tagged B2C. If your tagging automation failed for a period, or new order sources weren’t included in it, consumer orders fall out of this card and into the untagged remainder. Check tagging coverage before reading it as a demand drop. Can I change which tag means B2C? The card keys on the B2C tag by default. Align it to your own convention under the card configuration if you tag consumer orders differently. The card is only as accurate as the tag. Is this the right card for judging marketing performance? Yes, usually. Because it excludes lumpy wholesale and partner-marketplace orders, B2C Revenue Only is the cleanest read on whether consumer demand and marketing are working. One large wholesale order can hide a weak consumer week in Total Revenue but not here. Does it include POS and social-channel consumer orders? Yes, if those orders carry the B2C tag. The card filters by tag, not by sales channel, so any consumer order tagged B2C on any channel counts. Make sure your tagging automation covers POS and social orders, not just the online store. My store is pure DTC with no wholesale. Do I need this card? If you have no wholesale or marketplace orders, B2C Revenue Only and Total Revenue will be nearly identical (minus any untagged orders), so Total Revenue is simpler to read. This card earns its place once you run mixed B2C and B2B through one store.

Tracked live in Vortex IQ Nerve Centre

B2C Revenue Only is one of hundreds of KPI pulses Vortex IQ tracks across Shopify and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.