Upsell & Cross-sell
Complete-the-kit cross-sell
Your customer just built a tennis basket with no racket bag — the agent spots the gap and completes the kit before checkout.
What it does
A customer assembles a basket that is almost right: shoes and a polo, but no socks; a racket, but nothing to carry it in. They check out anyway, and the missing piece becomes someone else's sale next week. The agent reads live cart state, recognizes the obvious companion the basket is missing, and offers it with a one-line reason — "most buyers add this" — growing the basket without reaching for a discount.
How it works
- 1Trigger. the storefront's widget API streams live cart state; the agent detects a kit-gap pattern — items that almost always travel together, with one missing.
- 2Decision. the agent weighs the gap against the customer's purchase history and what it already knows about them (sizes, preferences), and a judge gates the nudge — it only goes out if it is genuinely useful, on-policy, and not a repeat.
- 3Action. a short in-chat or in-app suggestion naming the specific companion item and why it fits this exact basket, with a one-tap add. No discount attached — the relevance is the offer.
- 4Follow-through. the outcome (added, declined, ignored) is written back to memory so the next nudge is smarter; if the customer checks out or empties the cart first, the pending nudge is cancelled rather than sent stale.
Configuration
How the agent is wired for this use case.
cart_updated event streamed from the storefront's cart/widget API, surfacing a kit-gap pattern- Storefront cart API · read live cart state; add the companion item on one-tap accept
- Product catalog · resolve companion/affinity relationships and size availability
- CRM / memory store · read purchase history and size preferences; write back the outcome
- Messaging channel · render the in-chat or in-app suggestion with a one-tap add
What you need
The inputs this use case runs on. Your channels stay yours; the agent supplies the judgment.
Signals
live cart state via the storefront widget API (cart_updated, items, quantities)
Data
product catalog with companion/affinity relationships, customer purchase history and size/preference memory
Guardrails
judge gating on every unprompted nudge; one nudge per session; suppression when the basket is already complete or the customer has declined the same add before; the client keeps owning the surface
Metrics it moves
- attach-rateup, because the companion item is offered at the exact moment the basket reveals the gap
- aovup, through full-price basket completion rather than discount-led add-ons
Related use cases
See it on your own customer journey
Bring one drop-off, one churn cliff, or one silent segment. We will show you what a proactive agent with memory and judgment does with it.
Book a demo