String
Running the operation

How to Offer Shipping Options at Checkout

Published

A shipping selector that lists UPS 3 Day Select, FedEx Express Saver and USPS Ground Advantage is asking the customer a question about carrier networks. What they came to answer is when the thing turns up and what that costs.

Those are not the same question, and the gap between them is expensive.

Here is a real checkout, unmodified apart from the marks:

A checkout shipping method selector listing four options: Canada Post Expedited Parcel at $14.92, Local delivery at $15.00, Canada Post Xpresspost at $17.78 and Canada Post Priority at $22.82. Three of the four state 1 business day

Three services from one carrier — Expedited Parcel at $14.92, Xpresspost at $17.78, Priority at $22.82 — all promising one business day. A $7.90 spread for the same stated outcome. Nothing on the screen explains the difference, because the difference lives in guarantee windows and liability terms the customer has no way to see and no reason to care about.

A customer reading this has two options. Take the cheapest and wonder what they gave up, or stop and work out what Xpresspost is. Some of them do neither and leave.

What the research says goes wrong

Baymard Institute puts the average documented cart abandonment rate at 70.22%, from an average across 50 separate studies. Their own survey of why people abandon is more useful than the headline, because it separates the browsers from the buyers:

The first line is not a problem you can fix. The next four are the shipping selector, and three of the four are about the customer failing to get information rather than disliking the price.

The most specific finding is on the format. Baymard reports that 41% of ecommerce sites give a shipping speed rather than a delivery date, and watched what that does to people in testing. One participant, given “3–8 business days”: “So this is Thursday, so it’s definitely not gonna ship until at least tomorrow.” Another opened a desktop calendar to work out the arrival date. A third simply said: “It doesn’t say ‘estimated date’ or anything… if it’s two to three business days at $4.99. I don’t really know.”

That is a customer doing arithmetic about your fulfillment cutoffs, at the last step, with their card out.

Why a list of services is the worst version of this

Choice overload is a contested idea in the research, and worth handling honestly. The largest analysis of it, Chernev, Böckenholt and Goodman’s meta-analysis of 99 observations across 7,202 subjects (Journal of Consumer Psychology, 2015) found that more options are not reliably worse on their own. What matters is the conditions. In their words, “higher levels of decision task difficulty, greater choice set complexity, higher preference uncertainty, and a more prominent, effort-minimizing goal facilitate choice overload.”

Read those four back against a shipping selector:

A shipping selector is not a case where the research is ambiguous. It is the specific configuration the meta-analysis identifies as the one that causes the problem.

Offer intents

The fix is to stop selling carrier services and start selling the two or three outcomes people actually want:

Two or three options, each with a real date and one price. The customer picks in a second because the question is one they can answer without knowing anything about shipping.

You are not hiding the carrier from them. You are just not making the carrier their problem.

What that looks like

An order placed on Tuesday 1 September:

ExpressArrives by Thursday 3 September$16.00
StandardArrives Tuesday 8 September$6.00
Free shippingArrives Friday 11 September$0.00

Three lines. Every one answers the question the customer actually has, and none of them requires knowing what a carrier service is. Note that only the express tier says “by”, which is deliberate and covered below.

The format

Give a date, never a duration. “Arrives Tuesday 8 September” and not “3–5 business days”, and not “1 business day” either. This is the one point Baymard is most direct about: a duration hands the customer a calculation, and their own testing has participants doing that arithmetic out loud and getting it wrong. “1 business day” looks precise and is not — it still leaves them working out whether today counts, whether you have shipped yet, and what happens at the weekend.

Include the weekday. People plan around “Thursday”, not around “the 3rd”. It costs nothing and it is what the date is for.

The date should already contain your cutoffs. Your processing time, your cutoff hour, weekends and holidays should all be resolved before the number reaches the screen. If the customer has to think about any of it, you have moved the calculation rather than removed it.

Say “by” only when you mean it. “Arrives by Friday” reads as a commitment. Use it where the service actually guarantees the date and you would honour a failure, and use “arrives” for an estimate. Most ground services are estimates, and not all of them are what you would assume.

