
Delivery fee: how to charge without losing customers
Charging a delivery fee the wrong way drives customers away and erodes your margin. Learn how to calculate a smart delivery fee based on distance, without overcomplicating your operations.
Charging a delivery fee isn't the problem.
The problem is charging it the wrong way.
When a restaurant uses a flat fee for every neighborhood, it almost always falls into one of two traps: either it charges too little and loses margin, or it charges too much and loses the order.
The problem with flat fees vs. per-km fees
A flat fee seems simpler to operate, but it's rarely the fairest option.
Think about two customers:
- one lives 1.2 km from your restaurant;
- the other lives 6 km away;
- both place a similar order;
- both pay the same delivery fee.
In this scenario, someone is subsidizing someone else.
If the flat fee is low, you absorb too much cost on long-distance orders.
If the flat fee is high, the customer who lives nearby finds it unfair and abandons the purchase.
That's why, in most operations, a distance-based fee works better than a flat fee.
How to calculate the ideal distance-based fee
The calculation doesn't need to be complex. It needs to be consistent.
You can start from 4 components:
| Item | What to consider | |------|------------------| | Route cost | fuel, in-house driver or third-party | | Delivery time | the farther the destination, the longer the driver is tied up | | Product type | pizza, burgers, and meal preps handle the trip differently | | Minimum margin | the value below which delivery no longer makes sense |
A simple approach to get started is:
base fee + add-on per distance bracket
Example:
| Distance | Suggested fee | |-----------|---------------| | up to 2 km | R$ 4.99 | | 2 to 4 km | R$ 6.99 | | 4 to 6 km | R$ 8.99 | | over 6 km | evaluate whether delivery is still worthwhile |
This model already solves most of the problem without creating operational headaches.
What customers accept vs. what drives them away
Customers don't like high fees with no explanation. But they usually accept a delivery fee when they see the logic behind it.
What typically works best:
- lower fee for customers who are nearby;
- progressive pricing by distance;
- transparency before the order is finalized;
- a delivery timeframe that matches the fee charged.
What drives customers away:
- the same fee regardless of neighborhood;
- a high delivery fee on a small order with no minimum;
- only finding out the fee at checkout;
- paying a high fee and still getting a late delivery.
In practice, customers will tolerate paying a delivery fee when they feel predictability. What irritates them isn't just the amount — it's the sense of unfairness.
A tool that automates the calculation by delivery zone
Doing this manually over WhatsApp causes problems fast.
When the fee depends on zip code, neighborhood, or distance, the ideal solution is a tool that:
- draws the delivery area;
- divides it into zones or brackets;
- calculates the fee automatically;
- shows the amount before the customer completes the order;
- blocks orders outside the delivery area.
Quickap lets you configure exactly that: you define the zones on the map, assign a fee per bracket, and the customer sees the delivery fee before checking out — no need to ask over WhatsApp.
That's what prevents disputes, human error, and wasted time in customer service.
Per-km or per-zone: which model to choose?
Both work. The best one depends on your operation.
Per-km fee
Best when:
- your city has neighborhoods with very different distances;
- you want more precision;
- your tool already calculates it automatically.
Per-zone fee
Best when:
- you want something simple to communicate;
- your operation is just getting started;
- your delivery neighborhoods are well defined.
In many cases, delivery zones are the entry point, and actual distance is the natural next step.
Practical examples: pizzeria and burger joint
Pizzeria
Pizza loses quality fast once it goes past the ideal travel window.
A pizzeria serving up to 5 km can use something like:
- up to 2 km: low fee to encourage volume;
- 2 to 4 km: mid-range fee;
- 4 to 5 km: higher fee or a raised minimum order.
This protects temperature, prevents returns, and reduces complaints about product that arrived "soggy."
Burger joint
Burgers hold up better over some distances, but they suffer when it comes to fries, crunch, and assembly.
In this case, it's worth combining:
- progressive pricing;
- a smaller radius during peak hours;
- a more conservative estimated delivery time;
- combos with better margins to offset logistics costs.
Common mistakes when setting the delivery fee
Some mistakes show up in nearly every restaurant:
- copying a competitor's fee without understanding their operation;
- ignoring time and focusing only on distance;
- accepting far-off neighborhoods just to "not lose the customer";
- charging too little and trying to make up for it with volume;
- never revisiting the fee as fuel costs, demand, and coverage areas change.
When it makes sense to offer free delivery
Free delivery can work really well — but as a strategy, not a rule.
Use it when:
- the minimum average ticket protects your margin;
- the promotion is limited by area;
- the product has strong profitability;
- you want to activate slow time slots.
Example: free delivery on orders over R$ 70 within 3 km
This increases the average ticket without turning delivery into a loss.
How to put this into practice without disrupting your operations
Start simple:
- list the neighborhoods where you already deliver today;
- group them by distance;
- set a base fee;
- create 3 or 4 brackets;
- monitor rejection rate, margin, and actual delivery time.
After 2 to 4 weeks, adjust.
Charging a delivery fee doesn't drive customers away.
What drives them away is a fee with no logic behind it.
When the delivery fee is clear, proportional, and automatic, customers understand it better — and your operation stops paying the price in the dark.
Pronto para vender mais sem taxa por pedido?
Crie seu cardápio digital grátis e comece a receber pedidos hoje.


