E-commerce

AI Chatbot for product trade-ins: qualify eligibility and next steps

AI Chatbot for product trade-ins: qualify eligibility and next steps

July 1, 2026

"Will my iPhone 12 be accepted for trade-in?" "How much for my headphones in good condition?" "I have photos, what should I do next?" Three messages where a trade-in program without pre-qualification bot saturates the customer support and discourages customers even before the product is sent.

A product trade-in e-commerce AI chatbot does not replace TRADE-FLOW agents (#413). It reads TRADE-MAP, guides model and condition eligibility, collects structured photos, estimates credit range and routes to submission form.

This guide #414 covers intents bot_trade_in_*, flow TRADE-BOT and KPI trade_in_bot. Distinct from trade-in customer support (#413) and support return bot: here, AI use case upstream trade-in qualification and circular commerce.

Summary

Why does qualifying trade-ins upfront reduce support tickets?

An avoidable trade-in ticket arises when the customer sends a non-eligible product or overestimates its condition due to a lack of clear information before submission.

Five botifiable trade-in ticket triggers

  • Model eligibility: model rejected, customer discovers after shipping

  • Incorrectly declared condition: excellent promised, fair found upon inspection

  • Unclear process: no photos, no shipping label, no serial number

  • Return process confusion: customer opens RMA instead of a trade-in

  • Expired quote: late shipment without offer renewal

Circularity is progressing in DTC: tech upgrade trade-ins and textile take-backs are multiplying voluntary programs (EU Commission, textiles 2026). Tidio observes that a trade-in pre-qualification bot reduces eligibility tickets by 35-50% on tested brands (Tidio, chat stats 2026).

Angle #414 vs related content

DTC Example

Tech accessories, 220 trade-ins/month, 31% eligibility tickets before bot. After TRADE-BOT: trade_in_bot_resolution 78%, trade_in_rejection_dispute -38%, trade_in_submission_complete +22%.

Upstream vs downstream

#414 qualifies and submits. #413 resolves inspection disputes and missing credit. Complementary pipeline.

Avoided eligibility ticket cost

1 avoided trade_in_eligibility ticket = €6-12 in ops. Bot ROI is positive starting at 40 sessions/month for an active program.

How does TRADE-BOT differ from the after-sales service bot?

Trade-in trade-in and warranty returns: two chat intents, two distinct guardrails.

Bot → role matrix

  • #414 TRADE-BOT: model eligibility, condition, photos, quote range

  • return eligibility bot: right of withdrawal, new return window

  • #413 TRADE-FLOW: reject dispute, missing credit post-inspection

  • return prequal bot: warranty new product defect photos

Upstream router

Message contains "reprise", "trade-in", "ancien modèle", "rachat", "bon d'achat reprise" → TRADE-BOT. "Retourner ma commande", "produit cassé neuf", recent order → return bot. Ambiguity: TB-2 clarify intent 1 question.

TRADE-BOT Data

TRADE-MAP JSON #413: eligible_models, condition_tiers, credit_range, binding_window. Trade-in API app if connected. No Shopify order required pre-submit.

UX Coexistence

Widget /pages/trade-in + PDP trade-in badge. Max 8 qualification turns then form CTA. Do not mix RMA return flow in same session.

Promise #414

TRADE-BOT Policy, 12 bot_trade_in_* intents, flow TB-1 to TB-8, guardrails no invent credit, KPI trade_in_bot_*.

Circular commerce LTV

Bot upgrade flow: qualified trade-in customer + new cart = LTV conversion. Track trade_in_submission_complete with same session order.

Which bot_trade_in_* intents should be configured?

Twelve trade-in recovery bot intents cover upstream qualification.

Twelve bot_trade_in intents

  1. bot_trade_in_eligibility: model accepted? series, year

  2. bot_trade_in_condition_tiers: excellent / good / fair criteria

  3. bot_trade_in_valuation_range: credit range according to declared tier

  4. bot_trade_in_photo_guide: which photos to send, angles

  5. bot_trade_in_serial_check: where to find serial, expected format

  6. bot_trade_in_submit_form: form link, required fields

  7. bot_trade_in_vs_return: trade-in vs after-sales return redirect

  8. bot_trade_in_upgrade_flow: trade-in + simultaneous new purchase

  9. bot_trade_in_data_wipe: electronics factory reset pre-send

  10. bot_trade_in_status_lookup: submitted trade_in_id, TR-4 pipeline

  11. bot_trade_in_expired_offer: expired quote, renew

  12. bot_trade_in_post_reject: handoff #413 TRADE-FLOW dispute

Session tags

trade_in_bot, trade_in_bot_eligibility, trade_in_bot_submitted, trade_in_bot_handoff, trade_in_bot_resolved. Distinct return_bot, deposit.

Triggers T1-T5

T1: /pages/trade-in dwell 30 s+. T2: keyword trade-in/buyback. T3: PDP badge "Trade-in" click. T4: trade_in_id post-submit message. T5: reject dispute keyword → handoff #413.

How to apply the TRADE-BOT flow in eight steps?

The TRADE-BOT flow guides the grounded TRADE-MAP trade-in qualification.

Eight steps TB-1 to TB-8

  1. TB-1 Welcome: "Let me check if your product is eligible for trade-in."

  2. TB-2 Intent clarify: trade-in vs after-sales return if ambiguous

  3. TB-3 Model collect: model, series, serial number if electronics

  4. TB-4 Eligibility match: TRADE-MAP eligible_models lookup

  5. TB-5 Condition quiz: condition checklist → excellent/good/fair tier

  6. TB-6 Valuation range: credit_range tier from TRADE-MAP, binding disclaimer

  7. TB-7 Photo guide + CTA: photo angles + submit form link

  8. TB-8 Close/handoff: status lookup | reject dispute → #413

TB-4 model reject

Model not in TRADE-MAP: "Currently not eligible. Accepted models: [list]. Textile takeback program: [link] if applicable." Do not encourage sending.

TB-5 condition quiz

3-5 binary questions: cracked screen? Functional? Accessories included? Score → tier. If reject criteria (broken screen phone): stop, explain no trade-in.

TB-6 valuation disclaimer

"Indicative range [min-max] € if [tier] condition is confirmed upon inspection. Firm offer after photo validation within [binding_window] days." Exact amount never guaranteed by bot.

TB-8 status_lookup

Client mentions trade_in_id: read app API pipeline received|inspecting|accepted|rejected|credited. Template TRADE-STATUS-01 #413. Reject dispute → handoff TR-6 agents.

Textile takeback shortcut

trade_in_takeback: TB-4 skip serial, TB-5 simplified 2 questions weight/min qty. Fixed range TRADE-MAP takeback_textile.

Which TRADE-BOT policy should be documented?

The TRADE-BOT trade-in policy bot governs promises and data sources.

Eight TRADE-BOT rules

  1. TRADE-MAP only: eligibility and credits from JSON #413, no LLM guess

  2. Range not exact: tier estimate range, never a firm "you will receive €80"

  3. Binding disclaimer: final inspection, customer photos vs warehouse

  4. No credit issue bot: credit issuance TR-7 agents #413 only

  5. No reject override bot: inspection dispute → human handoff

  6. Structured photo collection: checklist angles, no storage without consent

  7. vs return redirect: bot_trade_in_vs_return mandatory if new order mentioned

  8. Max 8 turns pre-submit: then form CTA, no qualification loop

RAG source corpus

/pages/trade-in, TRADE-MAP JSON, TRADE-SUP policy #413, TRADE-WIPE-01 data reset guide. Do not invent models missing from the map.

Ops sync

Update TRADE-MAP #413 → bot glossary same day. Audit transcripts for false eligibility promises.

Monthly review

Support + ops: rejection reason codes → update TB-5 quiz questions if there is a recurring pattern.

CNIL photo consent

TB-7 form redirect: consent checkbox for inspection photo upload. Chat bot does not store images by default.

What guardrails prevent the bot from over-promising?

The allowed vs. forbidden trade-in bot matrix protects trust and ops.

Allowed bot actions

  • Lookup TRADE-MAP eligible_models, tiers, credit_range

  • Run TB-5 condition quiz → tier suggestion

  • Cite valuation range min-max per tier

  • Guide photo angles + serial location

  • Link formulaire submit + /pages/trade-in

  • TRADE-WIPE-01 data reset guide electronics

  • Status lookup trade_in_id if API connected

  • Handoff #413 reject dispute, credit missing SLA

Forbidden bot actions

  • Promise exact credit without inspection

  • Accept model missing from TRADE-MAP

  • Issue store credit or Shopify voucher

  • Overturn rejection inspection ops

  • Open return RMA instead of trade-in

  • Collect serial for fraud block without handoff

Hard block phrases

Block: "guaranteed €120", "accepted without verification", "same refund as new". Use: "according to TRADE-MAP tier [X]: range [min-max] € after inspection".

Tier downgrade expectation

TB-6 always cite: inspection can adjust tier. Link TRADE-PARTIAL-01 #413 if customer insists on accuracy.

Fraud serial duplicate

TB-3 serial match API duplicate → stop bot, handoff trade_in_fraud_suspect #413. Do not continue qualification.

How to integrate TRADE-MAP #413 and the trade-in app?

The Shopify trade-in bot integration combines TRADE-MAP and a partner app.

TRADE-MAP bot layer fields

  • eligible_models: SKU list or serial regex

  • condition_tiers: excellent/good/fair/reject criteria

  • credit_range: min-max € per tier

  • binding_window_days: quote validity post-submit

  • photo_requirements: mandatory angles per category

Notion sync JSON import #413 (Shopify, metafields 2026 if catalog is linked).

Trade-in app API

Recommerce, custom app: bot_trade_in_status_lookup read pipeline TR-4. bot_trade_in_submit_form deep link pre-fill model + tier from session.

Photo upload flow

TB-7: customer upload via app form, not chat attachment (PII heavy). Bot guides text angles + example images /pages/trade-in.

Upgrade + cart context

bot_trade_in_upgrade_flow: logged-in + new cart SKU → explain post-inspection credit apply checkout. No auto bot checkout hold.

Serial verification pre-check

bot_trade_in_serial_check: format validation regex. Duplicate serial flagged → fraud handoff #413.

Form pre-fill session

TB-7 form deep link: model, tier, session_id bot log. Ops views declared tier vs inspection.

What triggers and UX for TRADE-BOT?

The UX TRADE-BOT deployment maximizes qualified submissions without friction.

Five widget placements

  • /pages/trade-in: proactive T1 after dwell

  • New PDP: T3 badge "Trade-in old model"

  • Footer link trade-in program: T2 keyword entry

  • Post-submit confirmation: T4 status compact FAQ

  • Account portal trade-in: trade_in_id lookup

TB-5 mobile quiz UX

Yes/No buttons per question. Progress bar 3/5. No free-text for condition (LLM drift). Deterministic score → tier.

Return bot coexistence

Intent router upstream. Session trade_in_bot tag lock: no return switch mid-flow without TB-2 reset.

Proactive PDP

"Trade-in up to [max tier excellent] € · Check eligibility" CTA opens widget TB-1.

A/B test

T1 proactive /pages/trade-in vs passive: measure trade_in_submission_complete + rejection_dispute delta 4 weeks.

Multilingual FR default

EU Markets: TRADE-MAP labels FR source. Bot references /pages/trade-in locale if exists.

Expired offer renewal

bot_trade_in_expired_offer: TB-3 re-run quiz if binding_window has expired. New range TRADE-MAP current, do not honor old quote.

Which trade-in bot KPIs should be measured?

The trade-in recovery bot KPIs link qualification and submission quality.

Eight key metrics

  • trade_in_bot_resolution_rate : resolved without handoff / trade_in_bot sessions

  • trade_in_submission_complete : bot session → form submitted / bot sessions eligibility OK

  • trade_in_rejection_dispute_delta : decrease in disputes vs pre-bot baseline

  • false_eligibility_promise : bot accept audit vs TRADE-MAP (target 0)

  • trade_in_ticket_eligibility_delta : decrease in tickets #413 eligibility

  • trade_in_bot_intake_complete : model+tier+photos guide OK / sessions

  • trade_in_vs_return_misroute : corrected sessions TB-2 / ambiguous sessions

  • trade_in_bot_csat : trade_in_bot tag satisfaction

DTC Benchmark

trade_in_bot_resolution 72-82%, submission_complete 25-40% eligibility OK sessions, rejection_dispute_delta -30-45%, false_eligibility_promise 0.

Weekly dashboard

Intent breakdown, tier distribution quiz, handoff #413 rate, model reject top list → TRADE-MAP gap.

Transcript audit

20 sessions/month : verify TB-4 match TRADE-MAP, TB-6 range not exact promise, binding disclaimer present.

Tier accuracy track

Correlate tier bot quiz vs tier inspection ops. Gap > 15% → update TB-5 questions wording.

Which anti-patterns should be avoided on trade-in bots?

Ten bot trade-in anti-patterns to ban.

1. LLM invents eligible model

TB-4 TRADE-MAP lookup mandatory. false_eligibility_promise incident.

2. Exact credit guaranteed by bot

Range only TB-6. Final inspection #413.

3. Ignore vs return confusion

bot_trade_in_vs_return + TB-2 if new order cited.

4. 15-turn qualification conversation

Max 8 turns rule. TB-7 form CTA.

5. Stale TRADE-MAP vs ops

Bot quotes €80 max, TRADE-MAP updated €60. Weekly Notion sync.

6. Bot issues store credit

TR-7 agents only. Bot handoff credit_missing.

7. Chat attachment photos without consent

Redirect to app upload form. GDPR photo storage policy.

8. Skip electronic data wipe

bot_trade_in_data_wipe mandatory pre-TB-7 submit phone/laptop.

9. Reject dispute bot argue

bot_trade_in_post_reject immediate handoff #413 TR-6.

10. Missing /pages/trade-in link in TB-7

Self-service gap. TRADE-SUP #413 prerequisite.

11. Free-text condition quiz

Customer "almost new" → LLM tier drift. TB-5 binary deterministic.

12. Marketing max € without tier

PDP "up to €120": bot TB-6 explicitly cites excellent tier. Align with TRADE-MAP ranges campaign.

How does Qstomy qualify product returns?

Qstomy on Shopify: TRADE-BOT TRADE-MAP lookup, condition quiz TB-5, valuation range TB-6, photo guide TB-7, status API lookup, handoff TRADE-FLOW #413 reject and credit.

Qstomy trade_in bot capabilities

  • trade_in_map_lookup: TB-4 eligible_models tiers

  • trade_in_condition_quiz: TB-5 deterministic tier

  • trade_in_range_render: min-max disclaimer FR

  • trade_in_photo_guide: angles + form CTA

  • trade_in_no_invent_guard: hard block without TRADE-MAP

  • trade_in_handoff_413: reject dispute, credit SLA breach

Pipeline #414 → #413

Upstream qualification bot. Downstream agents inspection disputes. Shared TRADE-MAP Notion single source. Return bot parallel distinct intent router.

Quantified DTC Scenario

Tech accessories 220 trade-ins/month, 31% tickets eligibility baseline.

After Qstomy TRADE-BOT: trade_in_bot_resolution 79%, trade_in_rejection_dispute_delta -41%, trade_in_submission_complete +24%, trade_in_bot_csat 4.2/5.

Explore customer support and request a demo.

Bot vs agents routing

Qstomy routes bot_trade_in_eligibility and valuation to TB-4/TB-6. bot_trade_in_post_reject and credit_missing → immediate handoff TRADE-FLOW #413.

What is the checklist for deploying TRADE-BOT?

TRADE-BOT Checklist (12 steps)

  1. Validate TRADE-SUP #413 + TRADE-MAP published /pages/trade-in

  2. Export TRADE-MAP JSON → bot glossary

  3. Configure 12 intents bot_trade_in_* section 3

  4. Implement flow TB-1 to TB-8 + deterministic quiz TB-5

  5. Enable guardrails range not exact + no credit issue

  6. Route upstream vs return bot + deposit #412

  7. Placements widget /pages/trade-in + PDP badge T3

  8. Triggers T1-T4 + handoff #413 fields TB-8

  9. Staging tests 8 scenarios: eligible, reject model, tier downgrade expect, vs return, status, reject handoff

  10. Photo guide assets /pages/trade-in examples

  11. Weekly trade_in_bot KPI dashboard + audit transcripts

  12. A/B T1 proactive vs passive 4 weeks

In brief

  • #414 = upstream trade-in bot, #413 downstream agents

  • TRADE-MAP grounded: zero eligibility invention

  • TRADE-BOT: model → tier → range → photos → submit

  • Range not exact: always final inspection

  • KPI trade_in_submission_complete: measure successful qualification

FAQ

Difference with #413?
#413 post-submission trade-in disputes customer service. #414 bot qualifies eligibility and upstream photos.

Difference with return bot?
Return = new product, recent order. Trade-in = old product, circularity program.

Does the bot issue the voucher?
No. Form submit + ops inspection. Agent credit TR-7 #413.

Photos in chat?
Bot guides angles. Upload via app form, not default chat attachment.

Loyalty relationship?
Trade-in credit distinct from points. Document TRADE-MAP accumulation. Bot quotes policy if asked.

Going further

This week: sync TRADE-MAP bot, configure quiz TB-5 staging, test 5 eligible/reject models, enable widget /pages/trade-in T1.

Share this guide #414 with circularity ops and support: qualifying upstream costs less than a rejected package and a credit dispute.

Trade-in + new purchase in same session?
bot_trade_in_upgrade_flow explain post-inspection credit. New checkout possible in parallel, credit apply after.

Enzo

July 1, 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.