| From | Subject | Waiting | Concern |
|---|
| From | Subject / snippet | Status | FRT | CRT | Tags |
|---|
Ticket = one Gmail thread initiated by a real external human customer. Warm-up bot traffic, cold spam, system/transactional mail (Shopify, Klaviyo, Omniva noreply, bounces) and our own outbound cold email are excluded and shown in the truth bar.
FRT = first inbound customer message → first human outbound reply. The info+canned.response@ auto-responder is excluded; counting it would be lying to yourself.
Complete response time (CRT) = first inbound message → last human outbound in the thread, computed only for threads where we currently have the last word ("answered"). Threads where the customer has the last word are checked by AI: if the final message is a thank-you or closure, the thread is marked "closed by customer" and does not count as awaiting; only messages that genuinely require a reply do.
Contact rate = unique customers who contacted CS ÷ orders in period. Orders come from the connected Shopify store (or your manual override). Buyer share = tickets referencing an order (#OC…) or purchase ÷ all tickets (heuristic + AI).
Cost per ticket = monthly CS cost prorated to the period (× days/30.44) ÷ tickets. Cost per reply = same prorated cost ÷ human outbound replies in customer threads. Default €513 = $600/mo at 0.856 USD/EUR (Aug 2026) — update the input when the rate or the cost moves.
Concerning issue rate = tickets tagged defect/warranty, complaint, or legal/chargeback ÷ all tickets. Returns, deliveries and cancellations are routine, not concerning.
Solved status (agent-controlled): apply the green Gmail label CS-Solved to a thread and the tracker treats it as solved regardless of who wrote last — the helpdesk-style status field, one click per ticket. Team rule: if the customer writes back with a new problem, remove the label (Gmail can't auto-reopen; the needs-reply AI check is the safety net if someone forgets).
All times are calendar hours, not business hours. Deal with it in v1; business-hours FRT comes when the baseline is honest. Threads with 5+ messages are refetched in full before metrics are computed, because Gmail's thread search truncates long conversations — without this guard, answered threads show as awaiting.