What to charge

Once the option is an intent rather than a service, the price stops having to equal the rate. That is the part that makes people uncomfortable, and it is the point.

Charge the middle. Set each tier at roughly what that intent costs you on an average order to an average destination. Zone 2 customers overpay slightly, zone 8 customers underpay slightly, and across enough volume it nets out. You have traded per-order precision for a checkout that does not make anyone do arithmetic. For most catalogues that trade is heavily positive.

Charge deliberately under. Pick a number below your average cost and treat the difference as acquisition spend. This is a real strategy and it wants real arithmetic: you are betting the conversion lift is worth more than the subsidy. It is testable. Intelligems published one case study of a threshold change where conversion rose 6% and free-shipping qualification went from 17.4% to 60% of orders, adding about $92,915 in monthly revenue against $28,720 in additional shipping cost. That is one unnamed brand and not a benchmark, but it is the right shape of measurement: both numbers, side by side, over at least one business cycle.

Charge nothing above a threshold. The most common version, and the one with the most published advice attached to it, most of which is invented. I would not take a threshold figure from anyone’s blog, including this one. Your threshold is a function of your margin and your order distribution, and the only way to find it is to test it against your own.

Pass the live rate through, in buckets. Some carts will let you group the rates they fetch into buckets and display only the cheapest, or the fastest, from each. That gives you the intent-shaped checkout and per-order rate accuracy at the same time, which on paper is the best of both. If your cart supports it, it is the first thing to try.

One thing to check before you trust it, because it catches people out. Most carts do not calculate a carrier rate correctly. They rate on the item’s actual weight, and carriers bill on the greater of actual and dimensional weight — which depends on the box, and the cart does not know the box, because the box is not decided until someone packs the order. Carts also tend to miss the surcharges: residential delivery, delivery area, fuel, oversize. Those are added after the label is bought and the cart never sees them.

So the number your cart calls exact is frequently under the number you get billed, and the gap grows with box size. Before you build pricing on live pass-through, take a week of orders and compare what the cart quoted against what the carrier actually charged. If they agree, this is the best option available to you. If they do not, you are running one of the flat models above without having chosen to.

Whichever you pick, price the intent, not the parcel.

If you change nothing else, change this

Collapse the list. Whatever you charge and however you calculate it, the customer should see one line per intent, each with a date, rather than every service you have connected. “Arrives Tuesday, $8.40” instead of six lines they cannot tell apart.

That change costs you nothing, needs no pricing decision, and removes the specific condition the choice overload research points at.

Carrying the choice into fulfillment

Whatever the customer picked is a statement of intent, and it needs to survive into the warehouse. It is the only record of what you promised.

In ShipStation that selection arrives as the Requested Service, and it is available to automation rules as criteria. So the storefront option maps to a Rate Shopper configuration built for that promise: the fast tier rate shops only across services fast enough to keep it, the economy tier rate shops across everything.

That way the price the customer paid and the service they get are decided by the same thing, and the cheapest option can still win inside each tier. Configuring Rate Shopper properly covers how to build those configurations and route orders to the right one, including the parts that catch people out — guarantees, and services that only deliver to one kind of address.

What this does not fix

It does not fix your shipping cost. Charging a flat $9 for two-day delivery does nothing about what two-day delivery costs you, and if the underlying number is wrong then a tidy checkout just makes it wrong more smoothly.

It also moves risk onto you. A per-order rate passes cost variance to the customer. A flat rate absorbs it, which is the whole point, and it means a change in your zone mix or a carrier increase lands on your margin rather than on the checkout. That is a reason to watch it, not a reason to avoid it.

Whether this is happening in your operation

String builds and maintains logic like this inside existing ShipStation accounts — cartonization, rate selection, batching, inventory-aware holds, cold chain rules. No dashboard, nothing for your team to learn.

Typically for operations past 6,000 orders a month with a dedicated fulfillment team.

See which of the eight patterns are in your own data