E-commerce

AI chatbot to check return eligibility

AI chatbot to check return eligibility

August 2, 2026

"Can I still return my order?" "Your site says 30 days but the portal refuses." "It's a hygiene product, do you accept it anyway?" Three messages where a generic bot promises a return without checking the date, SKU, or exclusion policy.

Narvar observes that 67% of consumers consult the return policy before buying, and that the gap between site promise and portal refusal generates disputes and chargebacks (Narvar, returns 2025). Loop Returns estimates that a well-calibrated self-service eligibility check can deflect 40% to 55% of simple return tickets before reaching an agent (Loop Returns, policy 2026).

This guide #365 formalizes the e-commerce return eligibility AI chatbot: checking deadlines, exclusions, and rules before RMA. It complements return pre-qualification (#138) (upstream reason collection) from the perspective of deterministic order lookup + RET-ELIG policy + late handoff (#364). Distinct from returns bot (#10) (complete auxiliary exchange/refund journey).

Summary

Why automate return eligibility with a bot?

A return eligibility bot answers: am I still eligible, why is the portal blocking, what alternative if refused. It does not create the RMA on its own without rules: it applies RET-ELIG-GATE before the portal link or handoff.

Three generic bot failures

  • Return promise: bot guarantees refund without looking up delivery_date

  • Invented deadline: "30 days" when SKU is final sale 0 d

  • Hygiene ignored: bot opens RMA on worn underwear

Shopify points out that return eligibility must be consistent between TDP, portal, and CS to avoid disputes (Shopify, return policy 2026).

Angle #365

The #138 collects reason and handoff form. The #10 guides exchange/refund post-eligibility. The #365 implements the bot layer ret_elig_*: date check, SKU exclusions, holiday extension, late_ret handoff (#364).

ROI ret elig bot

For a fashion brand with 720 returns/month, targeted eligibility bot 65 to 75% auto-resolved vs 25% generic return bot which systematically hands off.

DTC Example

Accessories brand, 48 elig tickets/month, 31% of which are out-of-time and poorly routed. After RET-ELIG-GATE bot: ret_elig_bot_resolution 78%, ret_elig_false_promise 2%, response time 28 s, CSAT elig 4.5/5.

Journey moment

Pre-RMA: customer hesitates, portal error, chat "can I return". Trigger: return, exchange, deadline, eligible, expired.

Ops prerequisites

