E-commerce
July 1, 2026
"I go back to my cart, everything has disappeared." "The price has increased since yesterday." "My promo code no longer applies, why?" Three tickets where a poorly managed expired cart loses a recoverable sale.
The e-commerce expired cart support covers expired TTL sessions, released stock, modified prices, lost promos, and partial recovery. Distinct from marketing abandonment (#47): here, the customer returns active, session cart is dead. Distinct from hold timer (#569): no inventory reservation in progress.
This guide #571 covers EXPCART-SUP policy, EC-1 to EC-8 flows, and the EXPCART-MAP matrix. First support content for expired carts. Future support pair EXPCART bot (#572).
Summary
Why does the expired cart generate tickets?
The session cart has a lifespan: 7 days, 30 days, or less depending on the platform. The customer postpones, returns, and finds an empty cart or a different price. They believe it is a bug or a scam, whereas the session has simply expired normally.
Five typical frictions
Expired session: cart content cleared, TTL exceeded
Modified price: promo or base rate changed since addition
Lost promo: code or automatic discount no longer valid
Released stock: item out of stock after session expiration
Recovery requested: restore full expired cart
Shopify retains abandoned carts for recovery, but the storefront session expires based on cookies and configured duration (Shopify, abandoned checkout 2026). Without EXPCART-MAP, agents confuse session expiration with email abandonment.
EXPCART #571 vs RESV #569, saved #437, abandoned #47 and bot #572
Five contents, five distinct cart models.
Quick matrix
#571 EXPCART: expired session promo price stock recovery
#569 RESV: hold timer active inventory cart
#437 save cart: voluntarily saved cart save link
Abandon #47: marketing recovery email follow-up
#572 EXPCARTbot: bot find products alternative
#569 = timer hold in progress. #571 = dead session customer returns. #47 = outbound recovery, not inbound CS ticket.
Which expcart_* typologies should be classified?
Eight expired shopping cart ticket scenarios.
Eight expcart typologies
expcart_session_expired: empty cart session TTL exceeded
expcart_price_changed: different price upon recovery
expcart_promo_lost: expired promo code or automatic discount
expcart_stock_released: SKU OOS after stock release
expcart_recover_full: request to restore full cart
expcart_recover_partial: some items still available
expcart_link_expired: email recovery link expired
expcart_vs_abandon: mistakes expiration for abandonment follow-up
Tags: expcart, cart_expired, session_ttl, price_changed. EXPCART-MAP-GROUNDED: recovery policy from map only.
How to structure the EXPCART-MAP matrix?
The EXPCART-MAP matrix documents expiration and recovery rules for agents and future bot #572.
EXPCART-MAP Columns
expcart_scope: global VIP segment
session_ttl_days: session cart lifetime in days
price_lock_policy: fixed or live price at recovery
promo_grandfather: promo honored if recover map yes no
recover_method: draft order agent rebuild cart link
partial_recover_rules: OOS items skip or substitute
recovery_link_ttl: validity of email recovery link in hours
alternative_suggest: similar SKU if OOS post expiry
Sync Shopify cart settings, Klaviyo abandoned flow, FAQ expiration page, and helpdesk macros. Distinct active RESV-MAP hold.
EXPCART-SUP policy in six rules
Six rules support expired cart.
EXPCART-MAP-GROUNDED: TTL recovery price from map only
PRICE-LIVE-CITE: current PDP price except price_lock map
PROMO-POLICY-CITE: promo_grandfather map only
RECOVER-SCOPE: recovery according to recover_method map
PARTIAL-REBUILD: OOS skip according to partial_recover_rules
RESV-REROUTE: hold timer active → #569 RESV
Flow EXPCART EC-1 to EC-8
Flow agent eight steps expired cart.
EC-1 Intake: expcart_* intent + email order_ref cart snapshot
EC-2 TTL check: session_ttl_days last activity timestamp
EC-3 EXPCART-MAP: price promo recover partial rules
EC-4 Inventory check: SKU availability post expiry
EC-5 Classify: expired price promo stock recover partial
EC-6 Respond: macro EXPCART grounded map
EC-7 Execute: draft order rebuild cart link alternative
EC-8 Close: tag expcart_resolved recovery_status
SLA: expcart_session_expired explained with session_ttl_days in one interaction.
Essential EXPCART macros
Four macro agents.
EXPCART-EXPIRED-01
"Session cart expired after [session_ttl_days] days of inactivity. Content cleared according to platform policy. [If recover_method: we can [rebuild draft / resend link] if order identified.]"
EXPCART-PRICE-01
"Price [product_name]: [current PDP price]. [If price_lock no: live rate at resumption.] [If promo_grandfather yes and eligible: promo [code] honored.] [Otherwise: promo expired, current price applied.]"
EXPCART-RECOVER-01
"Cart recovery: [recover_method map]. Available items: [list of available SKUs]. [OOS: [list] HTML/text alternative [alternative_suggest].] Link: [draft_order_url / cart_rebuild_link]. Expiry [recovery_link_ttl]."
EXPCART-PARTIAL-01
"Partial recovery: [X/Y items available]. [OOS SKU: [names] according to partial_recover_rules.] [Suggested alternative: [alternative_suggest].] Confirm partial rebuild."
Edge cases: active hold, save cart, checkout and hidden fees
Five cases outside the standard expired macro.
Active hold timer : RESV #569 no EXPCART session TTL
Voluntary save : SCART #437 distinct save link
Abandoned checkout : checkout abandon payment help
Surprise hidden fees : hidden fees distinct expiration
Shared cart : shared cart multi-users reroute
Customer still within the 10 min hold window: RESV-REROUTE #569, no EXPCART-EXPIRED-01.
Essential expcart KPIs
Five EXPCART management metrics.
expcart_ticket_rate: expcart tickets / active cart sessions
expcart_recovery_rate: recover full partial / recover requests
expcart_partial_recover_rate: partial rebuild / recover attempts
expcart_price_dispute_rate: promo price tickets / recover
expcart_recover_to_order_rate: draft rebuild → paid order
Target: expcart_recover_to_order_rate greater than 25% on active draft order recover_method.
EXPCART anti-patterns
Five common mistakes.
Old price promised: PRICE-LIVE-CITE map
Invented promo recover: PROMO-POLICY-CITE
Hold RESV confusion: RESV-REROUTE #569
Impossible recovery promised: RECOVER-SCOPE map
Outbound abandonment confusion: expcart vs abandon explain
EXPCART with Qstomy
Qstomy on Shopify: detect expcart intent, EXPCART-MAP RAG TTL cite, inventory check SKU, draft order rebuild workflow, handoff #572 bot tier 1 recover.
Pipeline: #572 bot recover alternative → #571 draft rebuild price dispute execute.
Explore AI support and request a demo.
Checklist, FAQ and going further
EXPCART Checklist (8 steps)
EXPCART-MAP v1: TTL price promo recover partial
Policy EXPCART-SUP: 6 PRICE-LIVE-CITE rules
8 expcart_* typologies: helpdesk tags
4 EXPCART-* macros: EXPIRED PRICE RECOVER PARTIAL
FAQ expiration page: session_ttl_days visible
Draft order playbook: recover_method agent workflow
30 min agent training: expired vs RESV vs save
KPI Dashboard: expcart_* section 9
FAQ
Difference with abandonment #47?
#47 = outbound marketing follow-up. #571 = customer returns with expired session cart, inbound support.
Difference with RESV #569?
#569 = active stock hold timer. #571 = session TTL expired, stock already released.
Promo price honored?
EXPCART-PRICE-01 promo_grandfather map.
Is Bot #572 sufficient?
Tier 1 recover alternative cite. Draft rebuild price → agents #571.
Going further
This week: publish EXPCART-MAP TTL recovery, test EXPCART-RECOVER-01 draft order, measure expcart_recover_to_order_rate.

Enzo
July 1, 2026





