Implementation & How-To· 6 min read· By The SpideyChat Team

Writing Returns and Shipping Policies a Chatbot Can Answer From

How to structure a returns and shipping policy so a chatbot quotes it correctly: one rule per section, numbers stated plainly, conditions beside the rule.


A chatbot quotes a returns or shipping policy correctly when the policy is written as a set of separate, self-contained answers: one question per heading, the number and its condition in the same sentence, and every exception named rather than implied. Most policy pages are written as legal prose, with the rule in one paragraph and the conditions three paragraphs later. Rewriting them in question-sized sections fixes most wrong answers before they happen.

Our earlier piece on how ecommerce chatbots handle shipping and returns questions covers what the bot should and should not do with those questions. This post is about the page underneath: how to write the policy so there is a clean answer to find.

How a chatbot reads your policy page

It helps to know what happens to the page, because the structure advice follows directly from it.

When SpideyChat learns a page, the crawler fetches the HTML, strips out navigation, headers, footers and sidebars, and keeps the body text with the page title on top. That text is split into passages of roughly a thousand characters, breaking at paragraph or sentence ends where it can. When a shopper asks a question, the bot pulls the five passages closest in meaning to it and writes an answer using only those. If the answer is not in them, it says it does not have that information and offers to connect the shopper with your team.

Two consequences matter for a policy writer.

First, a passage is read without its neighbours. If your returns window is in one paragraph and "this does not apply to sale items" is in another, the bot may get one without the other. Then it tells a shopper with a sale item that they have 30 days.

Second, vague references break. "As mentioned above", "the period stated earlier" and "these items" all point at text that may not be in the passage the bot is reading.

Structure: one question, one section

Build the page from the questions shoppers actually ask. A typical returns and shipping page needs sections like these:

  • How long do I have to return something?
  • What condition does it need to be in?
  • Which items cannot be returned?
  • Who pays for return postage?
  • How and when will I get my money back?
  • Can I exchange instead of returning?
  • What if my item arrived damaged or wrong?
  • Where do you ship, and what does it cost?
  • How long does delivery take?
  • When is the order cut-off for same-day dispatch?

Use those questions, or close versions of them, as the headings. Under each, answer in the first sentence and add detail after. A heading that reads like a question also helps the search step, because a shopper's question and your heading end up close in meaning.

Writing rules that keep answers exact

Put the number, the unit and the starting point together. "You can return items within 30 days of the delivery date" is one complete fact. "Returns: 30 days" leaves the bot to guess whether the clock starts at purchase, dispatch or delivery.

State conditions in the same sentence as the rule. "Clothing can be returned within 30 days of delivery if it is unworn, unwashed and has its tags attached." If there are several conditions, a short list directly under the rule works too, as long as nothing else sits between them.

Name exceptions explicitly. Write "Earrings, swimwear and personalised items cannot be returned unless faulty" rather than "certain items are excluded for hygiene reasons". The bot can only repeat what you named.

Separate dispatch time from delivery time. "We dispatch within 1 working day. Standard UK delivery then takes 2 to 4 working days." Merged into "delivery in 3 to 5 days", shoppers and bots both lose the distinction.

Give each shipping zone its own line. A table or list with zone, price, free-shipping threshold and typical delivery time reads cleanly. Keep the currency next to every figure.

Say who pays, in plain words. "Return postage is free for faulty items. For change-of-mind returns, the cost of the return label is deducted from your refund."

Avoid soft promises you cannot keep. "We aim to refund quickly" becomes "Refunds are issued to your original payment method within 5 working days of the return reaching us." If you cannot commit to a number, say what happens and who to contact.

A before-and-after example

This is a hypothetical clothing shop, written two ways.

Before: "We want you to love your purchase. If you are not satisfied, you may return it within the period outlined in our terms, subject to the conditions above. Sale items are treated differently. Refunds are processed promptly."

Asked "Can I return a sale dress?", a bot has almost nothing to work with. The period is elsewhere, the conditions are elsewhere, and "treated differently" says nothing.

After:

Can I return sale items? Sale items can be exchanged or refunded as store credit within 14 days of delivery. They cannot be refunded to your card unless they are faulty.

How long do I have to return full-price items? You can return full-price items within 30 days of delivery for a refund to your original payment method, if they are unworn and have their tags attached.

Now the same question gets a direct, correct answer, and so does the follow-up.

Keep it readable by the crawler

A few technical points decide whether the bot sees your policy at all.

  • Keep the policy as page text. The crawler does not follow linked PDFs. If your policy lives in a PDF, either publish it as a page or upload the file directly, since PDF, DOCX, TXT, Markdown and CSV uploads are all accepted.
  • Check text loaded by scripts. The crawler reads the HTML your server sends. If your theme loads policy text with JavaScript after the page opens, it may arrive empty. After a crawl, open the page's entry in your knowledge list and check the text is there. If it is not, paste it in.
  • Do not rely on the footer. Facts that only appear in a footer are stripped with it. Put delivery charges in the policy body.
  • Very long pages get cut. Each crawled page is trimmed after about 24,000 characters of text. A combined terms, privacy, returns and shipping page can lose its end. Give returns and shipping their own page.

The training guide in the docs shows each way to add or fix knowledge if a page will not crawl cleanly.

When the policy changes

Re-crawl the policy page after every change. A re-crawled page replaces its older copy in the bot's knowledge, so the old window or price stops being quoted. Text you pasted in or uploaded separately does not update itself, so delete the old version of those by hand. Temporary rules, such as an extended holiday returns window, need an end date in the text and a reminder to remove them.

Then ask the questions again. The guide on testing your chatbot before going live has a simple routine, and SpideyChat lets you save test questions with the words the answer must contain, so a later edit cannot quietly break them.

Where the policy stops and a person starts

A policy answers "what are the rules". It cannot answer "has my return arrived" or "will you make an exception for me", because the bot has no view of individual orders. Make that boundary visible on the page with a line such as "For a specific order, contact us with your order number". In the chat widget, shoppers can open a numbered support ticket at any time with the Report an issue button. The post on handling where-is-my-order questions without an order integration covers that side in more detail.

Put it to work on your store

Rewrite your returns and shipping page as question-and-answer sections, crawl it, and ask the ten questions above. If you run a Shopify store, the Shopify installation guide shows how to add the chat widget by pasting the script tag into your theme, with no app to install.

Frequently asked questions

Why does my chatbot get my returns policy slightly wrong?
Usually because the policy spreads one rule across several paragraphs, or states the condition far from the rule. The bot reads your page in passages, so a passage that says 30 days without saying 30 days from what invites a loose answer.
Should my returns policy be a PDF?
Keep it as text on a normal web page. The SpideyChat crawler does not follow linked PDFs, so a PDF policy has to be uploaded separately, and a policy that only exists as an image cannot be read at all.
Can a chatbot tell a customer whether their own return was approved?
Not from a policy page. A chatbot trained on your policies can explain the rules, but it has no view of individual orders. Questions about a specific order should go to your team, for example through a support ticket.
How often should I update the chatbot after changing a policy?
Every time the policy changes. Re-crawl the policy page so the new text replaces the old copy, and delete any pasted or uploaded versions of the old wording.

Want a 24/7 AI Employee for Your Website?

See how SpideyChat can answer customer questions, capture leads and handle enquiries while your team is offline.

No obligation. We will review your website and show you how SpideyChat could work for your business.

Keep reading