How it’s calculated
Built from
Order.customer.idOrder.createdAt
Known caveats
- Current transform marks orders with a customer, not a verified first purchase.
Where this appears
- Supporting input; not offered as a standalone dashboard metric
Grain and identity
Grain and identity
daily_snapshot; entity: customer; same-day fold: sum; additivity: semi_additive.Join and identity keys
- customerId
- snapshotDate
Filters and boundaries
Filters and boundaries
- Organization and store are resolved from the authenticated request.
- Reads use a half-open interval: recorded_at >= start and recorded_at < end.
- ShopifyQL sales values are used as reported; no extra paid-order filter is added by Aloftly.
Timezone, currency, and freshness
Timezone, currency, and freshness
Timezone. ShopifyQL groups by the shop reporting date; Aloftly stores that date as a UTC-midnight label. Order lifecycle events retain their provider timestamp.Currency. Not applicable.Freshness. Cursor sync.
Version history
Version history