Published return policy + LATE-RET (#364) for out-of-time. Metafields return_window, final_sale, product_hygiene. Bot quotes RAG policy, does not invent rules.

Why a dedicated eligibility bot

Coupling with the full return bot (#10) dilutes precision: customer asking to "return" receives exchange procedure without date check. Routing ret_elig_* upstream avoids invalid RMAs and warehouse workload.

Volume and seasonality

Eligibility tickets peak in January (holiday returns #253) and end of month (30 d deadline). Bot ret_elig_holiday_extend handles temporary extension without agent.

Cost of bot false promise

Bot promising out-of-time return creates RMA rejected at warehouse + chargeback. RET-ELIG-GUARD prohibits RMA link if days_over > 0 without LATE-RET grid.

Deterministic vs LLM

The decision eligible yes/no is calculated (dates, tags, metafields). The LLM reformulates the answer and proposes alternatives, it does not decide on its own.

How does it differ from prequalification #138 and feedback bot #10?

Seven return contents, seven distinct bot roles.

Prequalification (#138)

Prequalification (#138): reason collection, handoff sheet. #365 = deterministic eligibility check before reason collection.

Return bot (#10)

Return bot (#10): exchange/refund journey. #365 intervenes as an upstream gate, handoff #10 if eligible=true.

Late return (#364)

Late return (#364): LATE-RET policy human ops. #365 handoff ret_elig_late via bot or agent exception grid.

Return policy

Return policy: contract drafting. #365 = automated execution of policy rules.

Holiday returns (#253)

Holiday returns (#253): January extension. #365: intent ret_elig_holiday_extend lookup flag shop.

Bundle returns

Partial bundle returns: SKU kit. #365 checks return_bundle_partial_allowed metafield.

Damaged parcel (#363)

Damaged parcel (#363): transit damage. If ret_elig_motif=damage: route dmg workflow, not standard return.

Promise #365

Intents ret_elig_*, flow RET-ELIG-GATE, safeguards RET-ELIG-GUARD, handoff #364/#10, KPI ret_elig_bot.

Which ret_elig intents should the bot classify?

Map the ret_elig intents before flows. Scope: verify and explain, do not approve exception without grid.

Twelve bot eligibility intents

  • ret_elig_check: am I eligible? date lookup

  • ret_elig_deadline_info: when does my deadline expire?

  • ret_elig_portal_blocked: portal refuses, why?

  • ret_elig_final_sale: final sale, no return

  • ret_elig_hygiene: opened hygiene product

  • ret_elig_late: out of deadline, handoff #364

  • ret_elig_holiday_extend: holiday extension active

  • ret_elig_gift_order: gift order, recipient rule

  • ret_elig_bundle_partial: partial kit return authorized?

  • ret_elig_preorder: preorder, deadline from delivery

  • ret_elig_marketplace: external channel order, redirect

  • ret_elig_denied_handoff: disputes bot refusal, escalation

Required session fields

order_id, delivery_date, return_deadline, days_remaining, days_over, sku_tags, final_sale, hygiene_flag, holiday_extend_active, eligible (bool). See taxonomy (#135).

Parent router

"eligible", "return deadline", "portal refuses", "more than 30 days" → ret_elig_*. "How to return step by step" without check → #10 returns.

90-day ticket mining

Export return tags + "expired", "out of deadline", "final sale". Prioritize top verbatim flows before Loop API integration.

MVP Prioritization

Week 1: ret_elig_check + ret_elig_deadline_info. Week 2: ret_elig_final_sale + ret_elig_hygiene. Week 3: ret_elig_late + handoff #364.

How to build the RET-ELIG-GATE flow?

The RET-ELIG-GATE flow routes each message via lookup order and policy before returning eligibility.

Seven sequential gates

  1. Auth gate: email + order_id

  2. Channel gate: marketplace → ret_elig_marketplace redirect

  3. SKU gate: final_sale, hygiene, digital → exclusions

  4. Date gate: delivery_date + window → days_remaining or days_over

  5. Holiday gate: holiday_extend_active recalculates deadline

  6. Late gate: days_over > 0 → ret_elig_late or LATE-RET grid (#364)

  7. Exit gate: eligible + RMA link, or refusal + alternative, or handoff

Eligible ret_elig_check branch

If days_remaining > 0 and exclusions OK: "You have [N] days remaining (deadline [date]). Return link: [portal]." No refund promise, self-service link.

Blocked ret_elig_portal_blocked branch

Recalculate same logic as portal. If mismatch merchant_error (PDP said 45 days, policy 30 days): handoff ret_elig_denied with error flag.

Late ret_elig_late branch

Cite past deadline. If days_over 1-3 and LTV OK: offer exception form #364. Otherwise empathetic refusal + credit template LATE-RET-DENY.

Max clarification rounds

2 clarifications max (which SKU multi-line). Then agent handoff eligibility payload complete.

Output eligible=true

Bot sends deep link to Loop/ReturnGO portal pre-filled with order_id + line_item. Session flag rma_link_sent=true.

Which data sources does the eligibility bot read?

An eligibility bot without live Shopify data will hallucinate deadlines and exclusions.

Mandatory Shopify sources

  • Order fulfillment: delivery_date by line or fulfillment

  • Product tags: final-sale, hygiene, no-return, bundle

  • Product Metafields: return_window_override, return_excluded

  • Shop Metafields: default_return_window_days, holiday_extend_end

  • Customer LTV: segment for late exception grid

Return portal sources

  • Loop / ReturnGO API: eligible boolean mirror, RMA URL

  • Policy RAG: indexed /returns text, listed exclusions

  • LATE-RET doc #364: exception grid for ret_elig_late

Sync delivery_date

Webhook fulfillment delivered or carrier API. If delivery_date is null: bot ret_elig_preorder or WISMO handoff in_transit.

Portal vs. bot consistency

Bot must call the same eligible API as the portal. CI Test: 20 sample orders, bot result = portal result 100%.

Gift order flag

Metafield gift_order or checkout note. ret_elig_gift_order applies +14 days rule for recipient if policy LATE-RET section 5.

What RET-ELIG-GUARD safeguards should be imposed?

The RET-ELIG-GUARD guardrails prevent invalid RMAs and refund bot promises.

Six strict rules

  • No RMA if eligible=false: refusal + alternative, no bypass portal link

  • Auth before elig: order_id + email mandatory

  • LLM does not decide: eligible = function dates + tags, LLM reformulates

  • Hygiene never override bot: supervisor handoff only, no auto exception

  • Limited late exception: grid #364, no bot agent invention

  • Quote exact deadline: calculated date, not "about 30 days"

Prompt system ret elig

"You verify return eligibility according to RET-ELIG-GATE. You never promise a refund. If eligible, you send the portal link. If overdue, you apply LATE-RET or handoff. If final_sale or hygiene, you decline with policy citation." See anti-hallucination.

Audit false promise

Sample 50 conversations/month: ret_elig_false_promise_rate = bot says yes when eligible=false. Target < 3%.

Refusal templates

Three fixed templates: final_sale, hygiene, late_denied. LLM customizes empathy, not the rule.

On which customer journeys should the eligibility bot be deployed?

The eligibility bot operates on pre-RMA touchpoints.

"Can I return" chat flow

Auth → RET-ELIG-GATE → eligible RMA link or ret_elig_late handoff.

Portal error redirect flow

Portal error page: "Why refused?" button → chat ret_elig_portal_blocked explanation.

Post-delivery D+25 email flow

Reminder of deadline with 5 days remaining + chat link ret_elig_check. Reduces late_ret volume.

PDP FAQ widget flow

"Return period for this product?" pre-purchase: lookup return_window_override metafield without order.

Customer account flow

Orders section: "Returns available until [date]" badge calculated by bot rule engine.

ret_elig_denied_handoff flow

Customer disputes: supervisor payload order, calc eligible, screenshot of PDP if merchant_error claim.

Handoff #10 post-eligible

If eligible=true and customer wants size exchange: route to returns bot (#10) with elig OK context.

How to configure the eligibility bot on Shopify?

The Shopify eligibility bot setup connects the order API, return portal, and RAG policy.

Technical Checklist

  1. Document return_window shop + overrides SKU metafields

  2. Sync delivery_date webhook fulfillment

  3. Integrate Loop/ReturnGO eligible API (Shopify App Store)

  4. Index policy /returns + LATE-RET #364 RAG

  5. Configure router ret_elig_* keywords

  6. Implement RET-ELIG-GATE section 4

  7. Write prompt RET-ELIG-GUARD section 6

  8. Test 25 CI regression scenarios

  9. Weekly ret_elig_bot_resolution dashboard

Helpdesk Integration

Handoff sidebar: eligible yes/no, deadline, days_over, sku_exclusions, rma_link_sent.

Progressive Rollout

Phase 1: ret_elig_check + deadline_info. Phase 2: exclusions final_sale/hygiene. Phase 3: ret_elig_late + #364 handoff.

Monthly Regression Testing

20 fixture orders: eligible true/false, holiday extend, bundle, late 2d. Bot vs portal parity check.

Which ret_elig_bot KPIs should be measured?

Without the ret_elig_bot KPI, it is impossible to prove ROI vs macros #364 alone.

Seven key metrics

  • ret_elig_bot_resolution: resolved without agent / ret elig sessions

  • ret_elig_deflection: elig tickets prevented / sessions

  • ret_elig_rma_link_sent_rate: eligible + link / ret_elig_check

  • ret_elig_late_handoff_rate: late / elig sessions

  • ret_elig_false_promise_rate: yes bot while eligible=false

  • ret_elig_portal_parity_rate: bot = portal / audit sample

  • CSAT intent ret_elig: eligibility check satisfaction

DTC Benchmark

Target ret_elig_bot_resolution > 75 %, ret_elig_false_promise < 3 %, ret_elig_portal_parity 100 % on sample, CSAT > 4.4/5.

Impact on late_ret volume

Measure late_return_volume (#364) before/after bot reminder D+25. Target -20% late_ret_few_days_over tickets.

Cost of invalid RMAs avoided

Track rejected return packages in the warehouse without a valid RMA. Bot elig must reduce this volume by 30 to 50 %.

What edge cases and handoffs should be planned for?

Seven edge cases ret elig bot require handoff or special procedure.

Split shipment delivery dates

Parcel 1 D+5, parcel 2 D+28: elig by line_item delivery_date. Link split (#356).

Multi-SKU partial order

Line 1 eligible, line 2 final_sale: bot explains mix, link to partial RMA portal.

Holiday extension + late overlap

Holiday extend until Jan 31. Customer Feb 5: standard ret_elig_late, not extend.

Preorder delivered late

Deadline from actual delivery, not order date. Bot quotes tracking delivered_at.

B2B or wholesale order

return_excluded tag B2B: handoff account manager, not DTC RMA.

Customer without account, gift

Auth email recipient + gift order_id. ret_elig_gift_order rule +14 days if policy.

Parcel damage vs satisfaction return

Reason "broken package": route dmg (#363), not standard ret_elig_check.

Contest merchant_error PDP

Customer screenshot PDP 45 days vs policy 30 days: handoff ret_elig_denied supervisor, flag merchant_error.

How does Qstomy verify return eligibility?

Qstomy connects ret_elig intents to Shopify orders, Loop portals, and LATE-RET grid #364.

Return eligibility capabilities

  • ret_elig_lookup: delivery_date + window + live exclusions

  • ret_elig_gate: RET-ELIG-GATE 7 deterministic gates

  • ret_elig_rma_deep_link: pre-filled order portal

  • ret_elig_late_grille: LTV + days_over → exception or rejection

  • ret_elig_handoff: payload #364 or #10 depending on exit

Encrypted DTC Scenario

Fashion brand, 620 returns/month, 18% "am I eligible" tickets before RMA.

After Qstomy ret_elig flows: 71% self-resolved, ret_elig_bot_resolution 79%, ret_elig_false_promise 1.8%, late_ret volume -22%, CSAT 4.6/5.

Explore AI support, Shopify, request a demo.

What is the checklist for launching the RET-ELIG bot?

Eligibility Bot Checklist (10 steps)

  1. Audit elig tickets last 90 days and tag ret_elig_*

  2. Document return_window + metafields exclusions

  3. Sync delivery_date fulfillment webhook

  4. Integrate Loop/ReturnGO eligible API

  5. Index RAG policy /returns + LATE-RET #364

  6. Implement RET-ELIG-GATE section 4

  7. Configure router ret_elig_* intents

  8. Write prompt RET-ELIG-GUARD section 6

  9. Test 25 CI regression scenarios

  10. Weekly ret_elig_bot_resolution dashboard

In brief

  • #365 = return eligibility bot, not full journey (#10) nor reason collection (#138)

  • RET-ELIG-GATE: auth → SKU → date → holiday → late → exit

  • 12 intents ret_elig_*: check, late, final_sale, hygiene

  • Deterministic: LLM reformulates, does not decide eligibility

  • KPI ret_elig_bot_resolution: target > 75%

FAQ

Eligibility bot = full return bot?
No. #365 checks rules before RMA. #10 guides exchange/refund post-eligibility.

Difference with pre-qualification #138?
#138 collects reason and handoff form. #365 calculates eligibility yes/no with dates and exclusions.

Can the bot grant late exceptions?
Only if LATE-RET grid #364 is OK (LTV, days_over 1-3). Otherwise handoff to agent.

Final sale product at the portal?
Bot ret_elig_final_sale rejects with policy quotation, no RMA link.

How to test portal parity?
20 orders monthly fixture: bot eligible = portal eligible 100%.

Going further

Test mystery shop: order D+28, verify bot ret_elig_check quotes exact deadline + RMA link. Order final_sale: rejection without link.

Share this guide #365 with product and support: a well-calibrated eligibility bot prevents invalid RMAs and transforms customer doubt into a clear next step.

Enzo

August 2, 2026

Convert over 2,000 customers on average per month with Qstomy.

The world’s 1st Shopify AI dedicated to customer conversion

Empowering 200+ e-commerce merchants

Subscribe to the newsletter and get a personalized e-book!

No-code solution, no technical knowledge required. AI trained on your e-shop and non-intrusive.

*Unsubscribe at any time. We do not send spam.

Subscribe to the newsletter and get a personalized e-book!

No-code solution, no technical knowledge required. AI trained on your e-shop and non-intrusive.

*Unsubscribe at any time. We do not send spam.