CentsPerServing
Compare

Online Grocery Markups: What Delivery Really Adds to a $24.85 Basket

TL;DR: Online groceries cost more in two unrelated ways: an item markup that scales with your basket, and per-order fees that do not. Our median 4-serving dinner basket runs $24.85 at a real Kroger store. At the 23% item markup an independent 2025 investigation measured at two other chains, that same basket becomes $30.57 before a single fee. Pickup priced from the store's own shelf tags skips the markup layer entirely, which is why the flat-fee model usually wins on baskets over about $22.

Markup and fees are two different charges

Online groceries cost more than in-store shopping in two separate ways, and they behave in opposite directions. An item markup raises the price of every product in the cart, so it grows with the size of your order. Fees - delivery, service, priority, membership - are mostly fixed per order. One punishes big baskets, the other punishes small ones.

Almost every "is delivery worth it" article blurs these together into a single percentage, which is why the answers never agree. They cannot agree, because the right answer flips depending on how much you are buying. Separating the two charges takes five minutes of arithmetic and changes which service you should be using.

What the platforms disclose about item markups

Instacart's own help documentation is clear that item prices are not automatically store prices. It states that retailers set the item prices on the Instacart marketplace, and that some retailers set prices on the platform that are different than in-store prices. Where a markup applies, a standard markup is applied to all items.

That policy is disclosed on each storefront. Beneath a retailer's logo you will see one of a few labels: "Everyday Store Prices", "Higher than in-store prices", or "View pricing policy", which opens the detail for that specific chain. So the honest answer to "does delivery mark up prices" is: it depends on the retailer, and the platform will tell you which model you are shopping under if you look.

For a number, the best independent measurement is a 2025 investigation by Groundwork Collaborative with Consumer Reports and More Perfect Union. Across five tests involving 437 shoppers at Target and Safeway, it found Instacart prices ran up to 23% higher than in-store for identical items, that 74% of items were offered at multiple price points, and that basket totals varied about 7% on average. The group estimated a cost swing near $1,200 a year for a household of four.

What a 23% markup does to a real dinner basket

Percentages are abstract until you attach them to a receipt. We priced 257 four-serving dinner recipes item by item at a real Kroger store in July 2026, with real shelf prices, real package sizes, and package counts rounded up the way a shopper actually buys. The median basket came to $24.85, and the middle half ran $17.22 to $36.44.

Applying the 23% figure to those baskets is arithmetic, not a measurement of Kroger prices on any platform - it shows what the study's upper bound would do to ordinary dinner shopping:

Shelf price at the store (green) vs the same basket with a 23% item markup (orange) Cheaper quarter $17.22 $21.18 Median basket $24.85 $30.57 Pricier quarter $36.44 $44.82 Basket totals for 4-serving dinner recipes, Kroger store 01400513, July 2026 (n=257).

Sources: our own pricing runs for the shelf prices; the 23% figure is the upper bound reported by Groundwork Collaborative with Consumer Reports, 2025, at Target and Safeway.

Because retailer markups vary, here is the same median basket under three markup levels, none of which include any fee or tip:

Item markupMedian basketExtra per basketFive dinners a week
None (store shelf price)$24.85$0.00$124.25
5%$26.09$1.24$130.46
10%$27.34$2.49$136.68
23%$30.57$5.72$152.83

Our data, priced at a real Kroger store, July 2026. Markup levels applied arithmetically for illustration.

Fees are the other half of the bill

The fee side is harder to quote because platforms deliberately keep it variable. Instacart's help center says the delivery fee varies based on the retailer, delivery window, and order total, and that service fees vary and change based on factors like location and the number and types of items in your cart. Certain retailers also carry a pickup fee.

Two more lines can appear. Priority fees apply when you pick a faster delivery window, and Instacart says it may charge a long-distance service fee if the delivery route is 15 or more minutes or includes a toll. Then there is the tip, which is not a fee at all - it goes to the shopper, and treating it as an optional discount is the wrong instinct.

