How to Automate “Where Is My Order?” Questions in Shopify With an AI Chatbot
Learn how to build a secure Shopify order-tracking chatbot that verifies shoppers with their email and order number, retrieves fulfillment data, explains shipping statuses, and hands exceptions to a human.

Why “Where is my order?” is a strong automation starting point
“Where is my order?” questions are often called WISMO requests. They include questions such as:
- “Has my order shipped?”
- “Can I track order #10482?”
- “Why hasn’t my package moved?”
- “When will my order arrive?”
This is a practical customer-support workflow to automate because the customer’s intent is usually clear. The answer also depends on a relatively small set of structured fields: the order record, fulfillment status, tracking information, carrier, and the latest available shipment event.
That does not mean every WISMO conversation should be handled without human oversight. An automated chatbot can answer a routine status question. It should not independently decide how to handle a lost package, refund, replacement, cancellation, address change, fraud concern, or damaged delivery.
The goal is to automate the lookup, not remove judgment from the support process.
What a Shopify order-tracking chatbot needs
A Shopify order tracking chatbot needs access to approved Shopify order and fulfillment data. A static knowledge base is not enough. It may explain your shipping policy, but it cannot reliably tell a customer whether a particular package was fulfilled yesterday or is currently out for delivery.
For a Shopify-connected assistant, the minimum useful data usually includes:
- Order number
- Checkout email address
- Order creation date
- Fulfillment status
- Shipment or display status
- Carrier name
- Tracking number
- Tracking URL
- Estimated delivery date, when available
- Latest fulfillment event, when available
- Items included in each fulfillment
- Whether the order has multiple fulfillments or tracking numbers
Shopify’s Admin GraphQL model exposes order and fulfillment information, including tracking numbers, tracking URLs, fulfillment events, delivery dates, and human-readable fulfillment statuses. Shopify also documents that one order can contain multiple fulfillments when items ship separately or from different locations. (shopify.dev)
This distinction matters. An order can exist without being fulfilled. A fulfillment can exist without a recent carrier scan. One order can also contain one delivered package and another package that is still in transit.
The chatbot should report what the connected Shopify data supports. It should not invent a delivery estimate, assume that an order has shipped because it was created, or present a stale tracking number as a current location.
Verify the shopper before showing order details
Verification is the central privacy control in a Shopify order-status chatbot. Before revealing shipment details, ask the customer for:
- The order number
- The email address used at checkout
Require both values to match the same Shopify order. Do not return order details because the email matches an order by itself. Do not return details because the order number exists without confirming the customer’s checkout email.
Shopify’s own order-status experience uses the order number together with the email address or phone number used during checkout when additional verification is required. Customers can find the order number in their confirmation email or SMS receipt. (help.shopify.com)
Normalize formatting, not identity
Customers may enter information in slightly different formats. Your chatbot can safely normalize harmless formatting differences, such as:
- Removing a leading
#from an order number - Ignoring extra spaces
- Treating uppercase and lowercase letters consistently in email input
- Trimming spaces before or after an email address
The underlying values should still be checked against the same order. Normalization should make the conversation easier, not weaken the match requirement.
Use neutral failure messages
When verification fails, avoid confirming whether an order exists. A neutral response is safer:
“I couldn’t verify those details. Please check the order number and the email address used at checkout, then try again. If you still need help, I can connect you with our support team.”
The chatbot should also limit the number of verification attempts and provide a human handoff when the customer cannot complete the process.
After verification, show only the information needed for the support request. A typical status response may include the order status, shipment progress, carrier, tracking link, and next step. It should not expose payment details, unrelated orders, or more personal information than necessary.
A practical chatbot conversation flow
A simple WISMO flow can follow these steps:
1. Recognize the order-status intent
The chatbot should recognize messages such as:
- “Where is my order?”
- “Track order #10482”
- “Has my package shipped?”
- “Can you check my delivery?”
If the customer is asking about a specific order, the assistant can move directly into verification.
2. Ask for the missing order number
If the customer has not provided an order number, ask for it clearly:
“I can check that for you. What is your order number? It usually appears in your confirmation email and may look like #10482.”
Avoid asking for a confirmation number if your workflow requires the Shopify order number and the customer has both. Shopify distinguishes the checkout confirmation number from the order number used for ongoing order tracking. (help.shopify.com)
3. Ask for the checkout email
If the order number is present but the email is missing, ask:
“Thanks. What email address did you use at checkout?”
Do not ask the customer to send a password, payment card number, or full delivery address through chat.
4. Validate the pair
The assistant should verify that the order number and checkout email correspond to the same Shopify order. If they do not match, return a neutral failure message and offer another attempt or human support.
5. Retrieve fulfillment and tracking data
After verification, retrieve the approved order and fulfillment fields. The chatbot should look for each fulfillment separately rather than assuming that the order has one universal shipment state.
6. Present a short status summary
A useful answer should lead with the current state, then provide the latest milestone and tracking link if available.
For example:
“Order #10482 was shipped with UPS and is currently in transit. The latest tracking update was posted on March 14. Track the shipment.”
The link in production should point to the carrier or Shopify tracking destination available in the connected data.
7. Ask whether there is a problem
After answering the status question, ask a focused follow-up:
“Does the tracking update look incorrect, or do you need help with a delayed or missing package?”
This separates a simple lookup from an exception that needs review.
8. Hand off when appropriate
The chatbot should route the conversation to a human when the data is incomplete, the customer reports a delivery problem, or the requested action is sensitive.
Translate Shopify statuses into clear customer language
Operational status labels are not always enough. The chatbot should translate them into plain language without making promises the data cannot support.
Unfulfilled or confirmed
If the order has been created but no fulfillment is recorded, say that the store has received the order but it has not been marked as shipped.
Example:
“Your order was received and is still being prepared. Shopify does not show a shipment or tracking number yet.”
Do not promise that it will ship today unless the store has reliable processing data and the support team has approved that wording.
Fulfilled or in transit
If the order has been fulfilled and tracking is available, show the carrier, tracking number or link, and latest known milestone.
Example:
“Your order is in transit with FedEx. The latest carrier update shows that it left the regional facility. You can follow the shipment using the tracking link below.”
Shopify states that supported carriers can provide real-time shipment updates on the order-status page. If a shipment has no tracking number, it can remain in an “On its way” state until it is marked delivered. (help.shopify.com)
Out for delivery
Use direct language:
“The carrier has marked your package as out for delivery. The latest available tracking information is linked below.”
Do not convert “out for delivery” into a guaranteed delivery time. Carrier scans can change, and the store may not control the final delivery route.
Delivered
Example:
“The carrier marked this shipment as delivered on March 15. If you cannot find it, please check the delivery area, household members, and building reception. I can also connect you with our support team.”
A delivered status does not prove that the customer personally received the package. “Delivered but not received” should be treated as an exception flow.
Attempted delivery
Example:
“The carrier recorded an attempted delivery but could not complete it. Please review the carrier’s tracking page for the next step. If the information is unclear, I can connect you with support.”
No tracking data
If the order is fulfilled but no usable tracking information is available, be explicit:
“Your order has been marked as fulfilled, but Shopify does not currently show a usable tracking update. Our support team can review this with you.”
Shopify notes that unsupported carriers may still have a tracking link, but Shopify may not display real-time shipment status or map updates for those carriers. (help.shopify.com)
Handle partial shipments and multiple tracking numbers
Partial shipments are one of the easiest ways for a chatbot to give an inaccurate answer.
For example, an order may contain three products:
- Two items shipped from the main warehouse with UPS
- One item shipped later from a second location with USPS
The response should not simply say, “Your order is in transit.” That hides the fact that the customer may receive the items on different dates.
Instead, show each fulfillment separately when the available data supports it:
Shipment 1: Two items shipped with UPS and are in transit. Track shipment
Shipment 2: One item has not yet been marked as fulfilled. No tracking number is available.
Shopify’s fulfillment model supports separate tracking information and multiple fulfillments for one order. Its order-status experience also creates separate sections for partial fulfillments and different carriers. (help.shopify.com)
The chatbot should also avoid saying “everything has shipped” when only part of the order has been fulfilled.
Build safe fallbacks for incomplete data
A reliable chatbot needs clear fallback behavior. Common cases include:
- Order number and email do not match: Ask the customer to check the confirmation email and try again without revealing order existence.
- Order exists but has no fulfillment: Explain that the order has not been marked as shipped.
- Tracking number exists but has no recent scan: Say that no new carrier update is available. Do not guess the package location.
- Carrier is unsupported: Provide the available tracking URL, explain that live status may not be available in Shopify, and offer support if the link does not work.
- Tracking link appears broken: Route the conversation to a human rather than sending the customer to an unreliable page.
- Order says delivered but the customer cannot find it: Provide practical checking steps and escalate according to the store’s missing-delivery policy.
- Shopify data conflicts with a warehouse or carrier system: Treat the conflict as a limitation and create a review task for the support team.
These fallbacks are more important than clever phrasing. The chatbot should be honest about what it knows and what it cannot verify.
Decide when to hand off to a human
Escalation rules should be explicit before launch. Hand off conversations involving:
- Repeatedly failed verification
- Refunds, replacements, cancellations, or address changes
- Chargebacks or fraud concerns
- Damaged goods
- Lost, missing, or stolen packages
- Customs or import problems
- Conflicting order or customer information
- Multiple unresolved shipments
- Carrier exceptions that the chatbot cannot explain
- Requests for policy exceptions
When handing off, pass the verified order number, checkout email, conversation history, and retrieved fulfillment status to the shared inbox. The customer should not have to repeat the entire issue.
Use language that explains the next step without promising a response time unless your store has an established service policy:
“I’ve sent this to our support team with your order details and the latest tracking information. They’ll review the shipment and follow up through this conversation.”
Shopify order-tracking chatbot implementation checklist
Before launching the workflow, confirm that you have:
- Connected the Shopify store successfully
- Enabled only the approved order and fulfillment tools the assistant needs
- Defined the exact order-number and checkout-email matching rules
- Written neutral responses for failed verification
- Mapped Shopify statuses to customer-friendly language
- Decided which order fields the chatbot may display
- Created responses for missing, stale, or unsupported tracking data
- Designed a separate flow for partial shipments
- Configured human handoff with conversation context
- Tested unfulfilled, fulfilled, delivered, and attempted-delivery orders
- Tested multiple fulfillments and tracking numbers
- Tested invalid emails and invalid order numbers
- Tested orders with no tracking information
- Reviewed conversations for privacy, accuracy, clarity, and escalation quality
For implementation details, see the Shopify documentation, tools documentation, and guardrails documentation.
How ReplyFront fits this workflow
ReplyFront combines an embeddable chat widget, AI assistant, shared inbox, customer profiles, knowledge, automation, analytics, and human handoff in one platform. A Shopify workspace can connect its store so the assistant can use approved catalog and order tools.
For order lookup specifically, the workspace must have a valid Shopify connection, and the customer must provide matching order information. When those conditions are met, the assistant can help answer routine order-status questions in chat. Uncertain or sensitive cases can move to a human through the shared inbox.
You can explore the Shopify AI chatbot, AI customer-support software, and features pages to evaluate the broader workflow. If you are setting up the widget, start with the install widget guide. For related planning, see the guide to Shopify customer-support automation.
Measure whether the automation is working
Do not evaluate the chatbot only by how many conversations it answers. Review the quality of those answers.
Useful measures include:
- Percentage of WISMO conversations resolved without human intervention
- Verification failure rate
- Frequency of missing tracking data
- Number of handoffs caused by late, lost, or delivered-but-not-received packages
- Percentage of answers that include a current tracking link when one is available
- Repeat questions from the same customer in the same conversation
- Human-review findings for privacy, accuracy, and appropriate escalation
If verification failures are high, customers may not know where to find their order number or may be using a different email address than the one entered at checkout. If many conversations are escalated because tracking is missing, the underlying fulfillment process may need attention.
The best improvements often come from better Shopify data and clearer operational rules, not from changing the chatbot’s personality.
Final checklist for a trustworthy WISMO chatbot
Before publishing the workflow, make sure the chatbot:
- Requests both the order number and checkout email
- Verifies both values against the same Shopify order
- Reads current order, fulfillment, and tracking data
- Handles partial shipments separately
- Explains missing or stale data honestly
- Links to carrier tracking when available
- Avoids exposing addresses, payment details, or unrelated orders
- Escalates sensitive requests and delivery exceptions
- Preserves the conversation context during handoff
- Has been tested against common and edge-case scenarios
A Shopify order-tracking chatbot works best when it is narrow, verified, and transparent. Start with the lookup workflow. Connect it to reliable fulfillment data. Give it clear limits. Then let human agents handle the cases where a status label is not enough.
FAQ
Can a Shopify chatbot look up an order using an email address and order number?
Yes, an order-status workflow can use the checkout email and order number as matching values, provided the chatbot has a valid Shopify connection and approved access to order data. The two values should match the same order before shipment details are shown.
What should a customer provide to verify a Shopify order?
Ask for the order number and the email address used during checkout. Shopify also supports customer account and order-status experiences that may use an email address or phone number with the order number, depending on the customer’s access path. (help.shopify.com)
What if the order has no tracking number?
The chatbot should say that Shopify does not currently show a usable tracking number or carrier update. It should not invent a location or delivery date. If the order is fulfilled without tracking, Shopify may continue to show it as “On its way” until it is marked delivered. (help.shopify.com)
How should the chatbot handle multiple shipments?
Display each fulfillment separately, including its items, carrier, tracking link, and status when those details are available. Never describe the entire order as delivered or in transit if only one part has reached that state.
When should an order-status chatbot involve a human?
Escalate failed verification, missing or delivered-but-not-received packages, carrier exceptions, partial-shipment problems, and requests involving refunds, replacements, cancellations, address changes, fraud, or damaged goods.
Frequently asked questions
Can a Shopify chatbot look up an order using an email address and order number?
Yes. When the store has a valid Shopify connection and approved order tools, the chatbot can use the checkout email and order number to verify a matching order before showing shipment details.
What should a customer provide to verify a Shopify order?
The customer should provide the order number and the email address used during checkout. Depending on the Shopify order-status experience, a phone number may also be used.
What if the order has no tracking number?
The chatbot should explain that no usable tracking information is available and avoid guessing the package location or delivery date. It should offer human support when appropriate.
How should the chatbot handle multiple shipments?
It should show each fulfillment separately, including the items, carrier, tracking link, and status available for that shipment.
When should an order-status chatbot involve a human?
Escalate failed verification, missing or delivered-but-not-received packages, carrier exceptions, partial-shipment problems, and sensitive requests such as refunds, replacements, cancellations, address changes, fraud, or damaged goods.
Sources and further reading
Turn useful answers into better customer experiences
ReplyFront brings AI support, website chat, Shopify context, and human handoff into one practical workspace.
Start free