Fast food delivery app markup in Canada: what the menu price hides
Verified August 6, 2026Updated September 4, 2026CAD, before taxGuide
The delivery fee is not where delivery gets expensive. The menu price is. Before a single fee lands on your checkout screen, the item itself already costs more inside the app than it does at the counter, and most people never see the two numbers side by side.
Two Canadian chains price delivery openly enough that the gap can actually be measured rather than guessed. At Kelsey's, the Uber Eats price is exactly 20.0% above the restaurant's own menu price, item after item, to within a tenth of a percentage point. At Swiss Chalet, which sells delivery directly and publishes both prices, delivery costs a flat $1.40 more than takeout on every single-serving item on the menu.
Those two numbers behave very differently, and the difference is the most useful thing on this page.
What this compares, and what it doesn't
This page is built from the two price files on this site where a counter price and a delivery price exist for the same item on the same day. It is not a personal audit of five drive-thrus, and I am not going to present it as one.
- Kelsey's publishes menu prices that, for five items, match live Uber Eats pricing to the cent. That comparison is in full on the Kelsey's price page.
- Swiss Chalet prints a takeout price and a delivery price beside each other on its own menu, for every dual-priced item. That is a rare thing: the chain is telling you the markup itself.
I have no verified delivery-side prices for McDonald's, Tim Hortons, Burger King, Wendy's or A&W, so there is no table of those here. Their counter prices live on their own pages; what a franchisee charges inside Uber Eats on any given day is not something I have checked, and a number I have not checked does not go on this site.
All prices are in Canadian dollars and exclude tax. Ontario adds 13% HST at the final screen, and delivery platforms charge that tax on the fees as well as on the food.
Kelsey's: a flat 20.0% on the menu itself
Five Kelsey's items match current Uber Eats pricing exactly. The markup underneath each one is not approximately the same. It is the same.
| Item | Kelsey's own price | Uber Eats price | Markup | Markup (%) |
|---|---|---|---|---|
| Poutine | $5.98 | $7.18 | $1.20 | +20.1% |
| Kids' Mac and Cheese | $10.99 | $13.19 | $2.20 | +20.0% |
| Chicken Caesar Wrap | $18.99 | $22.79 | $3.80 | +20.0% |
| Chicken Parm | $22.99 | $27.59 | $4.60 | +20.0% |
| Pork Schnitzel | $24.99 | $29.99 | $5.00 | +20.0% |
Five items landing within a tenth of a percentage point of each other is not a coincidence. It reads like a flat multiplier applied to the restaurant's own price list, which is exactly what most operators do: third-party platforms charge restaurants a commission on every order, and rather than absorb it, the operator raises the in-app menu price to cover it.
Two more Kelsey's items sit between the two figures rather than on the 20% line: a 10-piece order of regular wings runs 13.7% above the chain's own price, and the Whisky Bacon BBQ Burger 14.6% above. Those look like older numbers that have not been refreshed on one side or the other, so I would not read a second pricing tier into them.
Swiss Chalet: a flat $1.40, which is not the same thing at all
Swiss Chalet does its delivery pricing in dollars rather than percentages, and publishes both columns. Every single-serving item on the menu costs exactly $1.40 more delivered, with no exceptions.
A flat fee and a flat percentage feel similar at the counter. They are not. Because the surcharge never changes but the food price does, the effective markup collapses as the order gets more expensive.
| Item | Takeout | Delivery | Effective markup |
|---|---|---|---|
| Quarter Chicken Dinner | $7.99 | $9.39 | +17.5% |
| Chicken on a Kaiser | $7.99 | $9.39 | +17.5% |
| Rotisserie Chicken Club Wrap | $8.69 | $10.09 | +16.1% |
| Double Leg Dinner | $9.99 | $11.39 | +14.0% |
| Half Chicken Dinner | $11.39 | $12.79 | +12.3% |
| Fish & Chips | $11.99 | $13.39 | +11.7% |
| 1/3 Rack BBQ Ribs | $12.49 | $13.89 | +11.2% |
| Quarter Chicken & 1/3 Rack Combo | $15.49 | $16.89 | +9.0% |
| Half Rack BBQ Ribs | $16.49 | $17.89 | +8.5% |
| Quarter Chicken & Half Rack Combo | $18.99 | $20.39 | +7.4% |
The same $1.40 that costs you 17.5% on the cheapest dinner on the menu costs you 7.4% on the priciest combo. Order the cheap thing and you pay more than double the rate, in percentage terms, of the person ordering the expensive thing.
This is the general shape of delivery pricing, and it is why coffee and breakfast orders are the worst possible things to have delivered. A surcharge that is fixed in dollars is regressive by construction: the smaller your order, the larger the share of it the surcharge takes.
The two Family Paks break the pattern in the other direction. The Family Pak goes from $24.99 to $28.19 and the Chicken & Ribs Family Pak from $34.99 to $38.19, both a gap of $3.20, exactly double the single-item markup. My read is that Swiss Chalet prices delivery per portion of chicken rather than per order, so a pak feeding four carries roughly two markups. The chain does not publish the formula, so treat that as a read of the numbers rather than a confirmed rule.
What the fees do on top
The menu markup is the first of several layers, and it is the only one measured above. The rest depends on the platform, the distance and the day, so what follows is a worked illustration with its assumptions stated, not a receipt I am claiming to hold.
Take the Kelsey's Chicken Parm, where both real prices are known: $22.99 at the restaurant, $27.59 on Uber Eats.
| Cost component | At the restaurant | Delivered (illustrative) |
|---|---|---|
| Chicken Parm | $22.99 | $27.59 |
| Service fee, assumed 12% | $0.00 | $3.31 |
| Delivery fee, assumed | $0.00 | $2.99 |
| 13% Ontario HST on food and fees | $2.99 | $4.41 |
| Driver tip, assumed 15% of pre-tax food | $0.00 | $4.14 |
| Total | $25.98 | $42.44 |
The verified part of that table is the first row: $4.60 of the gap is menu markup, and you are charged HST on that markup as well. Everything below it moves with the platform and the promotion of the week. The point is the order of operations, which most people have backwards: the fees are visible and the markup is not, but the markup is already in the price you were comparing against.
How to pay less without giving up delivery
- Order from the chain's own channel where one exists. Swiss Chalet sells delivery directly at $1.40 over takeout. That is a published, honest surcharge and it is smaller than a 20% multiplier on anything over about $7.
- Order fewer, larger items. Under a flat surcharge the big order wins outright. Under a percentage markup it makes no difference, but the fixed fees underneath it still spread further.
- Never have coffee delivered. A medium Tim Hortons coffee is $1.83 at the counter. Any fixed surcharge at all, from any platform, is a double-digit percentage of that.
- Compare against the counter price, not the app's own crossed-out price. The number the app strikes through is its own inflated price, not the restaurant's.
Frequently asked questions
Do Canadian restaurants set their own delivery app prices?
Yes. Restaurants and franchise operators set the menu prices displayed inside Uber Eats, DoorDash and SkipTheDishes. The platforms do not set food prices, but the commission they charge on each order is what most operators cover by raising the in-app price.
How much more do things cost on Uber Eats in Canada?
On the one Canadian chain where this site has matched prices item by item, Kelsey's, the answer is a flat 20.0%. That figure is specific to Kelsey's and should not be assumed to hold at other chains, which set their own in-app pricing.
Is DoorDash cheaper than Uber Eats?
I have not verified matched prices across platforms, so I am not going to claim a winner. What can be said is that the operator, not the platform, sets the food price, so the food side of two apps often looks similar and the difference shows up in the fee stack.
Why does a cheap item get hit hardest by delivery?
Because a surcharge fixed in dollars takes a bigger share of a small order. Swiss Chalet's flat $1.40 works out to 17.5% on a $7.99 dinner and 7.4% on a $18.99 combo, from the same charge.
Can I avoid the markup by using the chain's own app?
Sometimes. Some chains sell delivery through their own channel at their own surcharge, as Swiss Chalet does. Others hand the order to the same third-party courier fleet and the same in-app price. It is worth checking both before ordering rather than assuming the first-party app is cheaper.
Is the delivery markup taxed?
Yes. Provincial sales tax applies to the higher menu price shown in the app, and to the service and delivery fees on top of it, so you pay tax on the markup and tax on the fees.
Methodology and disclaimer
Kelsey's counter and Uber Eats figures come from the price comparison on this site's Kelsey's page, where five items match live delivery pricing to the cent. Swiss Chalet takeout and delivery prices come from the chain's own dual-priced menu as recorded on the Swiss Chalet page, verified August 6, 2026. Percentages are calculated from those figures. Service fees, delivery fees and tips in the worked example are labelled assumptions, not measured charges. Delivery pricing varies by province, city, platform and franchise owner.
Froqel is an independent price guide. We are not affiliated with, endorsed by, or sponsored by any restaurant chain or delivery platform named here. All trademarks belong to their respective owners.
