Source material
The most table-dependent document you own, and the one most easily cut in half
Delivery information is almost always a grid: destinations down the side, services across the top, a price and a timescale in every cell. That is the right way to show it to a person and the most fragile possible way to store it for retrieval, because every cell in the middle of that grid is meaningless without both of its labels, and there is no guarantee both labels arrive with it.
Why this one is harder than it looks
The grid encodes meaning in position. A cell saying two to three days means two to three days to that row's destination by that column's service, and it says none of that itself. Tables are converted into Markdown tables, which keeps the header row, so a passage that includes the header is fine. A passage that begins halfway down a long table is a set of rows with no column names attached, and rows in that state are actively misleading rather than merely unhelpful.
Merged headers make it worse. A grid with one merged cell spanning three columns for a group of destinations, and a second header row underneath naming the services, depends entirely on that span. The span does not survive, and what is left is a header row that no longer says which service each column is.
Then there is everything the grid cannot hold. The cut-off time, which decides whether a stated timescale starts today or tomorrow, and which is usually a line of small text above or below the table. The definition of a working day, which is doing an enormous amount of work in every cell and is typically stated once. Neither is in the grid, so neither is in the passages the grid produces.
Finally the two commercial lines that generate the most messages: the free delivery threshold and what it excludes, and duties and taxes on international orders. Thresholds nearly always have exclusions, such as bulky items or particular destinations, and the exclusions live somewhere other than the sentence stating the threshold. Duties usually get one euphemistic sentence when the honest version, which is that the recipient may be charged on arrival by their own customs authority and that this is separate from what you charged, is what a customer needs to read before ordering.
What it has to contain
Structure rather than wording. A passage pulled out of this document has to stand on its own, because that is the only form in which it will ever be read.
| One row per answerable combination, with both labels in the row | Destination and service named in their own columns on every row, so a row reads as a complete statement: this destination, this service, this price, this timescale. A row that only makes sense under a header is a row that can be separated from it. |
|---|---|
| A single header row, first, with no merged cells | One word in every header cell, no spans, no second header row, no colour or symbol carrying a distinction. If a grid needs two header rows to express itself, it needs to be two tables. |
| The working day definition as a sentence in the text | Which days count, what happens to weekends and public holidays where you trade, and whether the day of dispatch counts. This one sentence changes the answer for every row in the table, so it has to be retrievable without the table. |
| A cut-off sentence per service | The time an order has to be placed by for the timescale to start that day, written next to the service it belongs to rather than once above the whole grid. Different services often have different cut-offs and a single line above the table implies they do not. |
| A threshold sentence that names its own exclusions | The qualifying amount, whether it is measured before or after tax, whether delivery charges count towards it, and what it does not apply to. All in the same block, because the exclusion retrieved separately from the threshold is the exclusion nobody sees. |
The rewrite, in order
Flatten the grid into rows that can stand alone
Rebuild the table so that destination and service are columns rather than axes. It will be longer and it will look less like a designed object. Every row will now contain the words a question uses, which is what makes it match, and will state its own meaning, which is what makes it safe when it is retrieved without a neighbour.
If you want to keep the visual grid on the page for human readers, keep it, and publish the flat version too. A page can carry both. What it must not do is carry only the version that depends on position.
Watch for the quiet trap in this conversion, which is a destination group that was a merged label. Every row that was under it needs the group name written into it, and every row that was under a second-level label needs both.
Write the cut-off and the working day in prose beside the table
These two sentences change what every number in the table means, and neither belongs inside a cell. Put them immediately before or after the table as ordinary text, and if different services have different cut-offs, write one sentence per service with the service named in it.
Be specific about the boundary. Orders placed before a stated time on a working day are dispatched that day; orders after it are dispatched the next working day. That construction carries its own definition and does not depend on a reader knowing what your dispatch schedule looks like.
State the threshold and its exclusions in one breath
Free delivery over a published amount is the most quoted sentence on any delivery page, and it is almost never quoted with its conditions. Write them together: the amount, whether it is before or after tax, whether it counts the delivery charge itself, which destinations it applies to, and which products are excluded.
Name the excluded products rather than describing a category. Oversized items is a category; a named product type is a thing somebody types. If the exclusion is by weight or dimension, give the figure, because a customer can check a figure and cannot check a judgement.
Say the honest thing about duties and taxes
For international destinations, write a short paragraph per destination group saying who is responsible for import charges, whether anything is collected at checkout, and that where charges apply they are set by the destination country rather than by you. Where the arrangement genuinely differs by destination, that is a separate paragraph per group rather than one sentence hedged four ways.
This paragraph exists to prevent one specific and expensive event, which is a parcel refused at the door because the recipient was asked for money they did not expect. It is worth writing plainly even though nobody enjoys writing it, and it is worth being near the timescales rather than in a separate international page nobody opens.
What happens if you skip it
A timescale quoted for the wrong service, from a row with no header
The question is how long delivery takes to a particular place. The retrieved passage contains three rows from the middle of your grid, without the header row, because the passage boundary fell after it. The strongest looking number wins, and it is the express figure being offered to somebody who is going to pick the standard option, or the domestic figure being offered for an international address.
The cost arrives days later as a complaint that the delivery was late, from somebody who has an answer with a citation on it and no reason to doubt it. Nothing in the exchange looked uncertain, because a row of numbers reads as precise whether or not it is the right row.
Check it against this
Before you index it
- Every row names its destination and its service in its own cells
- There is exactly one header row and no merged cells anywhere
- The working day definition is a sentence outside the table
- Each service has its own cut-off sentence
- The free delivery threshold and its exclusions are in one block
- Excluded products are named rather than described as a category
- International duties are stated plainly, near the timescales
Questions
- Should we upload the carrier's own timescales?
- Only if you are willing to maintain them. A carrier document is somebody else's text, it changes without telling you, and once indexed it competes with your own page for the same questions. Your page saying what you promise is more useful than their page saying what they aim for.
- Our delivery grid is a spreadsheet. Can we upload it as it is?
- It will be read sheet by sheet as rows, so it does index, and the same rules apply harder: header row first, no merged cells, and the destination and service in columns rather than as a layout. Also check that no cell holds a formula, because what is stored is what the file holds rather than a calculated result.
- We ship from more than one place with different timescales. How do we write that?
- As separate blocks with the origin named, not as one table with a note. A note applies to a grid; a block travels with its rows. If the origin depends on the product, say which products ship from where in the same block.
Keep reading
- The question this document answersWhat the visitor is really asking, and where an answer becomes a handover.
- How to write a pricing page an AI assistant can quote fromPrices that only exist in an interactive component are not in the text at all. How to publish pricing an assistant can quote without inventing.
- Publishing opening hours and locations an assistant answers correctlyThe easiest question to get wrong. Hours in an image, five stale copies, and kitchen times that differ from door times, all fixed at the source.
- How to write a product spec sheet an assistant can answer fromEvery value on a spec sheet depends on the model name at the top. What to repeat, what to spell out, and why a downloadable sheet is never read.
- Every kind of source materialWhat to feed an assistant, and the surgery each document needs first.
Try it on your own material
Upload a document or point it at your site, paste one line of HTML, then ask it something only your business could answer.