E-commerce
July 1, 2026
A customer stuck on the zip code opens the chat. The widget covers the checkout button. The bot offers three paragraphs on international shipping while the customer is trying to complete their purchase. Result: abandonment, not conversion.
A well-configured AI chatbot checkout form helps with address, phone, coupon, and account fields, without covering the payment step, without collecting card details, and without turning the checkout into an endless conversation.
This guide #386 covers intents form_checkout_*, flow CHECKOUT-FORM, error triggers, and UX guardrails. It is distinct from FORM-FLOW ops (#385) (UX audit + agent macros) and generalist checkout bots: here, contextual help for form fields without disrupting payment.
Summary
Why deploy an AI chatbot on checkout forms?
Checkout form errors kill conversion in silence. Baymard estimates that 22% of abandonments come from a process that is too complicated and that inline validation reduces errors by around 22% (Baymard, checkout 2025).
Three roles of the checkout form bot
Detect input friction via checkout_error events
Guide postal code, phone, coupon format in 1-2 short messages
Escalate to agent with context if blockage persists
GetGlued estimates that a well-positioned checkout chat can increase conversions by 10 to 25% among users who interact (GetGlued, chat UX 2026).
Angle #386 vs neighboring content
#385 FORM-FLOW: UX audit, FORM-* macros. #386 = real-time bot automation.
Hidden fees (#291): fee shock shipping/taxes. #386 = input fields.
Generalist checkout questions: delivery, payment. #386 = precise form assistance.
Cart abandonment bot (#192 area): pre-email recovery. #386 = active in-session checkout.
Key principle: do not disrupt payment
Authon analyzes that 100% conversational checkouts convert up to 3× less than a structured flow: exploration in chat, transaction in form UI (Authon, chat checkout 2026).
DTC Example
Mobile-first fashion brand, 67% form difficulty (Baymard). After CHECKOUT-FORM bot: form_bot_save_rate 31%, form_error_ticket_rate -44%, checkout_mobile_completion +3.8 pts.
How does it differ from FORM-FLOW #385 and general checkout bots?
Four checkout contents, four distinct moments and deliverables.
#385 ops FORM-FLOW
Actor: CRO, dev, agents with FORM-* macros
Output: permanent UX fixes, inline validation, field audit
Timeline: 4-8 week project + residual tickets
#386 bot CHECKOUT-FORM
Actor: 24/7 AI chatbot + agent handoff
Output: postal code/phone/coupon hints, triggers 2+ errors, pre-filled ticket
Timeline: second by second during active checkout
Checkout questions bot (delivery, payment)
Answers "Do you deliver to Corsica?" or "Do you accept PayPal?". The #386 intervenes when the form rejects an entry, not on general policy.
Complementarity
Deploy #385 first (error messages, reduced fields). #386 automates help on remaining form_error typologies. Bot without UX fix = bandage on dry-broken form.
Funnel phase distinction
Oscar Chat recommends proactive cart/checkout chat for objections, but short messages and return-to-form link (Oscar Chat, conversion 2026). The #386 remains anchored to form fields, not product discovery.
Which form_checkout_* intents should the bot detect?
Twelve bot checkout form intents cover the most common entry blockages.
Twelve form_checkout intents
form_postal_help : Postal code rejected, country format
form_phone_help : +33, length, characters
form_address_autocomplete : Google Places not working
form_email_typo : suspicious domain gmail.con
form_coupon_help : invalid code, non-combinable
form_account_exists : email already in use
form_password_help : password criteria
form_vat_b2b : VIES intra-community VAT
form_required_field : misunderstood red field
form_country_change : shipping vs billing country
form_generic_error : vague "Error" message
form_payment_step_afraid : fear of entering card (guide UI, not card chat)
Trigger signals
JS event checkout_error (Shopify, custom app)
2+ errors in the same 60s session
Customer message: "postal code", "coupon", "form blocked"
Idle for 90s at address step + visible invalid field
Conversation tags
checkout_form_bot, form_bot_resolved, form_bot_handoff, form_bot_save, form_bot_rage_click. Sync helpdesk for #385 form_error_ticket_rate correlation.
Intent priority
form_postal_help and form_coupon_help = 60% of DTC FR volume. Configure MVP flows for these two intents first.
How can you structure the CHECKOUT-FORM flow in seven steps?
The CHECKOUT-FORM flow guides form help in seven short steps, without hijacking the checkout.
Seven steps CF-1 to CF-7
CF-1 Detect: error event or customer checkout message
CF-2 Identify step: address, shipping, payment (do not intervene during active payment)
CF-3 Classify intent: form_postal, form_coupon, etc.
CF-4 Short answer: 1-2 sentences + format example
CF-5 Help link: ZIP code format FAQ or coupon conditions if needed
CF-6 Check resolution: "Were you able to continue?" after 30 s
CF-7 Escalate or close: agent handoff or tag form_bot_resolved
Rule CF-2 payment step
If customer is on card iframe or Shop Pay: bot in minimal mode. Discreet message in screen corner: "Need help?" without full-screen popup. Never ask for card number in chat (PCI).
CF-4 response length
Max 280 characters per bubble. Example: "In metropolitan France, the ZIP code has 5 digits (e.g., 75011). Corsica: 20xxx." Link back to form, no re-entry in the chat.
CF-6 non-intrusive
Quick reply Yes/No only. If No after 2 hints: FORM-handoff agent handoff with step capture.
Checkout widget UX
Compact bottom-right widget, z-index below payment modal. Expand only if customer clicks. Discetely proactive after 2 errors, not upon landing on the checkout.
What can and cannot the bot do on the checkout?
The allowed vs. prohibited bot checkout matrix protects conversion and PCI compliance.
Allowed Actions
Explain zip code, phone, and email formats by country
Clarify coupon error messages (expired, cart minimum)
Guide manual entry if autocomplete fails
Offer guest checkout if account_exists is blocking
Reset password link if the email is known
Agent handoff with form_error_type + checkout_step
Reassure payment security (SSL, Shopify Payments) without collecting card details
Prohibited Actions
Collect card number, CVV, expiration date
Replace native checkout with a full purchase conversation
Full-screen popups on the payment step
Apply coupons on behalf of the customer without a click
Modify Shopify API address without explicit consent
Promise draft orders without the FORM-DRAFT #385 process
Hybrid chat + UI (Authon)
Configuration = chat. Transaction = Shopify form. The bot does not become a payment interface. "Return to checkout" button visible after each hint.
System prompt safeguards
« You help with address, coupon, and account fields. You never ask for bank details. Maximum 2 sentences per response. If 3 failures occur, human handoff. » Quarterly review.
What are the bot responses by form field type?
Templates bot answers per checkout field aligned with typologies #385 section 3.
Postal code (form_postal_help)
« Metropolitan France: 5 digits (75001). Corsica: 20000-20999. DOM: 971xx-976xx. Belgium: 4 digits. Check the country selected at the top of the form. »
Phone (form_phone_help)
« FR format: 06 12 34 56 78 or +33 6 12 34 56 78. No letters. Used by the carrier in case of delivery issue. »
Coupon (form_coupon_help)
« Code WELCOME10: -10% from €50, valid until 30/06. Cannot be combined with sales. Enter in "Promo code" before payment. » Read conditions from Shopify discount API if integrated.
Existing email (form_account_exists)
« This email already has an account. Log in or continue as a guest without a password. » Link guest checkout.
B2B VAT (form_vat_b2b)
« VAT number format FR12345678901 (11 characters). VIES verification can take 10 seconds. In case of temporary failure, try again or contact us. »
Autocomplete (form_address_autocomplete)
« Click "Enter manually" under the address field. Fill in street, postal code, and city separately. »
Generic error (form_generic_error)
« What red message do you see? Screenshot is useful. In the meantime: check mandatory fields with an asterisk. » Then handoff if vague.
Country personalization
Bot reads shipping_country Shopify session. Postal code/phone template automatically adapted FR/BE/CH/UK.
How to connect the bot to Shopify checkout events?
The Shopify checkout bot integration links error events and cart context to the chatbot.
Context Data Sources
Checkout Extensibility: UI extensions, checkout_error custom events
Script tag / pixel: listener for invalid submit on legacy themes
Shopify Cart API: country, total, applied discount codes
Session replay webhook: Clarity rage click → bot trigger
checkout_error Event Payload
Fields: error_field (postal_code, phone, discount), error_message_raw, checkout_step, shipping_country, cart_total, device_mobile, timestamp. Bot map → intent form_*.
Qstomy Webhook / Chat App
checkout_error 2× in 60 s → proactive_message CF-4 template form_postal or form_coupon. Single error → no popup, pulse icon only.
Read-Only Discount API
Bot reads active coupon rules for precise form_coupon_help. No discount writing without admin.
Staging Testing
Bogus Gateway checkout: invalid zip code, expired coupon, duplicate email. Verify trigger, response, no payment overlay.
Shop App Checkout Limitations
Shop app checkout = limited events. Web checkout bot only or deep link app support if blocked.
What triggers and timing can be used without annoying the customer?
The checkout bot timing determines whether it is a helpful tool or a nuisance that causes cart abandonment.
Five recommended triggers
T1: 2 checkout_error in the same session (discreet proactive)
T2: idle for 90 s at the address step + invalid field DOM
T3: customer opens chat + URL contains /checkout
T4: coupon fails twice (form_coupon_help message)
T5: exit intent on checkout page (1 message max, no loop)
Triggers to avoid
Immediate welcome message upon arriving at checkout (0 s)
Popup after every invalid keystroke
Sound notification on mobile checkout
Auto-open chat at the credit card step
GetGlued recommends triggers after 20-30 s of product hesitation; checkout = shorter (90 s) because purchase intent is already high.
Frequency cap
Max 2 proactive messages per checkout session. If the customer dismisses → silence until a new error occurs or the widget is clicked manually.
Mobile vs desktop
Mobile: 48px widget, 2 lines max per message. Desktop: optional sidebar without obscuring the form.
A/B test timing
Variant T1 alone vs T1+T2. Metric: form_bot_save_rate, checkout_completion, widget dismiss rate.
Which form_bot KPIs should be measured every month?
The checkout form bot KPIs link chat help, support tickets, and conversion.
Eight key metrics
form_bot_save_rate: checkout completed post-bot interaction / bot checkout sessions
form_bot_resolution_rate: resolved without handoff / form_* interactions
form_error_ticket_rate: correlation decrease vs #385 baseline
form_bot_handoff_rate: agent escalations / interactions
checkout_widget_dismiss_rate: proactive dismissals / triggers (target < 40%)
form_bot_mobile_share: % mobile sessions / total
avg_messages_to_save: bot messages before checkout OK (target < 3)
pci_violation_incidents: card entry attempts in chat (target 0)
DTC Benchmark
form_bot_save_rate 25-35%, form_bot_resolution 60-75%, form_error_ticket -40% vs pre-bot, checkout_widget_dismiss < 35%, pci_violation 0.
Weekly CRO + support dashboard
Top form_* intents, save rate by intent, handoff reasons. Oscar Chat cites 15-35% cart recovery with proactive chat; #386 targets the form_error checkout subset.
Audit 20 transcripts/month
Score: short response? return to form? no card request? no payment popup?
ROI
Checkout sessions 12k/month, 8% bot triggers, 30% save = 288 salvaged orders. AOV €65 = €18.7k/month assuming 40% margin.
Which mobile, international, and payment edge cases should be handled?
Eight bot checkout form edge cases to document in the playbook.
1. Payment error vs. address error
Customer thinks zip code is wrong, card declined. Bot form_payment_step_afraid: guide to check with bank, do not modify address 10×.
2. Shop Pay / Apple Pay
Wallet bypasses fields: minimal bot. If wallet fails, standard checkout link.
3. VPN country mismatch
form_country_change: "Shipping country = France? Change dropdown at the top."
4. Corsica zip code shipping prohibited for product
Valid zip code but SKU no-ship: bot explains product restriction, not zip code format.
5. Auto-applied + manual coupon
Stack conflict: read cart.discounts, explain non-cumulation (#385 form_coupon).
6. Customer asks to fill out form for them
Bot refuses to enter address in chat (GDPR, error). Guide field by field in the UI.
7. Partially translated checkout
EN error on FR site: bot responds in FR, reports i18n bug to dev.
8. LLM invents zip code rule
Approved templates only for form_postal. Guardrail: no free generation of formats.
Anti-patterns
100% UI-free checkout chat (Authon 3× worse)
Generalist delivery bot on form_postal
Ignoring the payment step in CF-2
No checkout return link after hint
How does Qstomy help at checkout without disrupting payment?
Qstomy on Shopify checkout: CHECKOUT-FORM with checkout_error triggers, PC/coupon/account templates, contextual agent handoff.
Qstomy CHECKOUT-FORM Capabilities
checkout_error_listen: webhook 2× error → hint
form_hint_by_country: dynamic PC/phone shipping_country
form_coupon_read: discount conditions Shopify API
form_guest_route: account_exists → guest link
payment_step_minimal: compact widget, zero PCI collect
form_handoff_context: ticket form_error_type + step + device
Addendum #385
FORM-FLOW fixes UX. Qstomy CHECKOUT-FORM assists in real-time. Combined form_error pipeline -40 to -50%.
Quantified DTC Scenario
Home decor brand, 11k checkout sessions/month mobile 72%, 86 form_error tickets/month.
After Qstomy CHECKOUT-FORM: form_bot_save_rate 33%, form_error_ticket_rate -46%, form_bot_resolution 68%, pci_violation 0, checkout_mobile_completion +3.4 pts.
Explore AI sales agent, customer support and request a demo.
What is the checklist for deploying CHECKOUT-FORM?
CHECKOUT-FORM Checklist (12 steps)
Complete audit #385 FORM-FLOW (error messages, fields)
Configure 12 form_checkout intents, section 3
Write CF-4 templates approved by CRO (PC, tel, top 3 coupon)
Connect checkout_error events to webhook
Define triggers T1-T5 + cap 2 proactive prompts/session
Activate PCI guardrails + CF-2 minimal payment step
Compact mobile widget, z-index below payment modal
Staging tests for 6 error scenarios + payment
Handoff ticket for 12 fields to FORM-* agents
Weekly form_bot KPI dashboard
Audit 20 transcripts/month for compliance
Quarterly A/B timing T1 vs T1+T2
In brief
#386 = checkout fields help bot, #385 = UX ops
CHECKOUT-FORM: detect → escalate in 7 steps
Chat config, transaction UI: do not replace checkout
Zero PCI: never card in chat
KPI form_bot_save_rate: target 25-35 %
FAQ
Difference with #385?
#385 UX audit + agent macros. #386 real-time automation bot on checkout fields.
Can the bot fill out the form?
No. It guides on formatting and explains errors. Input remains in the Shopify UI.
Proactive upon checkout arrival?
No. Trigger after 2 errors or 90s idle. Avoids Authon-style nuisance.
Is Shopify Plus required?
No for basic widget + events. Advanced Checkout Extensibility = more control over errors.
Relationship with shipping question bot?
#386 = form_postal, coupon, account. Shipping policy questions = separate intent or FAQ link.
Going further
Test staging: 2 consecutive invalid PCs, verify discrete hint, completed checkout, zero popup on card step.
Share this guide #386 with CRO and support: the right checkout bot assists input, then fades away when it's time to pay.

Enzo
July 1, 2026





