E-commerce

AI chatbot to explain additional fees before checkout

AI chatbot to explain additional fees before checkout

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

  1. bot_add_fee_total_breakdown: "why this total?" itemized

  2. bot_add_fee_shipping_estimate: shipping for this cart + address

  3. bot_add_fee_handling_explain: handling FEE-MAP #410

  4. bot_add_fee_free_shipping_check: free shipping reached? handling remains?

  5. bot_add_fee_service_optional: gift wrap, optional insurance

  6. bot_add_fee_duties_preview: DDP/DDU Markets estimate

  7. bot_add_fee_discount_impact: coupon vs shipping/handling

  8. bot_add_fee_remove_option: how to uncheck service fee

  9. bot_add_fee_compare_threshold: "how much for free shipping?"

  10. bot_add_fee_pdp_preview: fee on SKU before adding to cart

  11. bot_add_fee_abandon_recovery: trigger exit shipping step

  12. 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

  1. FB-1 Short intro: "I am detailing the fees of your cart."

  2. FB-2 Cart context: cart_id/token or logged-in session read-only

  3. FB-3 Address collect: Zip/country if shipping estimate needed

  4. FB-4 Calculate: shipping rates API + FEE-MAP handling + services

  5. FB-5 Classifier: intent bot_add_fee_* section 3

  6. FB-6 Explain: template itemized breakdown EN

  7. FB-7 CTA: "Continue checkout" | "Add [X] € for free shipping"

  8. 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

  1. Cart API only: fee amounts from Shopify calc, no LLM guess

  2. FEE-MAP sync #410: handling explanations from Notion glossary

  3. Itemized always: never lump sum "fee €24" without detail

  4. Franco scope: explicit shipping vs handling distinction

  5. Estimate disclaimer: duties DDU "estimated", DDP "included" if Markets

  6. No refund bot: post-purchase → handoff agents #410

  7. PCI step payment: minimal bot or hidden card step (#386 align)

  8. 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)

  1. Validate HANDLING-FEE #410 + FEE-MAP published /pages/fees

  2. Export FEE-MAP JSON → bot glossary

  3. Configure 12 intents bot_add_fee_* section 3

  4. Implement flow FB-1 to FB-8 + Cart API FB-2/FB-4

  5. Enable guardrails no invent + max 3 turns

  6. Route upstream vs #386 #203 #410

  7. Placements widget cart + checkout shipping (#386 PCI align)

  8. Triggers T1-T4 + optional T3 abandon recovery

  9. Staging tests 8 scenarios: free shipping, handling, duties, service, post-pay handoff

  10. Handoff #410 ticket fields FB-8

  11. KPI Dashboard add_fee weekly + audit transcripts

  12. 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

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.