Memberships attack the fee line only. Instacart+ costs $9.99 a month or $99 a year and gives $0 grocery delivery fees on orders of $10 or more, but the same page notes that service fees still apply. Nothing about a membership changes what the items themselves cost, so a retailer markup survives it untouched.

Percentage or flat fee: where the break-even sits

Here is the arithmetic almost nobody runs. A flat fee costs the same whether you buy $12 or $120 of food, while a markup grows with every item. That means there is a break-even basket size for any pairing, and it is simply the fee divided by the markup rate. Below it, the markup is cheaper. Above it, the flat fee wins.

Flat fee per orderBeats a 5% markup aboveBeats a 10% markup aboveBeats a 23% markup above
$3.99$79.80$39.90$17.35
$4.95$99.00$49.50$21.52
$6.95$139.00$69.50$30.22
$9.99$199.80$99.90$43.43

Break-even basket size = flat fee divided by markup rate. Fee amounts are illustrative round numbers, not quotes from any retailer.

Read the last column against real basket sizes. Our median dinner basket of $24.85 sits above every break-even in that column except the $9.99 row, which is the whole argument in one line: at markups near the high end, a fee-based service is cheaper than a marked-up one for most normal grocery orders. Flip to the 5% column and the conclusion reverses completely.

Most single-recipe baskets never clear the minimum

Flat fees hurt worst on small orders, and single-recipe shopping produces small orders. Of the 257 four-serving dinner baskets we priced, 72% came in under $35 - the threshold retailers commonly attach to free delivery - and the median basket held just 8 items. Only 4% fell under $10.

That is the practical trap in fee-based shopping: a $17 basket carrying a $6.95 delivery fee is paying an effective 41% surcharge, worse than any item markup discussed here. The fix is not a different service, it is a bigger basket. Combining several recipes into one order pushes the total past the minimum and spreads any fixed charge across more meals, which is what a combined basket is for.

Pickup is the model with no item markup

A retailer's own pickup service is a third model that the markup-versus-fee framing tends to skip. Because you are ordering from the store's own site against its own shelf tags, item prices are the in-store prices, and the only variable is a flat pickup fee tied to an order minimum. There is no per-item spread to reason about at all.

Shoppers have quietly voted for this. In FMI and NielsenIQ research published in February 2025, curbside pickup was used by 31% of shoppers versus 29% for same-day home delivery, and more than 90% of shoppers now shop both online and in-store. The same research projected online grocery reaching $388 billion and about 25% penetration by 2027.

The caveat: pickup ordered through a third-party marketplace is not the same thing as pickup ordered from the retailer. The pricing that applies is the one attached to the storefront you are shopping, so a marketplace pickup order can still carry that marketplace's item prices. Check the storefront label, not the fulfillment method - and remember that even two branches of the same chain can ring up the same list differently.

Check your storefront's pricing policy before you order

You can settle this for your own store in about a minute, and the answer is worth more than any national average. Open the retailer's storefront in whatever app you use and look directly beneath its logo for the pricing policy line, then tap it. That text tells you whether you are shopping at store prices or at marked-up prices.

Then verify it the old way. Pick three items you buy every week, note the online price, and compare against your last paper receipt from that same store. Three items is enough to spot a standard markup, because when a markup applies it is applied across the catalog rather than to selected items. It also catches the subtler issue the Groundwork tests flagged - the same item offered at more than one price point.

Finally, price the fees against your actual basket rather than a hypothetical one. If your typical order looks like ours - 8 items, mid-$20s - a $6.95 fee is a bigger deal than a 10% markup, and no membership fixes the item prices underneath.

What this means for a weekly grocery budget

Scale it to a week. Five median dinners for four people run $124.25 in ingredients at shelf prices. A 10% item markup makes that $136.68; the 23% upper bound makes it $152.83, or $28.58 a week extra for identical food. Held for a year, the high-end version is a four-figure difference on dinner alone.

