At a glance
Order count split into two cohorts: guest checkouts (customer_id = 0oris_guest = true) vs registered customer orders. The cohort split exposes brand-loyalty depth: a high-guest-share store is acquisition-driven (every order needs a fresh marketing dollar); a high-registered-share store is retention-driven (existing customers repeat). For BigCommerce, this card is uniquely informative because BC’s B2B Edition wholly depends on registered customers, so the split also tells the merchant their B2B vs DTC mix.
| What it counts | Two counts and revenue figures over the trailing 30 days: (a) guest orders (customer_id = 0 OR is_guest = true), and (b) registered orders (any other). Each row shows order count, percentage, total revenue, and AOV. |
| API endpoint | GET /stores/{store_hash}/v2/orders with customer_id and is_guest fields. The OpenSearch index materialises a boolean was_guest flag per order. |
| VAT / tax treatment | Tax-inclusive on both cohorts. |
| Shipping | Included. |
| Discounts | Deducted. |
| Refunds | Not deducted. |
| Cancelled orders | Excluded. |
Incomplete orders | Excluded. |
| Currency | Multi-currency aggregated. |
| Channels | All channels included by default. Channel matters for interpretation: B2B portal is 100% registered (impossible to guest-checkout B2B); POS is typically 90%+ guest (walk-in customers don’t register); web split varies 40/60 to 70/30 depending on brand. Configure per-channel filter for cleaner reads. |
| B2B Edition behaviour | B2B portal contributes only to registered cohort. For DTC-only insight, exclude B2B from the card view; otherwise B2B inflates the registered share by 5-30% on B2B-active stores, masking the DTC-cohort split. |
| Guest checkout configuration | If guest checkout is disabled in BC settings, the guest cohort reads zero. If guest is the primary path (no account creation prompted), expect 80%+ guest share. The split reflects merchant configuration as much as buyer behaviour. |
| Cohort AOV gap | Registered cohort typically has higher AOV (returning customers buy bundles, use saved cards, are more committed). A 15-30% gap is normal; below 5% suggests registered-cohort behaviour isn’t differentiated; above 50% suggests guest cohort attracts only entry-level buyers. |
| Time window | 30D rolling. |
| Alert trigger | None (pattern card). |
| Roles | owner, marketing |
Calculation
Calculated automatically from your BigCommerce data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A US specialty foods brand on BigCommerce Pro with B2B Edition (cafes / restaurants buying wholesale), DTC web (consumer subscription + one-off), and a flagship POS. Snapshot for 1 Apr to 30 Apr 26.| Cohort | Channel | Orders | % | Revenue | AOV |
|---|---|---|---|---|---|
| Guest | DTC web | 1,820 | 38% (web) | $158,420 | $87 |
| Registered | DTC web | 3,000 | 62% (web) | $362,400 | $121 |
| Guest | POS | 372 | 98% (POS) | $24,180 | $65 |
| Registered | POS | 8 | 2% (POS) | $720 | $90 |
| Registered | B2B portal | 612 | 100% (B2B) | $1,224,000 | $2,000 |
| Headline (all channels) | 5,812 / 6,812 = 38% guest, 62% registered |
- Headline 62% registered hides B2B contamination. B2B portal contributes 100% to registered (612 orders). If we exclude B2B, the DTC-only registered share drops from 62% to 60%, the merchant’s actual DTC retention story is meaningfully different from the headline. Always exclude B2B before reading guest/registered for DTC-marketing decisions.
- Web cohort 38% guest is healthy for specialty foods. Most BC categories run 30-50% guest; over 60% means new-customer-acquisition heavy (could be paid traffic or a new brand); under 25% means under-acquired (existing customers carrying the business with too few new buyers). 38% is the sweet spot.
- Web registered AOV 87 = a 39% gap. Returning customers commit to bigger baskets. A 30-50% AOV gap is healthy; below 15% means registered-cohort behaviour isn’t differentiated (your loyalty / saved-cards / subscriptions aren’t moving basket-size); above 60% means guest cohort attracts only entry-level lookie-loos.
- POS at 98% guest is structurally normal for a flagship-store POS. Walk-ins don’t register. The 8 registered POS orders are likely staff purchases or a regular customer who has an account for the brand’s online side; this is fine.
- B2B at 100% registered is structural. B2B Edition requires a customer-group-assigned account; you cannot guest-checkout in B2B. The B2B contribution to the registered cohort is mechanical, not behavioural.
- Exclude B2B before reading the DTC ratio. B2B inflates the registered share artificially.
- For low-registered-share stores (<35%), invest in account-creation incentives at checkout (saved-cards, faster-reorder, exclusive content).
- For low-guest-AOV gap stores (<15%), audit your loyalty program and post-purchase upsell flow; registered customers should be buying differently.
- For high-guest-share stores (>65%), your acquisition channels are working but retention isn’t. Audit email-capture rates and post-purchase nurture.
- Pair with BC Channel Repeat Rate for the same data viewed through the repeat-purchase lens.
Sibling cards merchants should reference together
| Card | Why pair it with Guest vs Registered Orders |
|---|---|
| BC Channel Repeat Rate | The repeat-purchase lens; correlates strongly with registered share. |
| BC Top Customers | The high-LTV registered-customer detail. |
| Average Order Value | Registered AOV is structurally higher; pair to read cohort-AOV gap. |
| BC Channel AOV | Per-channel decomposition; B2B-active channels skew registered. |
| BC Orders by Channel | Channel context for the guest / registered split. |
| Total Revenue | Revenue context for cohort decisions. |
| BC Channel Refund Rate | Guest cohort typically has higher refund rate; pair to confirm. |
| BC Channel Conversion Rate | Registered customers convert better; pair to surface funnel quality. |
Reconciling against the vendor’s own dashboard
Where to look in BigCommerce Control Panel: Customers → Customer List shows registered customers; Orders → All orders filtered byCustomer = Guest shows guest orders. BC does not natively compute the cohort split as a percentage; it must be inferred from the two filtered counts.
For B2B: Channel Manager → B2B Edition → Customers lists the B2B-registered customer base.
Why our split may differ from BC’s customer / order filters:
| Reason | Direction |
|---|---|
Guest detection criteria. We use customer_id = 0 OR is_guest = true; BC’s filters use customer_id only. Some guest checkouts that BC counts may have a synthetic customer_id created. | Vortex IQ HIGHER guest count |
| Cancelled / Incomplete handling. We exclude both; BC’s customer view varies. | Different denominators |
| B2B inclusion. BC’s main customer list shows DTC + B2B separately; we surface them together unless filtered. | Aggregation difference |
| Time-window. Rolling-30 vs current-snapshot. | Different temporal frames |
| POS guest treatment. We count POS as guest by default; BC may attribute to a “POS customer” entity. | Vortex IQ HIGHER guest on POS |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
klaviyo.kl_subscriber_purchase_share | Klaviyo subscriber purchases roughly match registered cohort | Klaviyo subscribers can include guests who provided email; the overlap is partial. |
google_analytics.ga_returning_user_orders | GA4 returning-user orders correlate with registered cohort | GA4 uses cookies / identifiers; cross-device losses depress the rate. |
shopify.guest_vs_registered | Same metric on Shopify; for agencies running both, definitions match within 1-2% | Shopify uses customer.accepts_marketing differently; guest detection logic varies. |
customer_id IS NULL) and Adobe Commerce (per customer_is_guest); merchant-facing semantics are equivalent.
Known limitations / merchant FAQs
Should I disable guest checkout to force account creation? Generally no, the friction reduces conversion by 15-30%. The merchant experience benefit (more registered customers) doesn’t usually offset the lost orders. Better strategy: keep guest checkout enabled but offer post-purchase account-creation incentives (free shipping on next order, exclusive content). The conversion impact is zero; you still get many guests to register downstream. My headline registered share is 70% but my repeat rate is only 18%. What’s the disconnect? Many registered customers haven’t actually returned. “Registered” just means they have an account; “repeat” means they placed multiple orders. A 70% registered share with 18% repeat means lots of accounts are dormant. The action: re-engagement email flow targeting dormant registered customers. Klaviyo / Mailchimp handle this well. My B2B Edition store reads 100% registered. Why is the card useful? For pure-B2B stores, this card has limited value. It becomes useful when you have mixed B2B + DTC and want to see the DTC-cohort behaviour. Configure B2B exclusion in Settings → Filter to read DTC-only. My POS shows 98% guest. Should I push POS staff to register customers? Generally no, walk-in customers don’t want to provide email at the till. Better strategy: capture email via the receipt (digital receipt with opt-in checkbox). 30-50% of POS guests will provide email if the prompt is unobtrusive. Configure under POS → Receipt settings. Why does the card exclude Cancelled and Incomplete? Because they don’t represent real cohort behaviour. A cancelled order tells you nothing about whether the customer was guest or registered for completion-purposes; an Incomplete is an abandonment signal, not a cohort signal. Excluding both keeps the metric meaningful. My guest cohort AOV reads 121. Is the gap healthy? A 30-50% AOV gap is the healthy range for most BC categories. 121 is 39%, exactly in the middle. Smaller gap (<15%) means your loyalty / saved-cards aren’t moving basket size; larger gap (>60%) means guest cohort is bargain-hunters only. Multi-storefront stores: does this aggregate or split? By default per-storefront. Each storefront has its own customer base; aggregation produces meaningless rollups. Use the storefront selector to switch. My channel filter excludes B2B but the registered share is still 80%. Real? Yes, that’s a healthy DTC retention story. Some categories (subscriptions, replenishment goods, premium consumables) genuinely have high registered shares. Don’t pathologise; ensure the registered cohort is generating repeat purchases (cross-reference with BC Channel Repeat Rate). Why does my registered cohort revenue dominate but order count is 60-40? Registered orders have higher AOV. The same 40% of orders generates 50%+ of revenue. This is the structural pattern; “registered customers are worth more” is a defensible business proposition. The challenge is getting more guests to register, not getting registered customers to spend more. Does the card track “anonymous-but-recognised” returning visitors? No, we use BC’scustomer_id and is_guest fields. A returning visitor without an account is still a guest in our metric. Some merchants want to count repeat-guest as “registered-equivalent”; configure under Settings → Cohort definition → Cookie-based-guest if your CDP can identify repeat anonymous visitors.