Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform

At a glance

Daily / weekly timeseries of distinct customers placing orders. The trend version of Customer Count: the shape of acquisition + retention behaviour over time.
What it countsDATE_HISTOGRAM(week, CARDINALITY(customer.id)) over the 90-day window. Each week shows the distinct customer count for that week. A customer who ordered in three different weeks contributes to three weekly buckets.
API endpointAdmin GraphQL. Order.customer.id, bucketed by Order.createdAt week.
VAT / tax treatmentNot applicable (count metric).
ShippingNot applicable.
DiscountsNot applicable.
RefundsRefunded-order customers still count.
Cancelled / voided ordersCancelled-order customers count if customer was attached.
CurrencyMulti-currency safe.
Channels / sourcesOnline + POS-with-account + B2B contribute. POS-guest excluded.
Aggregation noteWeekly customers sum to MORE than monthly customers (a customer who orders in 4 weeks counts 4 times in the weekly view but once in the monthly view). Use this card for shape, not summed totals.
Time window90D (typically weekly buckets)
Alert triggerNone on this card directly; significant drops surface via the Customer Count period comparison.
Rolesowner, marketing

Calculation

DATE_HISTOGRAM CARDINALITY(customer.id)
  WHERE date BETWEEN [period_start, period_end]

Worked example

A UK DTC apparel brand on Shopify. Period: 12 Feb 26 to 12 May 26. Weekly distinct-customer counts:
Week startingDistinct customersNew customers (subset)Returning (subset)Notes
12 Feb 26478281197Steady
19 Feb 26502298204
26 Feb 26511305206
04 Mar 261,142854288Spring drop launch, paid push
11 Mar 26928619309Lift continues
18 Mar 26612312300Tapering
25 Mar 26521214307Returning steady, new normalising
01 Apr 26488198290
08 Apr 26461187274
15 Apr 26471191280Easter push
22 Apr 26502211291
29 Apr 26488188300
06 May 26491189302
Five things to notice:
  1. The 04 Mar spike is the spring drop wave. Distinct weekly customers more than doubled, driven by ad-spend lift. The wave decayed across 3 weeks (1,142 → 928 → 612), a typical drop-launch shape. Returning-customer count remained elevated for longer than new-customer count (304 vs 854 → 191), evidence the returning cohort responded later to the email campaign than new acquisition responded to ads.
  2. The acquisition wave didn’t lift the returning baseline. Pre-drop returning was 197 to 206 / week; post-drop 274 to 302 / week. That is a 35% lift in returning customers maintained for 8 weeks. Some of those new acquisitions converted into early-repeat buyers; the rest of the lift is the existing base coming back for the new collection. Pair with New Customers to confirm the cohort split.
  3. Returning-customer steadiness is the retention health signal. A flat 290 to 305 returning customers / week post-spike means the retention engine is steady. A step-down to 200 returning would be a churn alarm even with new-customer surge masking the headline.
  4. Easter (15 Apr) shows a small bump. Acquisition campaigns produce visible week-level signatures here; you can audit campaign effectiveness against this card directly. A campaign that produces no visible lift in the weekly distinct count almost certainly did not work.
  5. POS-guest checkout invisible. The brand’s pop-up retail event on 21 Mar at a London market generated 80+ in-person sales but most without email capture; weekly distinct-customer count does not reflect them. POS-guest is a known gap for omnichannel brands.

Sibling cards merchants should reference together

Customer trend is the timeseries view of Customer Count. Pair with these for context:
CardWhy pair it with Customer TrendWhat the combination tells you
Customer CountThe 30D summary view.Trend reveals the shape; count gives the headline.
New CustomersAcquisition subset over time.New-vs-returning split by week shows the engine driving the headline.
Repeat RateRetention proportion.A rising customer trend without rising repeat rate = pure acquisition; sustainable only with the funnel funded.
Orders Over TimeOrder timeseries counterpart.Orders per customer per week = frequency.
Revenue Over TimeRevenue timeseries.Revenue ÷ customer trend = revenue per customer per week.
Churn RiskLapsed cohort.A flat customer trend masking rising churn is a leaking-bucket alarm.
google_ads.google_spend_over_timeAcquisition channel input.Compare ad-spend timeseries to customer trend; the lag and lift reveal CAC efficiency.
google_analytics.ga_users_over_timeTop-of-funnel counterpart.GA4 users vs Shopify customer trend = funnel conversion shape.

