Guide

How to Price Local Delivery Without Losing Money

Price local delivery from what each delivery costs, not one flat fee, and that starts with seeing the whole picture: what the customer paid, what the run cost, who drove it and how it ended. Cost moves with distance, address type, weight and urgency, so a flat fee overcharges nearby customers and loses money on far, heavy and commercial orders. Keep the fee a small share of the cart, offer more than one option, and use more than a couple of fleets, because each one covers and prices differently. At 67 Wine, a case sold with $11.99 flat-rate delivery cost $22 to deliver. Pricing to true cost cut shipping unit costs 11% and lifted shipping unit revenue 6%.

The two sides of checkout

What is the delivery deficit?

Every delivery has two numbers: what the customer paid for it at checkout, and what it cost to deliver. The gap is the delivery deficit. Most tools only see one of the two. To stop losing money you have to see and manage both: the price the customer sees and the cost of the run.

$11.99

customer paid

$22.00

delivery cost

$10.01

deficit on one order

A 36 lb case of wine at 67 Wine, before repricing.

Cost drivers

What does a local delivery actually cost?

Six things decide it. A flat fee ignores all of them.

Distance and zip code

Third-party fleets price by the mile. An order across the river can cost several times one down the block, while a flat fee charges both the same.

Address type

Offices and other commercial receivers keep set hours, often are not expecting the order, and sometimes need paperwork or a trip upstairs. At 67 Wine they went return-to-sender three times as often as home deliveries.

Weight and size

A case of wine or a piece of furniture needs a bigger vehicle or more time at the door than a bag of groceries.

Urgency

Delivery within two hours costs more than a delivery that can wait for a batched run later in the day.

Who drives

In-house drivers, per-mile third-party fleets and local carriers each have their own cost structure. The cheapest one changes from order to order.

Failed deliveries

A delivery that fails or comes back is paid for again. At Myers of Keswick, 4 deliveries out of 5 used to arrive when the customer was not home.

Geography

Which cities cost more for local delivery?

Where you deliver moves the price more than almost anything else. Cities tend to fall into three cost tiers, and inside each city fleets add zones: zone 1 is the dense core, zone 2 the inner neighborhoods, and zone 3 and beyond the outer areas and suburbs, each a step up.

Higher cost

New York City, San Francisco Bay Area, Los Angeles, Seattle

