Skip to main content

Why delivery time comes from your written policy, while cost never does

Cost and coverage always come from your real shipping rates. How many days delivery takes comes from your written shipping policy instead, because Shopify's shipping data has no transit-time field. Here's why that split exists.

Written by Joseph

"How much does shipping cost" and "how long does shipping take" sound like the same category of question, but Arbyn answers them from two completely different places, and it's worth understanding why, because it changes what you need to do to get a good "how long" answer working.

What it does

Shipping cost, free-shipping thresholds, and whether a destination is covered at all always come from your real, live shipping zones in Shopify (the actual rates you've configured), never your written shipping policy. Delivery time, on the other hand, comes from your written shipping policy, if you've described it there. If you haven't written a transit-time estimate anywhere, Arbyn tells the shopper their exact delivery estimate will show at checkout, rather than inventing a number.

Where to find it

Nothing to configure specifically for cost and coverage, that's automatic from your shipping zones. For delivery time, write your transit estimates into your shipping policy, under Settings, then Policies, or wherever you've documented shipping information that Arbyn ingests as a knowledge source. If you want to check the exact rate data Arbyn reads for cost, open Knowledge, then Catalog, then Shipping, and choose View zones & rates on any profile.

How it works

The reason for the split is a genuine gap in what Shopify's shipping API returns, not a design choice on Arbyn's side. A shipping rate in Shopify's delivery-profile data carries a name, a price, and any condition attached to it, a minimum spend or a maximum weight. It does not carry a structured "this many days" field. That field simply doesn't exist in the data Arbyn reads for cost and coverage, so there's nothing to read a transit estimate from, even in principle, no matter how carefully the rate is configured on your end.

Cost is never allowed to come from the same place delivery time does, and that asymmetry is deliberate. Your written shipping policy is prose, meant for a human to read, and it can drift out of date without anyone noticing, a price changes in Shopify and nobody remembers to update the policy page to match. If Arbyn quoted cost from that prose, a shopper could be quoted a wrong number, different from what they'd actually be charged at checkout. So cost always comes from the real rate, which can never disagree with what checkout actually charges. Delivery time doesn't have that same live, structured source to lean on, so it's the one exception: the written policy is the only place that information can come from at all.

When you haven't written a transit-time estimate anywhere, Arbyn doesn't invent one. It would be easy for a model to guess a plausible-sounding number, "usually 5 to 7 business days," based on nothing but a general sense of what's typical. Arbyn is built specifically not to do that. Without a written estimate to draw from, it tells the shopper their exact delivery window will show at checkout, which is honest and, in most stores, also accurate, since Shopify's checkout itself often calculates a real estimate from the carrier at that point.

A worked example. A shopper asks "how long will delivery take?" If your shipping policy states "orders typically arrive within 5 to 7 business days domestically, and 10 to 14 internationally," Arbyn reads that and answers with the matching estimate for wherever the shopper is. If your policy says nothing about timing at all, Arbyn instead tells them their delivery estimate will be shown at checkout, and doesn't guess a number to fill the gap.

Cost and timing can be answered together, from their two different sources, in the same reply. A shopper asking "how much and how long" gets a single, coherent answer: the price and free-shipping threshold from your real rate, and the timing from your written policy if it exists, or the honest "shown at checkout" line if it doesn't. Arbyn doesn't need the two questions asked separately, and it doesn't need both pieces of information to come from the same source to answer both parts.

Good to know

  • Writing a transit-time estimate into your shipping policy is the only way to get Arbyn to state one. There's no separate settings field for this; it comes entirely from whatever you've written in your policy content.

  • A vague or general written estimate still gets used, more specifically stated when possible. If your policy differentiates domestic from international timing, Arbyn tries to match the more specific figure to the shopper's actual destination rather than defaulting to a single number for everyone.

  • A cost number will never come from your shipping policy prose, even if it's written there clearly. If your policy text happens to state a shipping price, Arbyn still checks it against your real rate and uses the real rate, since that's what the shopper is actually charged.

  • If your shipping policy and reality drift apart on timing, Arbyn has no way to detect that, since there's no structured data to check written timing against, unlike cost. Keeping the policy text current is on you.

FAQ

Why can't Arbyn just calculate delivery time from the shipping method name, like "Express" or "Standard"? A method's name is a label, not a structured commitment. "Express" doesn't come with a guaranteed day count attached in Shopify's shipping data, so Arbyn can't derive a number from the name alone without guessing, which it's built not to do.

I never wrote a shipping policy. What does a shopper hear when they ask how long delivery takes? That their exact delivery estimate will be shown at checkout, stated plainly, rather than a made-up number. This is accurate for most stores, since Shopify's checkout typically does calculate a real carrier-based estimate at that point.

Can I write different delivery times for different countries, and will Arbyn use the right one? Yes. If your shipping policy distinguishes timing by region or country, Arbyn tries to match the shopper's actual destination to the closest relevant estimate rather than quoting a single generic number to everyone.

Does the delivery-time answer ever come from a live carrier API instead of my written policy? Not currently. Cost and coverage are read live from your Shopify shipping zones, but transit time specifically has no equivalent live, structured source, so it always comes from what you've written.

If I update my shipping policy's delivery-time wording, how fast does Arbyn pick it up? Written policy content refreshes on the same schedule as your other knowledge sources, generally within a few hours, so an update you make today will typically be reflected the same day.

Did this answer your question?