At a glance
Share of recent BC orders that carry a non-empty billingAddress.email. The single best leading indicator for email-marketing reach: missing emails today are missing welcome flows, missing abandonment recovery, and missing cross-sell touches for the next 90 days. Every missing email is a customer your CRM cannot ever speak to.
| What it counts | COUNT(billingAddress.email != NULL OR != '') / COUNT(_id) over the rolling window. The result is a percentage between 0 and 100. We treat empty strings, whitespace, and BC’s “noreply@…” placeholder addresses as missing, only real, deliverable-shaped emails count. |
| VAT / tax treatment | n/a, this is a customer-data metric, not a money metric. |
| Shipping | n/a. |
| Discounts | n/a. |
| Refunds | n/a, the email captured at order time is what matters; refund status doesn’t reverse the email collection. |
| Cancelled / voided orders | Included. A cancelled order with an email captured at checkout still counts as “captured” for deliverability purposes; you can still email that customer. |
| Currency | n/a, count metric. |
| Channels / sources | All BC channels contribute, but channel-mix matters a lot here. POS orders capture email rate ~50-70% (cashier asks, customer often declines). Web captures ~95-99% (email is required at checkout). Channel Manager / Amazon orders may capture marketplace-anonymised emails (...@marketplace.amazon.com), which we count as “present” even though they cannot be marketed to. Facebook Shop orders captured via Meta-managed checkout often have anonymised emails. |
| Anonymised marketplace emails | A separate concern. We count ...@marketplace.amazon.com and similar as “present”, but they are functionally undeliverable for marketing. To see the marketable share, pair with BC Channel Revenue Mix and exclude marketplace channels from the email-health denominator. We are working on a “marketable email rate” sub-card. |
| Guest checkout vs registered | A guest checkout still requires email entry on web, so guest orders normally have email. The failure pattern is non-web channels (POS especially). |
| B2B Edition | B2B orders almost always have email (the buyer login is email-based). B2B email health typically reads 99%+. |
| Time window | RT (real-time, refreshed each order sync) |
| Alert trigger | <85% (deliverability risk), sentiment key email_health. Below 85% means more than 1-in-7 orders cannot be emailed; the marketing team is materially undersized vs the customer base. |
| Roles | owner, marketing |
Calculation
Worked example
A US homewares brand on BigCommerce Pro with web + POS + Amazon Channel Manager. Snapshot at 12 Apr 26.| Channel | Orders (last 30 days) | Orders with email | Email health % | Notes |
|---|---|---|---|---|
| Stencil web | 4,210 | 4,180 | 99.3% | Healthy, web checkout enforces email |
| POS Terminal A | 740 | 410 | 55.4% | Cashiers not asking for email consistently |
| POS Terminal B | 312 | 240 | 76.9% | Better, store manager has trained team |
| Amazon Channel Manager | 1,180 | 1,180 | 100.0% | But all ...@marketplace.amazon.com, not marketable |
| Facebook Shop | 88 | 81 | 92.0% | Mix of real and Meta-anonymised |
| Store total | 6,530 | 6,091 | 93.3% | Above 85% threshold, but headline is misleading |
- The headline 93.3% is healthy but misleading. Strip out the 1,180 marketplace-anonymised Amazon emails and you get 5,350 orders with 4,911 marketable emails = 91.8% on the marketable base. Strip out POS A’s missing emails too and the marketable rate is 87%. Materially worse than the headline.
- POS Terminal A is the single biggest fix. 330 orders without emails over 30 days = ~4,000 missing emails per year on that one terminal alone. At a typical 1-3% email-to-revenue conversion that’s $20-60k/year of CRM revenue lost from one cashier-training gap.
- Amazon Channel Manager 100% is a footnote, not a result. Amazon-anonymised emails are unmarketable. Use Amazon’s own Brand Tailored Promotions for direct marketplace customer outreach; there is no way to bridge to your Klaviyo or Mailchimp list from these orders.
- Below 85% triggers the alert. Below 75% triggers panic. A 75% email-capture rate means a quarter of your customer base is invisible to your CRM, and the gap compounds, every quarter you stay below 85% the long-term reachable customer pool shrinks relative to the unreachable shadow pool.
- POS Terminal B’s 77% suggests the fix is operational, not technical. A 99% web rate with a 55% POS rate means the POS app supports email capture; cashiers just don’t use it. A 30-day “ask for email” training cycle typically lifts POS rates from 55% to 80%.
- Decompose by channel. Run BC Channel Revenue Mix and a per-channel email-health view; almost always 1 or 2 channels are the cause.
- For POS underperformers, retrain cashiers on the email-capture flow. Ask “would you like a digital receipt?” instead of “can I have your email?”, consent rate jumps 30-50%.
- For Amazon / marketplace anonymisation, accept that those customers are not marketable through your CRM. Use the marketplace’s own follow-up tooling.
- Review checkout email-required setting in Settings → Checkout. For web orders email should be required (default); some merchants disable it for accessibility reasons and then forget to monitor.
- Sync to your CRM (Klaviyo, Mailchimp, etc.) with a lookback so any historically-missing emails captured later get back-filled into the right customer record.
Sibling cards merchants should reference together
| Card | Why pair it with Email Health |
|---|---|
| Customer Count | The total reachable base. Email health % × customer count = marketable customers. |
| Customer Acquisition Trend | Acquisition without email capture is acquisition you can’t nurture; the two together tell the full top-of-funnel story. |
| BC Guest vs Registered | Guest checkouts often capture email but not consent. The marketable subset is smaller than this card suggests. |
| Repeat Customer Rate | Strong negative correlation. Stores with low email health typically have low repeat rates because retention email is the lever that drives repeat. |
| Unverified Emails | The “captured but unverified” subset. This card counts presence; that one counts deliverability. |
| BC Channel Revenue Mix | Channel-mix decomposition. Drops on this card are usually channel-concentrated. |
klaviyo.kl_list_health | The receiving end. BC’s email capture should populate Klaviyo’s active list; gaps mean sync is broken. |
shopify.email_health | Cross-platform peer. Shopify defaults to required-email-at-checkout, so Shopify equivalents typically read 97-99%. |
Reconciling against the vendor’s own dashboard
Where to look in BigCommerce Control Panel: BigCommerce does not surface “email capture rate” as a single tile. The closest checks are:- Customers → View, which shows the customer list with email columns. Filtering for “no email” is approximate.
- Orders → All orders, where each order’s billing-email column is visible. Bulk-export to CSV and count the empty-email rows.
- Settings → Checkout confirms whether email is required at web checkout (it should be).
| Reason | Direction |
|---|---|
Marketplace-anonymised emails. We count ...@marketplace.amazon.com as “present”; a marketer manually counting marketable emails would exclude these. | Vortex IQ HIGHER than the marketable-rate count |
Whitespace / null normalisation. We treat " " and " " as missing; a naive IS NOT NULL SQL query treats them as present. | Vortex IQ LOWER than naive query |
| POS guest receipts. BC POS may store an email at order-time then strip it on receipt-print; we capture whatever’s in the order at sync. | Boundary effects |
| Time zone. Window boundary differs between BC reports (store TZ) and our index (UTC). | Boundary effects |
| Sync lag. Webhook delays mean recent orders may be missing from this card. | Vortex IQ LOWER for the most recent hour |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
klaviyo.kl_active_subscribers | Klaviyo’s active list should be a subset of this card | Klaviyo requires consent; this card counts captured emails regardless of consent. Expect Klaviyo to be 60-90% of this card. |
mailchimp.mc_audience_size | Same as Klaviyo, consent-gated subset | Same divergence pattern. |
google_analytics.ga_logged_in_users | GA4’s logged-in-user share should track web-channel email-capture rate | GA4 measures session login state, not order-level email capture. |
shopify.email_health(planned)adobe_commerce.email_health(planned)
Known limitations / merchant FAQs
My email-health % is 96% but Klaviyo says my reachable list is 64%, what’s going on? The 32-percentage-point gap is almost entirely consent vs presence. This card counts emails captured at checkout. Klaviyo (and any consent-gated email tool) only counts emails with explicit marketing consent. UK / EU stores under GDPR see this gap most starkly; US stores see narrower gaps (CAN-SPAM is opt-out by default for transactional senders). Fix the gap by adding a consent checkbox at checkout (default off, single-opt-in) plus a post-purchase consent email. Why does my Amazon channel show 100% email but Klaviyo can’t find any of those customers? Amazon anonymises buyer emails to...@marketplace.amazon.com for privacy; those addresses route through Amazon and cannot receive third-party marketing. Use Amazon Brand Tailored Promotions for direct marketplace customer outreach. To reach Amazon-acquired customers off-platform you’d need them to register on your BC store separately, which they rarely do.
Below 85% triggered the alert. How quickly does this affect revenue?
Slowly but compoundingly. The first month at 80% capture rate doesn’t move email-driven revenue much. By month 6 your email list is 18% smaller than it would have been; email revenue trails that gap. By month 18 the compounded effect is 30-40% lower email-driven revenue than a 95%-capture peer.
My POS rate is 50%, what’s a realistic target?
80-85% with consistent training. Above 90% is rare on POS unless you tie email capture to a perk (digital receipt is the easiest, loyalty-points enrolment is the strongest). The fix is operational, not technical, every BC POS install supports email capture.
Are abandoned carts in this number?
No, this card counts orders only (COUNT(_id) on the orders index, not carts). Abandoned-cart email rate is a separate concern; check your cart-recovery vendor’s deliverability dashboard.
My checkout recently added an “email is optional” toggle for accessibility, did that drop my number?
Likely yes. We’ve seen stores drop from 99% to 85% within 30 days of making email optional at web checkout. The accessibility argument is reasonable but the marketing cost is high. Compromise: keep email required at checkout; provide a “skip and email me later” option that uses receipt-confirmation flow. That balances both.
My most recent reading is 100%, did the integration break?
Possibly, possibly not. Some stores legitimately read 100% (web-only, every order has email). If you also run POS or marketplace channels and the number reads 100%, it suggests channel orders aren’t reaching the index. Check Settings → Sources → BigCommerce to confirm all channels are syncing.
Should I trust BC’s own “Customer email capture rate” report on Plus / Pro?
It’s directionally right but uses BC’s own definition (which may exclude POS and marketplace channels by default). Use this card for the cross-channel headline; use BC’s report for promotional-touchpoint diagnosis (welcome flow opt-in rate, abandoned-cart subscribe rate).
Does removing test orders affect this number?
Yes, marginally. Test orders typically have placeholder emails (test@yourdomain.com) which we count as present. If your test-order volume is high (developer team running QA daily), the headline can drift up by 1-3 percentage points artificially. Filter by customer_id != known_test_id upstream if precision matters.