Pay rules for app-based couriers (New York City's minimum pay rule, Seattle's PayUp law, California's Prop 22), plus traffic, parking and tight access.

Middle

Boston, Washington DC, Chicago, Philadelphia, Miami, Denver

Dense and costly to drive and park in, but without the pay rules that push the top tier up.

Lower cost

Houston, Dallas, Phoenix, Atlanta, Las Vegas, and most smaller metros and suburbs

Plenty of drivers, easier parking and longer, faster roads, so the same distance costs less.

Tiers reflect what drives courier cost in each market: pay rules for app-based couriers, density, traffic and parking. Exact prices vary by fleet, distance, vehicle and time of day, which is why Getcho quotes every order across fleets.

Delivery options

Why one or two fleets are not enough

Every fleet has its own coverage, prices and gaps. With only one or two, some areas go unserved and the cost of every run is whatever they charge. With more options, each order goes to the one that fits it. Range is where it pays: at Minus Moonshine, local delivery customers live 7.2 miles from the store on average against 3.8 miles for pickup customers, a 4x larger area.

Minus Moonshine

Local orders went to gig drivers, and most gig drivers would not go from Brooklyn to Manhattan. Adding local carriers alongside the national couriers, with the range set by which drivers will reliably take the run, had Manhattan customers ordering delivery within a few days.

Read the story

Myers of Keswick

Only one of the fleets on its old setup could reach New Jersey, so the store had switched New Jersey off. With more fleets, including local carriers, it now serves twice as many postal codes and a 30% larger population, at 40% lower shipping costs.

Read the story

67 Wine

Its own drivers made a weekly, fixed-fee run to Brooklyn. Third-party fleets with larger service areas now deliver to Brooklyn and Queens every day for less, and orders there tripled.

Read the story

What works

Six pricing moves that work for local delivery

Offer more than one rate

A premium option, such as your own driver or a white-glove run, next to a standard option on third-party fleets. Say up front which is which, so customers choose knowing what they get.

Watch the fee against the cart

Look at the delivery fee as a share of the order. Subsidizing delivery on a large cart can pay for itself; a small rush order should carry a premium.

Price by address, not just distance

Charge more by default for commercial addresses and buildings without a doorman. Doorman buildings, virtual doormen and package rooms are the easiest drops. Address intelligence tells you which is which before the driver leaves.

Use price to build density

Price one zip lower to grow volume there until a batched run or your own driver makes sense, and price farther zips higher.

Know your own cost per stop

If you run drivers, model what each stop costs you today. That number decides which orders stay in house and which go to a third-party fleet.

Expect city rules to move the price

Pay rules for app-based couriers in cities like New York, Los Angeles and Seattle make courier runs cost more there, so one national price per mile does not hold.

Comparison

Local delivery pricing models compared

Model Good at Where it loses money
One flat fee Simple to explain Loses money on far, heavy and commercial orders; overcharges nearby customers
Distance tiers or zones Tracks distance, easy to set by zip or radius Ignores weight, address type and urgency
Base fee plus per mile Follows how fleets charge Hard for customers to predict; still blind to address and size
Minimum order for delivery Keeps tiny orders from losing money Turns away small first orders that could become regulars
Free over a threshold Lifts basket size Gives delivery away on the large orders that usually cost the most to deliver
Speed tiers (ASAP, same-day, scheduled) Customers pay for the speed they choose Needs real cost per tier to set the gaps right
Built into product prices Low or no visible fee at checkout Overcharges pickup and nearby customers; hides the cost from you too
Priced options by address and speed Each order covers its own cost; customers choose Needs cost data per zip, address type and speed

Shopify

What Shopify's built-in Local Delivery can and can't price

Shopify's own local delivery setting covers simple zones and order-value rules. It does not know what a delivery will cost, so it can't price by address, size or speed.

Shopify Local Delivery With Getcho
Zones Up to 10 per location, by radius (up to 100 miles) or postal codes Zones by zip or radius per location, priced by distance, address and speed
Price rules Up to 3 per zone, based on order value Live carrier rates per order, from what the delivery will cost
Overlapping zones The customer gets the lowest fee Each order priced for its own address
Speed and time slots No speed tiers or time slots ASAP, same-day, scheduled and one-hour slots
Time of day Not part of the Local Delivery setting Prices, rate names and descriptions that change by time of day, like a lunch rush or after-cutoff
Which products Not part of the Local Delivery setting Allow lists and block lists by product, tag or collection
Which store ships Not part of the Local Delivery setting Routes each order to the right store or warehouse, with transfers when one store lacks an item
Who delivers You arrange the driver Your drivers and courier fleets, booked automatically
Fleet rules Not part of the Local Delivery setting Workflows per fleet, like sending bulky orders to a van or evenings to your own driver
After the order Not part of the Local Delivery setting Delivery analysis on every order: photos, timing, problems caught and claims filed
Shopify POS Not part of the Local Delivery setting Book, scan, track and cancel deliveries from the register

Shopify details from the Shopify Help Center.

Step by step

How to price local delivery so every order pays for itself

  1. 1

    See what every delivery cost

    Put each delivery in one view: what the customer paid, what the run cost, who drove it, the zip code, the address type, the order size and how it ended. Use actual rates, not estimates.

    Example: 67 Wine modeled the true cost of every delivery across its own drivers, per-mile fleets and local carriers before changing a single price. Story

  2. 2

    Find the delivery deficit

    Subtract what the customer paid for delivery from what it cost. List the biggest gaps, especially low-margin orders with a high deficit, and look for the pattern behind them.

    Example: At 67 Wine, corporate gifts were priced like home deliveries but cost more and went return-to-sender three times as often. Story

  3. 3

    Add more than a couple of delivery options

    One or two fleets leave whole areas uncovered and leave you paying whatever they charge. Line up in-house drivers, per-mile fleets and local carriers, and send each order to the one that fits it.

    Example: Myers of Keswick doubled the postal codes it serves once it had fleets that could reach New Jersey. Story

  4. 4

    Price by zip code and address type

    Set delivery prices in proportion to cost. Commercial addresses and far zips should not be priced like a home down the street.

    Example: 67 Wine now prices every option for the customer's zip code and address type. Story

  5. 5

    Let customers choose

    Offer options such as ASAP, scheduled and white-glove, each priced to cover its cost, and let customers pick a delivery date that they will be home for.

    Example: Myers of Keswick lets customers choose their delivery date at checkout, which cut failed deliveries and the order issue rate 30x. Story

  6. 6

    Keep reading it

    Rates and order mix change. Recheck which deliveries lose money every month and adjust prices, range and fleets.

    Example: Minus Moonshine set its range by which drivers will reliably take the run, then widened it as Manhattan orders came in. Story

FAQ

Frequently asked questions about local delivery pricing

Can't find what you're looking for? Reach out to us.

How should I price local delivery?
Price local delivery from what each delivery actually costs, not one flat fee. See every delivery's cost next to what the customer paid, then set prices by zip code and address type and let customers choose between priced options such as ASAP, scheduled and white-glove. 67 Wine did this with Getcho and cut its shipping unit costs 11% while shipping unit revenue rose 6%.
What is a delivery deficit?
The delivery deficit, also called the shipping deficit, is what a delivery actually cost minus what the customer paid for it at checkout. At 67 Wine, a 36 lb case of wine sold with $11.99 flat-rate delivery cost $22.00 to deliver, a $10.01 deficit on one order. It can run the other way too: express options close to the store often cost the customer more than they cost the business.
How many delivery options does a local store need?
More than one or two. Each fleet has its own coverage, pricing and gaps, so a single fleet leaves areas you cannot serve and prices you cannot negotiate. Myers of Keswick had switched off New Jersey because only one of its fleets could reach it. With more fleets, including local carriers, it doubled the postal codes it serves and cut shipping costs 40%.
How far away do local delivery customers live?
Farther than pickup customers. At Minus Moonshine, buy online, pick up in store customers live 3.8 miles from the store on average, while local delivery customers live 7.2 miles away. That is a 4x larger area, 162 square miles against 45, which is why a wider delivery range reaches customers who would not shop in store.
Should I offer more than one delivery option at checkout?
Yes. Customers want different things: some want it within two hours, some want it carried upstairs, some just want it left with the doorman. Offer a premium option, such as your own driver or white-glove, next to a standard option on third-party fleets, price each to its cost, and tell customers ahead of time what each one includes. 67 Wine offers ASAP, white-glove and anytime delivery this way.
Should offices and apartment buildings pay different delivery prices?
Usually. Commercial addresses keep set hours and are often not expecting the order, and buildings without a doorman are harder to complete, so price them higher by default. Doorman buildings, virtual doormen and package rooms are the easiest drops. At 67 Wine, corporate gifts went return-to-sender three times as often as home deliveries. Getcho uses address intelligence to tell the address type before the driver is sent.
Why does local delivery cost more in New York, Los Angeles or Seattle?
Those cities have pay rules for app-based delivery workers, like New York City's minimum pay rule, Seattle's PayUp law and California's Prop 22, that raise what courier fleets charge, on top of traffic and parking. Boston, Washington DC, Chicago, Philadelphia, Miami and Denver tend to sit in the middle, and Houston, Dallas, Phoenix, Atlanta and most smaller metros cost less. A price per mile that works in one metro can lose money in another, so price by market.
How should I set delivery prices to grow volume in a new area?
Price the zip codes you want to grow a little lower to build order density, then move that area to batched runs or your own driver once volume justifies it, and price farther zips higher. Pricing is a lever for where your volume comes from, not only a way to cover cost.
How much should I charge for local delivery?
Enough to cover what each delivery costs on small orders, while keeping the fee a small share of the cart on large ones. Research from McKinsey found same-day fees stop putting shoppers off at roughly 7 to 8% of basket value. So start from your real cost per delivery by zip and address type, charge it on small or rush orders, and subsidize on big carts if the margin allows.
What should a delivery fee cover?
The courier or driver cost for that address and vehicle, packaging, the share of failed or returned deliveries you will pay for twice, and any tip you pass to the driver. Most stores forget the failures: some courier fleets charge a large share of the delivery fee again just to bring an undelivered order back.
Should I set a minimum order for delivery?
A minimum keeps very small orders from losing money, but it also turns away first orders that could become regulars. A softer option is a higher fee below a cart value instead of a hard minimum, and no minimum at all for pickup.
How do I set a free delivery threshold?
Work back from your margin. A free delivery needs extra sales worth its cost divided by your margin: at a 40% margin, roughly two and a half times the delivery cost in extra order value. Set the threshold above your current average order so it pulls carts up, and price far or hard addresses separately so free delivery does not apply where it loses the most.
Should I charge a flat fee or by distance?
By distance or zone at least, and ideally by address type and speed too. Fleets charge by distance and market, so a flat fee is always wrong for someone: too high nearby, too low far away. If you want one simple number, keep it for a tight zone and price beyond it.
Can I charge a base fee plus a price per mile?
Yes, and it follows how fleets charge. The downside is that customers can't predict the price as easily, and it still ignores whether the address is an office, a walk-up or a doorman building.
How much more should same-day or rush delivery cost?
Enough to cover the extra cost of a dedicated driver right now instead of a batched run later. Many shoppers will not pay for speed at all, and many others will for urgent items, so offer both and let them choose. Price rush higher on small orders, where the fee is a bigger share of the cart.
Should I build delivery into my product prices instead?
It lowers the visible fee, but it overcharges customers who pick up or live nearby, and it hides the real cost of delivery from you. If you do it, do it partly: a small visible fee plus a little in price, and still track the cost of each delivery.
Should I run my own drivers or use DoorDash, Uber and other fleets?
Usually both. Your own drivers win on dense, predictable routes and premium service; fleets win on spikes, far zips and same-day. Model what a stop costs on your drivers today and compare it with fleet quotes per order. Getcho shows that comparison on every order.
Does the delivery fee change during holidays or peak times?
Courier costs rise when drivers are scarce, like holidays, bad weather and evenings. Raise rush prices or tighten same-day caps during peaks, and push customers toward scheduled windows that can be batched.
How do I test my delivery prices?
Change one thing at a time, such as the free threshold, one zone price or the rush premium, and watch conversion at checkout and the delivery deficit together for a few weeks. Getcho shows both, so you can see if a lower fee paid for itself in more orders.
Is a flat local delivery fee a good idea?
A flat fee is simple, but it is set from an average order, so it loses money on far, heavy and commercial deliveries and overcharges nearby customers. If you keep one, check how many deliveries cost more than the fee, and price the outliers separately.
Should local delivery be free?
Free delivery can lift conversion, but it should be a choice made with the cost known, not an accident. A loss on delivery can be worth it for a high-value repeat customer. Giving it away on every large order usually means losing money on the orders that are most expensive to deliver.
How do I expand my local delivery area without losing money?
Add fleets that already cover the farther areas instead of stretching your own drivers, and price the longer runs to their cost. Minus Moonshine started delivering same-day from Brooklyn into Manhattan within a few days by adding local carriers. 67 Wine replaced a weekly run to Brooklyn with fleets that deliver to Brooklyn and Queens daily for less, and tripled orders there.
Does this only work on Shopify?
On Shopify, Getcho sets the delivery prices shoppers see at checkout through live carrier rates. For stores on WooCommerce, Square or Lightspeed, the Getcho team sets it up with you.

What business customers are saying

And their customers.

Join the best businesses in the world and start using Getcho to orchestrate all your local deliveries.

By Evandro Nadal, COO, Getcho · Last updated: