E-commerce
July 1, 2026
“Why did my total jump by €22 at checkout?” “The chat says free shipping but I'm still paying €8.” “What is this handling line, nobody warned me?” Three messages where additional fees poorly explained before payment kill conversion or create a customer service ticket as soon as the order is placed.
An e-commerce additional fees AI chatbot does not replace the handling-fee agents policy (#410). It reads Shopify basket, shipping rates, handling FEE-MAP and service options, explains the VAT-included breakdown before checkout, and reduces abandonment at the fees step.
This guide #411 covers intents bot_add_fee_*, flow FEE-BOT and KPI add_fee. Distinct from handling customer service (#410) and the form bot (#386): here, AI use case for cart/checkout fees transparency and abandonment prevention.
Summary
Why do additional fees cause checkout abandonment?
An abandonment at the fee checkout step occurs when the customer discovers unanticipated shipping, handling, insurance, or customs duties between the cart and payment.
Five fee abandonment triggers
Total shock: +€15-30 vs estimated cart
Misleading free shipping: "free delivery" but handling remains
Opaque lump sum: an all-inclusive "Shipping €24.90" line item
International duties: poorly understood DDP vs DDU
Service add-on: gift wrap, insurance checked by default
Baymard estimates that 48% of cart abandonments are linked to perceived high or unexpected additional costs (Baymard, 2026 abandonment). Tidio observes that a pre-checkout bot explaining fees reduces shipping step abandonment by 12-18% on tested DTC websites (Tidio, chat stats 2026).
Angle #411 vs related content
Handling #410: post-purchase HAND-FLOW agents. #411 = bot upstream of cart/checkout.
Hidden fees #291: abandonment ops view. #411 = chat automation explanation.
Checkout form bot #386: address fields/coupon help. #411 = breakdown of fees, not ZIP code/phone number.
Shipping #204: educational shipping content. #411 = live cart-grounded rates.
Shipping bot #203: general shipping FAQ. #411 = itemized total fees for this specific cart.
DTC Example
Furniture + fragile mix, checkout shipping abandonment 31%. After FEE-BOT: fee step abandonment -16%, add_fee_bot_cart_save 14%, post-purchase handling tickets -38%.
Upstream vs downstream
#411 prevents surprise. #410 resolves post-purchase disputes. Complementary pipeline.
Avoided ticket cost
1 avoided post-purchase handling ticket = €8-15 ops. Bot cart save ROI positive starting from 50 sessions/month with active fees.
How does FEE-BOT differ from form bot #386?
Checkout chat: two intents, two distinct UX guardrails.
Bot checkout matrix → role
#411 FEE-BOT: "why this total?" fee breakdown
#386 CHECKOUT-FORM: PC error, coupon, account
#203 ship FAQ: general zone delays
#410 HAND-FLOW: post-order fee dispute
Upstream cart router
Message contains "fee", "handling", "total", "how much shipping" + cart context → FEE-BOT. "Invalid postal code", "coupon" → #386. "Belgium delivery time" without cart → #203.
UX coexistence
FEE-BOT: compact widget cart/checkout shipping step. No payment step overlay (#386 PCI rule). Max 3 fee explanation messages then checkout CTA.
FEE-BOT Data
Cart API: line_items, subtotal, shipping_line drafts, discount_codes, FEE-MAP #410 triggers, Markets country.
Promise #411
Policy ADD-FEE bot, 12 bot_add_fee_* intents, FEE-BOT flow, no-invent guardrails, add_fee_* KPIs.
Which bot_add_fee_* intents should be configured?
Twelve additional fresh bot intents cover cart and checkout shipping step.
Twelve bot_add_fee intents
bot_add_fee_total_breakdown: "why this total?" itemized
bot_add_fee_shipping_estimate: shipping for this cart + address
bot_add_fee_handling_explain: handling FEE-MAP #410
bot_add_fee_free_shipping_check: free shipping reached? handling remains?
bot_add_fee_service_optional: gift wrap, optional insurance
bot_add_fee_duties_preview: DDP/DDU Markets estimate
bot_add_fee_discount_impact: coupon vs shipping/handling
bot_add_fee_remove_option: how to uncheck service fee
bot_add_fee_compare_threshold: "how much for free shipping?"
bot_add_fee_pdp_preview: fee on SKU before adding to cart
bot_add_fee_abandon_recovery: trigger exit shipping step
bot_add_fee_post_purchase: reroute HAND-FLOW #410 if order_id
Session tags
add_fee, add_fee_cart, add_fee_checkout, add_fee_bot_resolved, add_fee_handoff. Distinct form_checkout, handling_post.
Triggers T1-T5
T1: cart page dwell 45 s+ shipping section visible. T2: message keyword fees/shipping/handling. T3: checkout shipping step error/abandon webhook. T4: PDP "shipping fees?" with SKU context. T5: post-purchase fee dispute → handoff #410.
How to apply the FEE-BOT flow in eight steps?
The FEE-BOT flow guides the grounded cart data fee explanation.
Eight steps FB-1 to FB-8
FB-1 Short intro: "I am detailing the fees of your cart."
FB-2 Cart context: cart_id/token or logged-in session read-only
FB-3 Address collect: Zip/country if shipping estimate needed
FB-4 Calculate: shipping rates API + FEE-MAP handling + services
FB-5 Classifier: intent bot_add_fee_* section 3
FB-6 Explain: template itemized breakdown EN
FB-7 CTA: "Continue checkout" | "Add [X] € for free shipping"
FB-8 Close/handoff: /pages/fees link | order dispute → #410
FB-6 template breakdown
"Your cart: Subtotal [X] € · Shipping [Y] € ([carrier]) · Handling [Z] € ([reason FEE-MAP]) · Total [T] € incl. VAT. Free shipping from [threshold] € (handling may apply)."
FB-7 compare_threshold
Subtotal 82 €, free shipping threshold 90 €: "Add 8 € for free shipping. Handling [Z] € if SKU trigger remains."
FB-8 post_purchase
If customer mentions post-pay order: reroute HAND-FLOW #410, do not recalculate cart. Bot does not refund.
FB-3 address minimal
Collect Zip + country only for rate calc. No full address in bot (privacy + friction). Guest cart token sufficient.
Which ADD-FEE policy should be documented?
The ADD-FEE additional fees bot policy governs promises and data sources.
Eight ADD-FEE bot rules
Cart API only: fee amounts from Shopify calc, no LLM guess
FEE-MAP sync #410: handling explanations from Notion glossary
Itemized always: never lump sum "fee €24" without detail
Franco scope: explicit shipping vs handling distinction
Estimate disclaimer: duties DDU "estimated", DDP "included" if Markets
No refund bot: post-purchase → handoff agents #410
PCI step payment: minimal bot or hidden card step (#386 align)
Max 3 turns fee: then CTA checkout, no conversation loop
RAG corpus sources
/pages/fees, FEE-MAP JSON, shipping policy #204, HANDLING-FEE #410 macros HAND-EXPLAIN. Do not invent fees missing from cart calc.
Stale rates
FB-4 live API each session. Cache cart fees < 5 min max. Address change → recalc.
Monthly review
Ops update FEE-MAP → bot glossary same day. Audit transcripts false fee promise.
What guardrails prevent the bot from lying about fees?
The allowed vs forbidden bot fees matrix protects conversion and compliance.
Allowed bot actions
Read cart subtotal, lines, discounts, shipping lines draft
Call Shopify shipping rates API with address PC/country
Apply FEE-MAP handling calc per line triggers
Explain service fees optional unchecked by default
Cite free shipping threshold from shop settings
Link /pages/fees + PDP fee badges
Proactive T3 abandon recovery 1 message
Handoff #410 ticket if post-purchase dispute
Forbidden bot actions
Invent shipping rate without API calc
Promise "completely free" if handling applies
Modify cart prices, discounts, fees
Refund or waive fee auto post-order
Collect payment card data
Overlay widget step payment PCI
Hard block phrases
Block if cart calc empty: "guaranteed free shipping", "no hidden fees" absolutes. Use "based on your current cart: [breakdown]".
Mismatch cart vs message
Client quotes €6.90, API says €9.90: cite API timestamp, suggest refreshing cart.
How to integrate Shopify cart and FEE-MAP #410?
The Shopify fee bot integration combines Cart API and FEE-MAP handling.
Read-only cart fields
line_items: sku, weight, fragile/oversize tags
subtotal_price: free shipping comparison
discount_codes: shipping impact?
shipping_address: country, zip if set
cart_level fees: apps checkout fee lines
Storefront Cart API + Admin shipping zones (Shopify, Cart API 2026).
FEE-MAP bot layer
Import JSON #410: trigger rules → handling amount sum cart. Merge into FB-6 breakdown line "Handling".
Markets duties
bot_add_fee_duties_preview: Markets DDP badge if enabled. DDU disclaimer estimate range, link customs FAQ #65.
Service fees apps
Gift wrap checkbox cart: bot_add_fee_service_optional explain opt-in. Flag if pre-checked (anti-pattern #291).
PDP preview mode
bot_add_fee_pdp_preview: single SKU + default address FR → handling + ship estimate range.
Cart transform webhook
On line add/remove: invalidate fee cache. Next bot message recalc FB-4 fresh.
What triggers and checkout UX for FEE-BOT?
The UX FEE-BOT deployment maximizes frictionless cart save PCI.
Five widget placements
Cart drawer: compact "Fee details" link
Cart page: proactive T1 after dwell
Checkout shipping step: T3 abandon intent
PDP: "Estimate fees" bot_add_fee_pdp_preview
Hidden payment step: widget off (#386 rule)
T3 abandon recovery
Checkout analytics exit shipping step: 1 proactive "Need help with fees?" Max 1/session. Measure add_fee_abandon_recovery convert.
Mobile compact
Breakdown bullet list 4 lines max. Expand "See details" /pages/fees. No Baymard wall of text anti-pattern.
Coexistence #386
Same widget, intent router. Checkout form error → #386 takes over. Cart fee question → #411. No dual bot messages.
A/B test
T1 proactive cart vs passive: measure abandon step fee + add_fee_bot_cart_save 4 weeks.
Shopify checkout extensibility
Checkout UI extensions: native inline fee breakdown + bot fallback chat. Document stack in ADD-FEE policy rule 1.
Which add_fee bot KPIs should be measured?
The additional fee bot KPIs link transparency and conversion.
Eight key metrics
add_fee_bot_resolution_rate: resolved without handoff / add_fee sessions
add_fee_bot_cart_save: bot sessions → checkout complete / bot sessions cart
abandon_fee_step_delta: drop in shipping step abandonment vs baseline
false_fee_promise: audit bot amounts ≠ cart (target 0)
handling_ticket_post_delta: drop in #410 tickets post bot
add_fee_bot_intake_complete: cart lookup OK / sessions
add_fee_recovery_convert: T3 abandon → order / T3 triggers
add_fee_bot_csat: satisfaction sessions tag add_fee
DTC Benchmark
add_fee_bot_resolution 75-85 %, cart_save 12-18 %, abandon_fee_step_delta -10-18 %, false_fee_promise 0, handling_post_delta -30-45 %.
Weekly Dashboard
Intent breakdown, cart vs checkout step split, FEE-MAP handling sum distribution, handoff #410 rate.
Transcript audit
20 sessions/month: verify FB-4 API match FB-6 output, franco handling distinction present.
Correlation cart_save and AOV
FB-7 franco nudge may lift AOV 4-8 % while reducing abandon. Track separately from cart_save.
What anti-patterns should be avoided on fee bots?
Ten shipping fee bot anti-patterns to banish.
1. LLM invents €4.90 fee
FB-4 API mandatory. false_fee_promise incident.
2. "100% Free Shipping"
Handling remains. bot_add_fee_free_shipping_check distinction.
3. Widget overlaps Pay button
#386 PCI UX. Compact cart/shipping only.
4. 10-turn conversation about fees
Max 3 turns rule. CTA checkout FB-7.
5. FEE-MAP stale vs Shopify
Handling €8 bot, checkout €12. Sync Notion weekly.
6. Refund fee bot post-order
Handoff #410 only. Bot read-only post-pay.
7. Ignoring pre-checked service
bot_add_fee_remove_option + flag product #291.
8. Dual bot #386 + #411 spam
Router single response. Intent classifier upstream.
9. Missing /pages/fees link FB-8
Self-service gap. HANDLING-FEE #410 prerequisite.
10. Duties promise exact DDU
Estimate range + disclaimer ADD-FEE rule 5.
11. PDP preview without SKU weight
bot_add_fee_pdp_preview needs product metafields weight/tags.
How does Qstomy explain the fees before checkout?
Qstomy on Shopify: FEE-BOT cart lookup, shipping rates API, FEE-MAP #410 sync, breakdown templates FB-6, abandon T3 recovery, handoff HAND-FLOW post-order.
Qstomy add_fee features
add_fee_cart_read: FB-2 Storefront API
add_fee_rate_calc: FB-4 live shipping + handling
add_fee_breakdown_render: itemized FR template
add_fee_franco_cta: FB-7 threshold nudge
add_fee_no_invent_guard: hard block without API
add_fee_handoff_410: post-purchase dispute route
Pipeline #411 → #410
Upstream bot transparency. Downstream agents disputes. Shared FEE-MAP Notion single source. Upstream general shipping FAQ bot #203.
Quantified DTC Scenario
Fragile furniture mix, 31% shipping step abandonment baseline.
After Qstomy FEE-BOT: abandon_fee_step_delta -17%, add_fee_bot_cart_save 15%, handling_ticket_post_delta -41%, add_fee_bot_csat 4.3/5.
Explore customer support and request a demo.
What is the checklist for deploying FEE-BOT?
FEE-BOT Checklist (12 steps)
Validate HANDLING-FEE #410 + FEE-MAP published /pages/fees
Export FEE-MAP JSON → bot glossary
Configure 12 intents bot_add_fee_* section 3
Implement flow FB-1 to FB-8 + Cart API FB-2/FB-4
Enable guardrails no invent + max 3 turns
Route upstream vs #386 #203 #410
Placements widget cart + checkout shipping (#386 PCI align)
Triggers T1-T4 + optional T3 abandon recovery
Staging tests 8 scenarios: free shipping, handling, duties, service, post-pay handoff
Handoff #410 ticket fields FB-8
KPI Dashboard add_fee weekly + audit transcripts
A/B T1 proactive vs passive 4 weeks
Summary
#411 = bot upstream fees, #410 agents downstream
Cart API grounded: zero amount invention
FEE-BOT: cart → calc → breakdown → CTA checkout
Free shipping ≠ completely free: clear handling distinction
KPI add_fee_bot_cart_save: measures saved conversion
FAQ
Difference with #410?
#410 post-purchase handling customer service. #411 bot explains all fees before payment.
Difference with #386?
#386 form field help. #411 cart/shipping step fee breakdown.
Does the bot modify the cart?
No, read-only. Suggest add for free shipping, client action. No auto discount.
Is the bot active during the payment step?
Not recommended PCI/UX. Hidden or minimal link /pages/fees.
Relationship to #291 hidden fees?
#291 ops prevent hidden. #411 bot executes conversational transparency.
Go further
This week: sync FEE-MAP bot, configure Cart API FB-4, test breakdown on 5 staging sample carts, enable T1 cart widget.
Share this guide #411 with CRO and support: explaining fees before payment costs less than a chargeback after.
Free shipping + handling: standard bot phrase?
"Free shipping from [threshold] €. Handling fee of [Z] € may apply to [category] items." Template FB-6.

Enzo
July 1, 2026





