Orders
The Orders tab mirrors every order placed on your store and layers an AI-attribution overlay on top: which orders the chat agent influenced, which conversation drove them, and how much revenue Zubby can claim. It is also the data the agent reads from when a shopper asks “where is my order?” This page covers what you see, how to filter it, and how order data feeds the agent.
Where it lives
Orders from the dashboard sidebar — the full path is /app/<storeId>/orders. Orders flow in automatically from Shopify and WooCommerce webhooks; you never import them by hand.The 90-day window
The list shows every order placed in the last 90 days. This keeps the view fast and focused on revenue you can still act on — recovery, attribution, support. Orders older than 90 days are retained in the database (the AI can still look them up for a shopper) but do not appear in this list. There is no setting to widen the window from the UI.
Summary cards
Three cards at the top summarise the same 90-day window, regardless of the filters applied below them:
- Total revenue (90d)— sum of every order's total value, with the total order count underneath.
- AI-attributed revenue — revenue from orders whose last touch before checkout was a Zubby conversation, shown with the AI order count and the AI share of total revenue as a percentage.
- Average order value — total revenue divided by total order count.
The order table
Each row shows the platform order number, the shopper email, the order date, the order total in the store currency, an attribution badge, and the AI-attributed revenue for that order. The columns are:
| Column | What it shows |
|---|---|
| Order | The platform order id, e.g. #1042. |
| Shopper | Checkout email, or a dash if anonymous. |
| Ordered | The order date. |
| Total | Order total in the store currency. |
| Attribution | An AI or Organic badge (see below). |
| AI revenue | Attributed revenue for AI orders; a dash otherwise. |
When an order is AI-attributed and it has a linked conversation, the attribution badge reads AI · view chat and links straight to that conversation so you can read the exchange that earned the sale. Pagination runs 25 orders per page.
Filters
A filter bar sits between the summary cards and the table. Set any combination and click Apply filters:
- Search — matches on order number or shopper email.
- Attribution — All orders, AI-influenced only, or Organic only.
- Financial — All, Paid, Pending, Refunded, Partially refunded, Voided, or Authorized.
- Fulfillment — All, Fulfilled, Partial, Unfulfilled, or Restocked.
- Status — All, Open, Closed, or Cancelled.
Status values are platform-native
How attribution is decided
An order is tagged AI when Zubby recorded a chat interaction as the last touch before checkout (the ai_last_touch source). Everything else is Organic. Attribution is conservative and last-touch by design, so the AI-attributed revenue figure is a floor, not a ceiling. For the full attribution model — windows, holdout groups, and how it is relabelled in analytics — see Analytics & attribution.
How the agent uses order data
The same orders power the agent's get_order_statustool. When a shopper asks about a delivery, the agent looks up their order and replies with payment status, fulfilment state, carrier, tracking number, tracking link, and the line items — no human needed for routine “where's my package?” questions.
Lookups are strictly scoped to the shopper's own identity:
- A signed-in or previously identified shopper can only see their own orders.
- An anonymous shopper must supply both the order number and the checkout email before anything is returned — a single guessed value cannot enumerate orders.
- If a shopper supplies an email that differs from the one bound to the conversation, the agent refuses the lookup.
The agent never moves money
Tracking and returns
Tracking data appears as soon as the platform sends a fulfilment webhook, so the freshness of “has it shipped?” answers depends on your store emitting those events promptly. Return and refund questionsare answered from your store policy; the actual action stays with your team. For how policies are sourced, see Knowledge base.
Orders need the worker running