Reconciling against the vendor’s own dashboard

Where to look in Shopify Admin: Analytics → Reports → “Customers over time” → set the date range to match this card and the resolution to weekly. Shopify’s report should align week-to-week with this card. Other Shopify Admin views:
  • Reports → First-time vs returning over time: shows new vs returning segments of the same trend; companion view.
  • Reports → Sales by month: revenue companion; pair to derive revenue-per-customer trend.
  • Apps like Polar Analytics, Triple Whale: build richer customer-trend cohort views (acquisition cohorts, retention curves). Useful complements.
Why our number may legitimately differ from Shopify Admin:
ReasonDirectionWhy
Time zoneBoundary daysShopify uses store time zone; Vortex IQ uses store time zone for daily buckets but UTC for window edges.
Bucket alignmentEither”Week” can start Mon (ISO) or Sun (US). Shopify defaults to Sun-start; Vortex IQ to Mon-start (configurable). Verify when comparing.
Test ordersOurs slightly higherThe card does not yet filter Order.test = true.
Customer mergingTransientPre-merge data may show duplicates; reconciles after merging.
Channel filterEitherShopify can be filtered by sales channel; this card aggregates.
Sync lagOurs lower for “today”5 to 15 minute lag. The latest week’s bar will rise during the day.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
google_analytics.ga_users_over_timeGA4 users >> Shopify customersConversion rate ties them.
klaviyo.klaviyo_subscribers_over_timeEmail signup vs purchase trendOften diverge; email signups are top-of-funnel, customer trend is bottom-of-funnel.

Known limitations / merchant FAQs

Why does the trend not sum to the 30D customer count? Because the same customer can order in multiple weeks. A customer who orders in 4 weeks counts 4 times in the weekly view but once in the 30D distinct view. Use this card for shape (week-over-week), not for summed totals. Why is the latest week’s bar lower? Sync lag plus partial-week. The current week is in progress; bars are partial until end of week. Yesterday and earlier weeks are caught up. My weekly trend has a strong day-of-week pattern, why? Weekly bucketing usually smooths day-of-week effects, but if a brand’s promotion calendar lands on specific days (e.g. always-Friday drops), week-on-week distinct customers will reflect campaign timing more than baseline behaviour. Multi-store, can I see the combined customer trend? No, each store is a separate integration. Multi-store rollups are on roadmap. Multi-currency, any impact? None on the count; weekly customer trend is currency-blind. Shopify Plus vs basic? No definitional difference. Plus stores typically have larger absolute numbers; the trend shape is qualitatively similar. Refresh cadence? Webhooks fire within seconds; index lag 5 to 15 minutes. Weekly buckets recompute on each ingest. B2B vs DTC, any difference? B2B customer counts are smaller and more event-driven; the trend can show large weekly swings tied to specific account activity. DTC trends are smoother. Mixed B2B + DTC stores benefit from filtering by tag (manual today; on roadmap). The trend dropped sharply last week, what should I do?
  1. Cross-reference Orders Over Time. Did orders drop too? If yes, real volume issue; if no, customers might be ordering more per visit.
  2. Cross-reference Revenue Over Time. A flat customer count + flat revenue suggests this is real, not artefact.
  3. Check ad spend channels: a paused or under-performing ad campaign is the most common cause of a single-week customer drop.
  4. Check site performance: a site outage or checkout error in the affected week often correlates.
  5. Check email programme: a missed weekly campaign can show up as a returning-customer dip.

Tracked live in Vortex IQ Nerve Centre

Customer Acquisition Trend 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.