E-commerce
July 25, 2026
"There is an item missing, where is the rest?" "I have two tracking numbers, which one should I look at?" "Order delivered but half of it is missing." Three WISMO messages where a single-package bot returns only one tracking number and worsens the confusion.
Claro estimates that WISMO tickets represent 30% to 50% of e-commerce support volume (Claro, WISMO Shopify 2026). ShippyPro points out that multi-package orders multiply "missing package" contacts if the status is not explained package by package (ShippyPro, WISMO 2026).
This guide #357 formalizes the split shipment AI chatbot: explaining where each package is. It completes support split (#356) (policy SPLIT-SHIP ops) and WISMO bot (#184) with the angle of post-purchase AI use case for multi-fulfillment and multiple tracking.
Summary
Why automate split shipment with a bot?
A split shipment bot reads all fulfillments of an order and responds package by package. The standard WISMO bot only sees one tracking number.
Three single-package bot failures
Single tracking: customer panics over missing items
Global "delivered" status: package 2 is still on the way
No manifest: customer does not know which item is where
TrackingMore notes that listing items and tracking per package in notifications reduces WISMO tickets (TrackingMore, 2026 notifications).
Angle #357
#356 documents the SPLIT-SHIP policy and agent macros. #184 automates single-package WISMO. #357 defines the dedicated multi-fulfillment bot: lookup, manifest, false missing triage, handoff.
Split bot ROI
For a brand with 35% split orders, split_wismo can account for 15 to 25% of total WISMO tickets. Bot connected to fulfillments + carrier: 30-second response time vs. 5 minutes for an agent.
DTC Example
Home brand, 89 split_wismo tickets/month, generic WISMO bot. After dedicated split bot: 74% auto-resolved, split_bot_resolution 78%, false_missing_escalation 12%, split bot CSAT 4.6/5.
Journey stage
Post-shipment of package 1, pre-delivery of package 2: peak split_bot sessions. Trigger: delivery email for package 1, "missing items" chat.
Ops prerequisites
SPLIT-SHIP policy (#356) and per-fulfillment emails in place. The bot executes the conversational layer, it does not invent logistics.
How does it differ from WISMO #184 and support #356?
Seven delivery contents, seven distinct bot roles.
Support split ops (#356)
Guide #356: SPLIT-SHIP policy, SPLIT-* macros, missing escalations. #357 implements the multi-package lookup AI layer.
WISMO Bot (#184)
WISMO Bot (#184): single order tracking or first fulfillment. #357 adds fulfillment loop N and item manifest.
Shipping FAQ Bot (#203)
Shipping Bot (#203): pre-purchase fees and times. #357 = post-purchase multi-package.
Multi-warehouse Bot (#325)
Multi-warehouse bot (#325): stock and routing. #357 intervenes after split shipping.
Pre-order (#337)
Pre-order (#337): split stock + pre-order. Split bot manages package 2 pre-order ETA.
Gift order
Gift: recipient receives package 1. Bot explains package 2 without raising alarm.
Promise #357
split_* intents, SPLIT-BOT-GATE flow, package manifest, false missing triage, handoff #356, split_bot KPI.
Which split intents should the bot classify?
Map the split_bot intents before flows.
Ten split shipment intents
split_status_all: where is my order (N parcels)
split_parcel_n: specific parcel 1 or 2 status
split_missing_rest: items are missing
split_tracking_n: send link for parcel N
split_eta_n: delivery date for parcel 2
split_partial_delivered: parcel 1 OK, parcel 2?
split_why_separate: why two parcels
split_not_shipped_yet: parcel 2 not shipped yet
split_stale_tracking: tracking for parcel 2 stuck
split_true_missing: all delivered, item missing
Mandatory session fields
order_id, fulfillment_count, fulfillments[], line_items_by_fulfillment, carrier_status[], false_missing_risk (bool). See taxonomy (#135).
Distinction split vs wismo
If fulfillment_count = 1: route wismo_status (#184). If fulfillment_count > 1: route split_* (#357).
90-day ticket mining
Export split_wismo tags (#356). Prioritize flows for top verbatims "missing", "two parcels", "incomplete".
How to build the SPLIT-BOT-GATE flow?
The SPLIT-BOT-GATE flow routes each message via lookup fulfillments before replying.
Six sequential gates
Auth Gate: email or order_id + customer match
Fulfillment_count Gate: 1 vs N parcels
Intent Gate: missing vs status vs tracking
Manifest Gate: items per fulfillment
Carrier Gate: live status of each tracking
Exit Gate: split response, false missing OK, handoff
Split_missing_rest branch
Customer "X is missing" → lookup line item X in fulfillments → if parcel 2 is unfulfilled or in_transit: SPLIT-STATUS response for parcel 2, no missing handoff. If all delivered: routes to split_true_missing → handoff #356 branch D.
Split_status_all branch
Card summary per parcel: Parcel 1/N items + status + tracking. Global status: partially delivered if applicable.
Anti-reship rule
The bot never promises to resend a parcel. Status explanation + ETA + handoff if stale or true missing.
Max turns
3 clarifications max. Then agent handoff with fulfillments payload.
Which data sources does the split bot read?
The split bot responds from Shopify fulfillments + carrier API.
Five Shopify sources
Order fulfillments[]: count, status, tracking
Line items per fulfillment: parcel manifest
Order fulfillment_status: partial / fulfilled
Fulfillment events: shipped_at, delivered_at
Metafield order.split_notified: customer notified split
Shopify Admin API exposes fulfillments per order (Shopify, Fulfillment API 2026).
Carrier layer
AfterShip, ShippyPro or direct carrier: scan status, ETA by tracking_number. Heeya: 80% automation with carrier API vs. 40% Shopify alone (Heeya, tracking bot 2026).
Policy SPLIT-SHIP #356
RAG chunks /delivery-split page for split_why_separate. Bot quotes policy, does not invent logistic reason.
Sync branded tracking page
Bot links to multi-parcel tracking page (#181) same data as conversation. Consistency email / page / chat.
Cache and carrier freshness
Carrier statuses change every 2 to 6 hours depending on the network. The split bot must read the carrier API in real time on split_missing_rest and split_stale_tracking, not a 24-hour cache which would display "in transit" when parcel 2 has been delivered since this morning. Recommended TTL: 15 minutes for in_transit, 0 minutes if customer insists "still not received". If carrier API is unavailable, bot quotes Shopify fulfillment status + approximate ETA disclaimer, then offers handoff rather than an invented status.
SKU mapping to fulfillment
Each line_item_id must point to fulfillment_id before any "X is missing" response. Bundles and kits complicate the manifest: a parent SKU can be split across two parcels (structure in parcel 1, accessories in parcel 2). Document these splits in metafield product.split_fulfillment_hint so the bot quotes "screws and plugs in parcel 2" without guessing.
What safeguards should be imposed on the split shipment bot?
The SPLIT-BOT-GUARD safeguards prevent reshipments and misleading "delivered" statuses.
Five strict rules
No "order delivered" if fulfillment is pending/in_transit
Mandatory manifest: items listed by package
False missing triage: check package 2 before raising an alarm
No reshipment promise: handoff to agent #356
Tracking stale > 72 h: handoff to logistics
Split bot system prompt
"You list each package with its items and status. You never state that the order is complete if a package is not delivered. If a customer reports a missing item, you check which package it is in before drawing any conclusions." See anti-hallucination.
Double partial confirmation
split_partial_delivered: "Package 1 delivered on [date]. Package 2 [status] with ETA [date]. Package 2 items: [list]."
Regression tests
25 scenarios: 2 packages in transit, package 1 delivered package 2 pending, false missing claim, true missing all delivered, 3 packages, stale tracking, preorder package 2. split_hallucination target 0%.
Which bot flows for post-purchase split?
The split bot operates on post-shipment touchpoints.
Chat flow "items missing"
Auth order → fulfillment_count > 1 → split_missing_rest → manifest → package 2 on its way response or handoff.
Email flow package 1 delivered
Pre-filled chat link order_id. Proactive bot split_status_all if customer opens.
Tracking page widget flow
"Ask a question" on multi-package page. Bot retrieves fulfillments context without asking for the number again.
Flow split_why_separate
Citation policy #356 SPLIT-WHY + "shipping fees charged once" if shipping question.
Bot response example
"Your order #7842 contains 2 packages. Package 1 (Modular shelf): delivered on July 12. Package 2 (Screws and fasteners): shipped on July 14, in transit, estimated delivery July 17. Tracking: [link]. You have not been charged shipping fees twice."
Handoff payload split
order_id, fulfillment_count, fulfillments snapshot, carrier_status[], client_verbatim, false_missing_risk, session_log.
How do I connect the Split bot to Shopify?
The Shopify split bot setup aligns API fulfillments and the carrier aggregator.
Technical Checklist
Enable read fulfillments scope Admin API
Connect AfterShip / ShippyPro multi-tracking
Configure router fulfillment_count > 1 → split_*
Index policy SPLIT-SHIP #356 RAG
Write prompt SPLIT-BOT-GUARD section 6
Connect handoff #356 split_missing_claim
Test 25 regression scenarios
Weekly split_bot_resolution dashboard
Webhook fulfillment created
Trigger customer notification + split_bot_eligible tag if count > 1.
WISMO #184 Integration
Parent router: fulfillment_count check before wismo vs split intent.
Gradual Launch
Phase 1: split_status_all + split_missing_rest. Phase 2: stale tracking handoff. Phase 3: proactive post package 1 delivered.
Which KPIs should be measured on the split bot?
Without split_bot KPIs, it is impossible to prove ROI vs generic WISMO.
Seven key metrics
split_bot_resolution: resolved without agent / split bot sessions
split_wismo_deflection: deflected split tickets / bot sessions
false_missing_handoff_rate: handoff after OK bot sorting
split_true_missing_rate: true missing post-bot
split_bot_handoff_rate: escalations / sessions
reship_avoided_bot: reships avoided thanks to sorting
CSAT intent split_bot: post-response satisfaction
DTC Benchmark
Target split_bot_resolution > 70%, false_missing_handoff_rate < 15%, CSAT split bot > 4.5/5.
Correlation #356
Emails per fulfillment + multi-parcel tracking page must lower split_wismo volume. Bot handles residual chat.
Monthly Review
Top intent split, top SKU split, handoff reasons. Feed emails and checkout warning.
Operational Dashboard
Segment split_bot_resolution by fulfillment_count (2 vs 3+ parcels) and by dominant intent. A global rate of 72% can mask split_missing_rest at 45% and split_status_all at 88%. Prioritize weak flows before adding new intents. Correlate reship_avoided_bot with reship tickets tagged split_wismo: if reships go up despite active bot, the false missing sorting is poorly calibrated.
A/B Test manifest response
Compare CSAT between list of items per parcel response vs visual card response "Parcel 1 / Parcel 2" with color status. DTC home and furniture brands often gain 0.3 CSAT points when the customer explicitly sees which SKU is in which parcel, especially on split_missing_rest where anxiety is highest.
What edge cases and escalations should be anticipated?
Five edge cases split bot require a handoff.
Three or more packages
Same flow with fulfillment_count 3+. Full manifest mandatory.
Package 2 preorder
split_not_shipped_yet with pre-order ship date (#337). No invented carrier ETA.
Stale tracking package 2
split_stale_tracking > 72 h: logistics handoff #356.
Confirmed true missing
All fulfillments delivered, item missing: handoff split_missing_claim (#356 branch D).
Customer insists on immediate reship
Bot remains factual, supervisor handoff. No bot promises.
Marketplace or mixed dropship
If package 1 leaves the brand warehouse and package 2 is from a 3PL supplier, the bot must quote two distinct carriers without merging ETAs. Handoff if supplier status is missing from carrier API for more than 48 hours.
Partial return package 1
Customer returns an item from package 1 but package 2 is still on its way: bot explains that the return does not affect package 2's shipment, routes split_status_all, handoff if partial refund is requested.
Customer language and timezone
Delivery dates in store timezone, status labels localized in FR/EN. Avoid "delivered yesterday" for UTC+2 customer if the carrier scan was yesterday evening US.
How does Qstomy handle split shipment?
Qstomy routes split_* intents from Shopify fulfillments, carrier API, and SPLIT-SHIP policy.
Capabilities
split_status_lookup: N parcel status + manifest
split_false_missing_triage: item → parcel mapping
split_tracking_links: carrier URLs per parcel
split_partial_status: accurate partially delivered
Handoff #356: true missing or stale payload
Encrypted DTC Scenario
Home brand, 89 split_wismo tickets/month, generic WISMO bot.
After Qstomy split bot: 76% self-resolved, split_bot_resolution 80%, reship_avoided 23/month, split bot CSAT 4.7/5.
Explore AI support, Shopify, request a demo.
What checklist is needed to launch the split bot?
Checklist split bot (10 steps)
Validate SPLIT-SHIP #356 policy and emails by fulfillment
Audit split_wismo 90-day tickets
Connect fulfillment APIs + carrier aggregator
Document SPLIT-BOT-GATE flow section 4
Configure fulfillment_count > 1 router
Draft SPLIT-BOT-GUARD prompt section 6
Test 25 regression scenarios
Integrate split_missing_claim handoff #356
Weekly split_bot_resolution dashboard
Monthly review false missing vs true missing
In brief
#357 = multi-package bot, not mono WISMO (#184)
SPLIT-BOT-GATE: manifest + carrier per package
False missing triage: before handoff or alert
10 split_* intents: status, missing, tracking, stale
split_bot_resolution KPI: target > 70%
FAQ
Difference with WISMO #184?
#184 = one tracking, one response. #357 = loop N fulfillments + item manifest.
Difference with support #356?
#356 = policy ops and human macros. #357 = automation lookup and bot triage.
Can the bot resend a package?
No. Agent handoff if true missing or stale tracking.
Single-package order?
wismo_status route #184. Split bot if fulfillment_count > 1 only.
Without carrier API?
Bot reads Shopify fulfillments alone. Less precise ETA, more frequent handoff.
Going further
Test staging: order 2 fulfillments, message "an item is missing", check package 2 manifest without premature handoff.
Share this guide #357 with ops and CRM: a well-calibrated split bot converts multi-package WISMO into a 30-second response.

Enzo
July 25, 2026





