E-commerce
June 28, 2026
"How much is shipping to Belgium?" "Delivered before Saturday if I order now?" "Is return shipping free from Switzerland?" These questions arrive on the product page, the cart, Instagram. Your agents answer them twenty times a day with slightly different copy-pastes.
Baymard estimates that 48% of cart abandonments come from extra costs including shipping, and 23% from perceived delivery times being too long (Shopify, cart abandonment 2025).
This guide #203 formalizes the AI chatbot shipping questions: intents, data, zones, exceptions. Distinct from pre-checkout shipping questions (#24) (global UX method) and WISMO bot (#184): here, conversational automation shipping pre-purchase.
Summary
Why automate delivery questions with an AI chatbot?
The delivery help chatbot addresses the objection before it becomes a ticket or a cart abandonment.
The cost of a late response
Abandonment: shipping costs discovered at checkout (48% Baymard)
Tickets: 15-25% of pre-purchase contacts are about delivery (typical DTC)
Inconsistency: agent A says 3 days, agent B says 5 days
Peak load: BFCM, sales, carrier weather
InsiderOne notes that a modern shipping bot calculates delivery windows by postal code and reads carrier rules in real-time (InsiderOne, chatbots 2026).
Engaige distinguishes between an informative chatbot (which answers) and an agent (which acts). For pre-purchase delivery questions, answering with live data is enough; changing an order falls under WISMO (#184).
How does it differ from existing shipping guides?
Four related pieces of content, four roles.
Pre-checkout questions (#24)
Pre-checkout (#24) covers display of fees, delivery times, and returns on the PDP and cart. #203 details the shipping bot architecture: intents, data, exceptions.
WISMO Bot (#184)
Tracking bot (#184) deals with orders already placed. #203 comes into play before payment.
Cart page (#159)
Anti-support cart (#159) optimises the static UX. #203 adds the dynamic conversational layer.
Dynamic estimation
Dynamic delivery estimation displays a widget date. #203 answers questions in natural language.
Free shipping support (#303)
Customer service free shipping (#303): fshp_* intents, shipping disputes, promos. #203 covers pre-purchase ship_free_threshold; #303 covers exceptions and refunds.
Promise #203
Intent taxonomy, data sources, zone calculation, exceptions, funnel placement, shipping conversion KPIs.
Which delivery questions should the bot cover?
Mapping the delivery question intents avoids a catch-all or incomplete bot.
Top 12 pre-purchase intents
ship_cost: fees to [country/postcode]
ship_free_threshold: free shipping, remaining amount
ship_eta: delivery date if ordered today
ship_express: express option, extra cost, cutoff
ship_zone: do you deliver to [country]?
ship_relay: pick-up point, Mondial Relay, locker
ship_click_collect: store pickup
ship_return_policy: returns, timeframe, return shipping costs
ship_heavy: furniture, pallet, upper floor
ship_preorder: lead time for pre-orders
ship_gift: gift wrapping, different address
ship_customs: customs duties, import VAT
Quick Mining
Export Gorgias tickets for last 90 days, filter by keywords: delivery, shipping, cost, delay, Colissimo. Group into intents. Prioritize top 6 covering 80% of volume.
What data should be connected to respond in real time?
A shipping bot without live data recites an obsolete PDF policy.
Mandatory Shopify Sources
Shipping profiles: zones, rates, weight
Markets: countries served, currencies, incoterms
Inventory location: shipping warehouse, cutoff
Product weight: heavy package rate impact
Complementary Sources
Carrier API: Colissimo, Chronopost ETA (ShippyPro, Sendcloud)
Help hub: return policy, product exceptions
Product metafields: oversize, fragile, pre-order
Ops calendar: public holidays, warehouse closure
Shopify Help: shipping zones define rates by region (Shopify, shipping rates).
How to structure shipping conversational flows?
Each delivery flow bot follows a question → data → price answer → CTA logic.
Flow ship_cost (example)
Bot detects intent or question "how much is delivery"
Asks for country or postal code if missing from cart context
Reads shipping profile + current cart weight
Calculates remaining amount for free shipping if threshold is active
Responds: "Standard delivery to Belgium: €6.90. Only €12 more for free shipping."
CTA: cart or checkout link
Flow ship_eta
Input: postal code + current time + warehouse cutoff (e.g., 2 p.m.). Output: "Ordered before 2 p.m.: shipped today, delivered Thursday, April 3." Always concrete date, not vague "3-5 business days" (Baymard recommends exact date).
Answer rule
Numbers + policy in 3 lines max. Link to help hub for details. Offer handoff if question is outside the section 7 matrix.
How do I calculate delivery times and shipping costs by zone?
The delivery calculation bot relies on deterministic rules, not on an LLM estimation.
DTC FR zone type matrix
Metropolitan France: Colissimo €3.90 / 2-3 business days
Corsics: +2 days, Shopify profile additional cost
EU: €8-12 / 4-7 days depending on the country
DOM-TOM: on quote or dedicated flat rate
Outside EU: DHL + customs mention
Free shipping formula
Remaining for free shipping = threshold - cart total. If cart is empty: display threshold only. If < €5 remaining: highlight ("Add an €8 accessory, free shipping").
Dynamic cutoff
If time > cutoff: "Shipping tomorrow, delivery [date+1 transit]." Weekend: skip Saturday/Sunday warehouse closed. Cross-reference with delivery times communication.
How to manage zones, exceptions, and complex cases?
Shipping bot exceptions require a handoff or a cautious response, never invention.
Oversize / fragile products
Metafield ship_class = heavy: "This sofa requires delivery by appointment. Delivery time 10-15 days. We will contact you within 48 hours for a slot." See fragile products.
International and customs
Intent ship_customs: "Outside the EU: import duties and VAT may apply depending on your country. Indicative amount not guaranteed." Link to international Markets.
Click and collect
Intent ship_click_collect: store inventory, 2-hour pickup time, boutique address. Click and collect.
Pre-order
Future shipping date from metafield or preorder tag. Never promise a standard ETA. Pre-order support.
Handoff threshold
Volume B2B, military address, inaccessible island, freight negotiation request: human with cart context.
Where should the shipping bot be placed in the customer journey?
The delivery bot placement changes the usage rate.
Product page
Nudge "Delivery in [detected country]: [fees] · [date]" + "Delivery question?" button. High-priority ship_cost and ship_eta intents.
Cart page / cart drawer
Trigger if 30s without checkout + shipping block visible. Bot offers free shipping threshold calculation. Complements cart UX (#159).
Checkout (Shopify Plus)
Checkout extension: delivery assistance widget without leaving the funnel. Reduces "fee surprise" abandonment.
Instagram / WhatsApp
Same corpus of intents, adapted to a shorter tone. Ask for product link or SKU for precise calculation.
What limits and escalations should be planned for?
A shipping bot must know when not to answer with certainty.
Bot-only prohibitions
Promise guaranteed date: always "estimated"
Modify B2B negotiated rate: human
Post-purchase delay compensation: WISMO (#184)
Lost package: lost package procedure (#202)
Mandatory disclaimers
"Indicative deadlines according to carrier. Fees calculated for current cart, subject to change if items are added." Align bot and policy page to avoid contradictory answers.
Sync policy
Monthly review: Shopify shipping profiles vs bot corpus. Alert if Shopify rate is modified without KB update.
Which KPIs should be measured for the delivery questions bot?
Measure the shipping questions bot on conversion, not just ticket deflection.
Conversion KPI
Chat-to-checkout: % of shipping bot sessions → checkout start
Shipping objection abandonment: ship_cost tickets / orders
Post-free shipping nudge average order value: AOV lift when bot mentions threshold
Bot quality KPI
Intent match rate: correct intent detected
Shipping handoff rate: < 15% if comprehensive corpus
Shipping intent CSAT: target > 4.3/5
A/B Test
50% PDP with self-service shipping bot, 50% without. Duration 4 weeks. Metric: add-to-cart and checkout completion. Ecommerce Times recommends piloting a workflow for 30 days before scaling (Ecommerce Times, agents 2026).
How does Qstomy answer shipping questions?
Qstomy connects shipping intents to the Shopify catalog and cart context.
Shipping Questions Features
12 shipping intents: section 3, extensible
Live calculation: fees, free shipping threshold, ETA by postal code/country
PDP/cart context: weight, products, Markets
Metafields exceptions: heavy, preorder, fragile
Targeted handoff: B2B, complex customs, dispute
Quantified DTC Scenario
Cosmetics brand, 1,100 tickets/month, 22% of which are pre-purchase shipping, inconsistent agent responses. Deployment of Qstomy ship_cost + ship_eta + ship_free_threshold flows on PDP and cart. After 8 weeks: pre-purchase shipping tickets -41%, bot chat-to-checkout sessions +18%, AOV + free shipping nudge +6.50 €, shipping bot CSAT 4.5/5.
Explore Shopify integration, AI customer support, request a demo.
Which operational playbooks should be launched in 30 days?
Playbook 1: shipping tickets audit (1 d)
Export 90 days Gorgias, top delivery verbatims. Map to 12 intents in section 3. Prioritize top 6.
Playbook 2: sync Shopify data (2 h)
Check shipping profiles, Markets, ship_class metafields. Document the zone matrix section 6 in Notion.
Playbook 3: draft response templates (3 h)
1 template per top 6 intent. Variables: {cost}, {eta}, {franco_remaining}, {country}. Test on 20 real questions.
Playbook 4: PDP + cart placement (1 d)
Bot widget + shipping nudge. Triggers in section 8. Mobile test.
Playbook 5: KPI baseline W+4
Shipping tickets dashboard, chat-to-checkout, handoff rate. Monthly sync policy review.
Useful links
Answering "how much and when?" before checkout means removing the main invisible objection from the cart.

Enzo
June 28, 2026