For context, USDA ERS reported food-at-home prices in May 2026 were 2.7% higher than a year earlier. Delivery convenience, priced at the high end of the range, can cost several years of grocery inflation in a single order. That is not an argument against ever using it - it is an argument for knowing which of the two charges you are paying and choosing the cheap side deliberately, the same way you would choose store brand over name brand or frozen over fresh.

Our own handoff sends your priced basket to your Kroger cart at that store's prices, so what you see in the basket is what the shelf tag says - and what happens after that, pickup or delivery, is your call with the fee math in hand. More price comparisons live in the Compare series, the weekly view is in our family-of-four grocery budget breakdown, and the week builder assembles a full dinner plan against a budget you set.

Price your basket at shelf prices first

Paste a recipe URL or ingredient list and see the item-by-item total at your local Kroger, before any markup or fee - free, no account.

Price a recipe

FAQ

Does grocery delivery cost more than the same items in the store?

Usually, in two separate ways. Delivery marketplaces may apply an item-level markup that raises the price of every product, and they add per-order charges like delivery and service fees. Instacart states that retailers set item prices on its marketplace and that some set prices different from their in-store prices.

How much do delivery platforms mark up grocery items?

It depends entirely on the retailer's pricing policy. A 2025 investigation by Groundwork Collaborative with Consumer Reports and More Perfect Union found Instacart prices up to 23% higher than in-store for identical items at Target and Safeway, across five tests with 437 shoppers. Some retailers list everyday store prices with no markup.

What does a 23% markup add to a normal dinner basket?

Our median 4-serving dinner basket costs $24.85 at a real Kroger store. A 23% item markup adds $5.72, taking it to $30.57 before any delivery fee, service fee, or tip. Across five such dinners in a week, the same markup adds $28.58.

Is a percentage markup worse than a flat delivery fee?

It depends on basket size. A flat fee is fixed no matter how much you buy, while a markup grows with the total. At a 23% markup, a $4.95 flat fee is the cheaper deal on any basket above $21.52. At a 5% markup, the same fee only wins above $99.

Does grocery pickup have the same markups as delivery?

Not necessarily, because pickup from a retailer's own site is usually priced from that store's shelf prices rather than a marketplace catalog. The charge, if any, is a flat pickup fee tied to an order minimum. Pickup ordered through a third-party marketplace can still carry that marketplace's item pricing.

How do I find out if my store marks up prices online?

On Instacart, the pricing policy appears beneath the retailer's logo on its storefront: Everyday Store Prices, Higher than in-store prices, or View pricing policy. Tapping it explains how that retailer sets prices. The most reliable check is comparing three items you buy every week against your paper receipt.

Does a delivery membership remove the markup?

No. Instacart+ costs $9.99 per month or $99 per year and waives grocery delivery fees on orders of $10 or more, but Instacart states that service fees still apply. A membership removes a fee line, not the item prices, so any retailer markup survives it.

Do single-recipe grocery orders clear free-delivery minimums?

Mostly not. Of 257 four-serving dinner baskets we priced at a Kroger store, 72% came in under $35, the common free-delivery threshold, with a median of just 8 items per basket. Single-recipe shopping is exactly the case where flat per-order fees hurt most.

Data: our own corpus pricing runs, July 2026 - 257 fully matched 4-serving dinner baskets at Kroger store 01400513 (median $24.85, quartiles $17.22 and $36.44), 748 fully matched dinner baskets overall with a median of 8 priced items. Markup and fee figures are applied arithmetically for illustration. External sources: Instacart Help Center, item pricing (instacart.com/help/section/866017999/1586544648) and fees and taxes (instacart.com/help/section/360007902791/360039164252); Instacart+ membership page (instacart.com/instacart-plus); Groundwork Collaborative with Consumer Reports and More Perfect Union, 2025 (groundworkcollaborative.org/work/instacart/); FMI and NielsenIQ, February 2025 (fmi.org); USDA ERS Food Price Outlook, June 2026 (ers.usda.gov). Prices and fee structures change without notice. This article reports our own measurements plus cited third-party research, and is not financial advice.