Money may earn a commission when you click on the products and services below. Opinions are our own,
but compensation and in-depth research determine where and how they appear. Learn more about how we make money.

Originally Published: Aug 03, 2020
Originally Published: Aug 03, 2020 Last Updated: Oct 21, 2020 27 min read
Money; Shutterstock

Millions of Americans tried online grocery shopping for the first time ever in 2020. And these grocery delivery services, which saw explosive growth starting in March as shelter-in-place orders took hold because of the coronavirus pandemic, haven't exactly make a good first impression.

"For the first two months, it was a horrible experience for almost everyone," says retail expert and "Supermarket Guru" Phil Lempert.

The biggest reason for complaints was the most obvious one — people couldn't order groceries online at all, because it was impossible to find available delivery slots.

In addition to insanely high demand for online grocery delivery, the services struggled because they had to hire hundreds of thousands of new shoppers and drivers to complete orders, and some of the rookies were barely trained novices in the grocery store. "One time, I had ordered red bell peppers, and my shopper substituted apples instead," says Lempert. On a related note, another source of annoyance was how often the workers handling shoppers' orders had to substitute items on customers' lists or cancel them because store shelves were bare.

An ongoing frustration has been that online grocery delivery is more expensive compared to running to the supermarket yourself: By the time delivery fees, markups, and tips are included, online grocery shoppers could easily be paying 20% to 30% extra (read more on online vs. in-store grocery prices down below).

More recently, supermarket inventory has improved, online grocery delivery services have become more polished, with glitches removed from apps and better training for workers picking up orders. At the same time, customers have gotten used the online grocery delivery, and they know more about how to work the system and what to expect.

People are ordering more groceries online lately, even as states have reopened and it's become easier for shoppers to hit the store themselves. A recent study indicates that 45.6 million U.S. households bought some of their groceries online in June, spending a total of $9.2 billion — a 9% increase from May. Even after the pandemic, huge growth is expected for online grocery sales: By 2025, according to one study, online grocery will represent over 20% of all grocery sales, up from less than 3% in 2019.

As the dust settles on online grocery shopping, and the experience becomes more predictable and normalized, we thought it was time to look over all the options and evaluate them based on price, selection, customer service, and more.

Tips for the Best Online Grocery Delivery Experience

How do you go about figuring out the best online grocery service for you? And how do you avoid pitfalls and get the most out of ordering groceries online? Use the following guidelines to save time and hassles:

• Check delivery availability for your address. Do this first. There's no reason to browse for groceries online with a service that doesn't deliver where you live.

• Check delivery time availability. Do this next. And possibly do this often if you're having trouble getting a confirmed delivery time. Finding an available delivery slot was impossible for many shoppers during the early days of the coronavirus pandemic, and some services are still struggling to keep up with customer demand. In some cases, you can't select a delivery time unless your shopping cart already has enough in it to reach the minimum order amount (often, $30 or so). So, if necessary, put some of your regular grocery items in the virtual cart as you look for delivery slots.

• Check delivery fees. Check membership and minimum order requirements, and service fees, too. These factors, in addition to the actual prices and quality of the groceries, help determine whether you're getting good value or not from a given service. Take note that some services encourage (or force) you to create an account and give them your email address before you can check on delivery availability, browse grocery prices, and see all the fine print.

• Consider coupons and rewards programs. Most online grocery services offer some kinds of discounts and promotions. But don't expect them to accept all of the same coupons allowed in traditional stores. You might not be able to pile up rewards points (which can be used for gas or grocery discounts) or get special week deals through your supermarket's loyalty program either. Read the service's FAQ page for an entry on rewards programs to get the lowdown.

• Select items carefully. And consider leaving some off your list. Fragile bags of chips can arrive crunched into tiny pieces, fruit can be bruised during delivery, and the roast picked out by your shopper might be too fatty for your liking. "The number one complaint about online grocery involves the picking out of produce and the picking out of meat," says Supermarket Guru Lempert. These are just a taste of the common complaints among online grocery shoppers, and they're part of the tradeoff for getting groceries delivered to your doorstep.

• Look closely at sizes and packaging too. When ordering groceries online, it's easy to make mistakes and mix-ups that would never happen in the store. For example, on a phone or laptop screen, a tiny 8.9-ounce box of Cheerios looks an awful lot like a family-sized 20-ounce box of Cheerios. And if you want four pounds of sugar for baking, look closely to ensure you're ordering one 4-pound bag, as opposed to a box of individual sugar packets. (Yes, screwups like this happen.)

• Tip! And be generous! Grocery delivery worker pay varies across the different services, but it's safe to say no drivers are making big bucks. Most people delivering groceries nowadays are independent contractors, not full-time employees (a.k.a. "gig workers"), and customers should bear in mind that this is not an easy or stress-free job, given the coronavirus pandemic. The point is: You really should tip your delivery person. How much you tip, and what you consider generous, is a subjective matter. Our take is that you should give at least $5 for smaller orders, and 10% or a flat $10 is reasonable for more typical grocery orders of $75 to $150. Some services automatically add a default tip percentage to customer orders, while others leave the line blank, and it's up to you to enter a tip or adjust the amount as you want.

• Double check orders before the cutoff. The final bill is based on prices and promotions when your order is fulfilled — and they can be different from when your order was created. So, before the cutoff for making changes expires, look over your order, double check prices, browse once more to see if new promotions and online coupons apply to anything you need, and make last-minute adjustments as you see fit.

• Opt for substitutions (or not). Most grocery delivery services will substitute similar items if the specific groceries on your list are unavailable. For example, if your preferred brand of flour, ice cream, or lemonade isn't in stock as your order is being fulfilled, you might wind up with alternatives from another brand. If you're particular about the brand or size you want, make sure your click the option stating that substitutions are not OK. (The default is for substitutions to be allowed.) Try to be available around the time your order is being fulfilled, because drivers for some services will text you while they're inside the store to see if specific replacements or substitutions are acceptable.

• Double check orders after they arrive. Items on your list might be out of stock, and therefore they won't arrive with your order (or a substitution will be included, as mentioned above). Sometimes, the service just screws up and forgets to include items on your list. After delivery, do a quick inventory and check the bill, to make sure you haven't been charged for things you didn't receive. If a mistake has happened, follow up on it right away with customer service. You'll forget about it otherwise. The good thing is that most services are quick to give refunds when they're called for.

Best Online Grocery Delivery Services, Updated October 2020

Best for Low Prices and One-Stop Shopping: Walmart

Delivery fee: $9.95, or free for pickup or Walmart+ members
Minimum order: $30
Membership: Walmart+ for $12.95 per month or $98 annually

Walmart's online grocery shoppers get the same everyday low prices that customers do in their local stores. In addition to good value, Walmart's service is convenient: Customers have the option to order groceries online and pick them up curbside at no extra cost (some services charge fees for order pickup). Customers can also add non-grocery items — socks, batteries, Scotch tape, and any other random things you'd buy at Walmart — to their pickup or delivery purchases.

Early on in the coronavirus pandemic, online grocery delivery demand was sky-high and Walmart only allowed shoppers to reserve delivery slots over the next two days. Walmart has since expanded the deliver order window to seven days, at the same time that customer demand has moderated, making it much easier to find an available slot.

There is no membership required for Walmart online grocery orders, but the retailer has upgrade its Delivery Unlimited program to a serviced called Walmart+, which gives free grocery deliveries for $12.95 per month or $98 per year. New subscribers can try out Walmart Plus during a 15-day free trial.

On September 1, Walmart announced a new service, Walmart Plus (or Walmart+), which went live September 16. It costs the same as Delivery Unlimited ($98 per year, or $12.95 monthly), and comes with unlimited free delivery for orders or groceries and other items if you meet a $35 minimum purchase. Subscribers also get 5% off on Walmart gas purchases and access to a new "Scan & Go" feature, which allows you to scan items at Walmart and pay for them with your phone to avoid checkout lines. If you are currently a member of Delivery Unlimited, you'll automatically be upgraded to Walmart+.

Best for Convenience (Especially for Amazon Prime Members): Amazon

Delivery fee: Free or $5.99
Minimum order: Varies
Membership: Amazon Prime ($119 annually) often required

Amazon customers can place grocery orders through a variety of Amazon services, including Amazon Pantry (featuring a wide variety of items that don't need to be refrigerated), Amazon Fresh, and Prime Now deliveries from Whole Foods Market. And you can get your groceries to your doorstep in remarkably fast and convenient fashion: Amazon promises that qualifying customers can get Prime Now deliveries two hours after the order is placed, free of charge, with a minimum $35 purchase.

Not everyone has these services available to them, however. To order Amazon Fresh or pickup or delivery with Whole Foods, you must be a subscriber to Amazon Prime, which normally costs $12.95 monthly or $119 annually and is available for a 30-day free trial to new members. Prime membership is not required for Amazon Pantry orders, but non-members pay a $5.99 shipping fee for each order, while Prime subscribers get free delivery with a minimum $35 purchase.

Because of the variety of options, fees, and requirements, as well as the fact that each service's availability varies around the country, ordering groceries via Amazon can be confusing. Suffice it to say that Amazon grocery orders are best for people who are big Amazon shoppers — and are probably not worth the trouble if you're not already a Prime member.

As for Amazon grocery prices, it's a mixed bag. Whole Foods prices tend to be higher than the typical grocery store — hence its reputation as "Whole Paycheck" — yet special discounts are available exclusively to Prime members, and you can get good deals by shopping selectively. It's a similar story with other Amazon grocery services: You'll can snag low prices for certain items when there are sales and promotions, but may be charged a premium for other goods.

As of October 21, Amazon Prime members became eligible for a new service: free one-hour pickup of $35+ grocery orders at any Whole Foods Market store, nationwide.

Best for Basic Groceries and Service: Peapod and Shipt


Delivery fee: $6.95 to $9.95
Minimum order: $30
Membership: Not required

Peapod is a grocery delivery pioneer, first launched in the late 1980s before becoming a dotcom darling around the millennium. The company has had plenty of time to tweak and smooth out its processes and adequately train shoppers and drivers — who are hourly employees, not gig workers. The result is a solid, time-tested, reliable online grocery delivery service, with selection, quality, and prices on par with what you'd find in your local supermarket.

Peapod is now owned by supermarket giant Ahold Delhaize, and it specializes in online delivery for the company's grocery store brands mostly located along the East Coast, including Stop & Shop and Giant. During the summer of 2020, Peapod is in the process of rebranding its delivery and pickup services to be specific to each grocery chain. So, for example, instead of ordering from Peapod, you'd now place your orders at or

If you're a regular shopper at one of the company's grocery stores, and you're in the market for online grocery delivery or pickup, then it's worth giving Peapod or its related services a try. If you're a new customer, enter the code 60DAYSFREE at checkout, and you'll get free delivery or pickup and $20 off your first order of $75 or more, as well as continued free delivery or pickup for 60 days on orders of at least $60. After that, Peapod costs $6.95 to $9.95 per order — you'll pay at the lower end if your purchase is large ($100 or more), or if you opt for a flexible delivery window (within four hours, as opposed to one hour).


Delivery fee: $9.99 or free with membership
Minimum order: $35
Membership: $14 per month or $99 annually

Shipt is another delivery startup that was purchased in recent years by a retail giant: Target. Today, Shipt handles grocery delivery and same-day delivery for Target, as well as major grocers and retailers like Publix, Vons, Pavilion, Meijer, CVS, Office Depot, and Petco in 270 U.S. metro areas.

Like so many other grocery delivery services, Shipt struggled in the spring of 2020 to keep up with shopper demand, and many would-be customers complained about cancelled orders and how impossible it was to find a delivery time. More recently, Shipt appears to have hit its stride. It's been much easier for customers to place orders, and relatively few glitches are being reported. Supermarket Guru Lempert says that Shipt has done an above-average job of training its shoppers, and he particularly likes that the same shoppers often make deliveries to the same addresses — because the personal touch and repeat interactions help foster a good rapport between driver and client.

On the other hand, Shipt shoppers are unhappy in some parts of the country. A walkout was staged in several metro areas on July 15 over changes that reportedly result in lower pay for delivery drivers. (Check out the Shipt Shopper Reddit community if you want insights about what drivers care and complain about.)

Grocery prices via Shipt can be higher than what you'd find in the store too: Shipt says that "when ordering from select retailers, a small service fee will be added at checkout." The "small" fee is usually in the neighborhood of 15%, and that markup can add up to significant money for big orders over time.

Shipt members get free delivery on orders over $35, and membership costs $14 monthly or $99 per year. (There's also a four-week free trial when signing up for Shipt via Target.) Shipt steers shoppers into signing up for memberships, but if you manage to successfully navigate the app and find the option, you can place an order without becoming a member — for $9.99 per order.

Best for Delivery Availability and Store Variety: Instacart

Delivery fee: $3.99 to $7.99, or free with Instacart Express
Minimum order: $35
Membership: Instacart Express for $9.99 per month or $99 annually

Instacart has grown significantly in 2020, adding 300,000 shopper/drivers to pick up and deliver customer orders for roughly 400 retailers in North America, including major grocery sellers like Albertsons, Aldi, Costco, Safeway, Wegmans, Stop & Shop, Publix, and more. The expansion has helped Instacart fulfill more orders and hit record-high sales in recent months.

With so many new drivers and first-time customers, it's unsurprising things have sometimes been chaotic: Check out Instacart's social media pages, and you're bound to see complaints about cancelled orders, items that were paid for not and not delivered, and difficulties getting in touch with customer service to clear things up. Instacart drivers' social media accounts, meanwhile, are often full of gripes about poor tippers and how complicated it is to navigate stores and make sense of Instacart's payment algorithms to actually make deliveries worth their time.

So while it's been easier to get confirmed grocery delivery slots with Instacart than it has been from many other services, all is not smooth sailing. Instacart often has coupons and sales to browse through on its website or app, but special in-store promotions, coupons, and reward point programs may not be available to customers. Instacart can be pricey too.

When using Instacart to place an order with Costco, you'll notice an alert stating that "prices are higher than your local warehouse," and "Costco members also do not earn 2% executive reward on Instacart." Instacart says it adds its own service fees starting at 5%, and enters a default tip of 5% on all orders. In practice, the markup can be much higher. When Stop & Shop was offering Ben & Jerry's pints on sale at $3.50 each for customers with a rewards card, for example, ordering that same pint of Ben & Jerry's from Stop & Shop via Instacart cost $6.19.

Albertsons-owned grocery chains such as Shaw's, Vons, Safeway, and Jewel-Osco, do not let customers accumulate rewards program points or get loyalty club discounts on Instacart orders. But sometimes it's not clear whether it's possible to compile rewards card points or get the associated discounts with Instacart orders. (To see if your store's loyalty program works with Instacart, log into your account and look to see if there's a spot to add your membership information under "Account Settings" and then "Loyalty Cards.")

One alternative to Instacart or Shipt is to simply see if you can buy groceries online directly through the retailer, for pickup or delivery. Safeway, for one, has been giving $20 off and free delivery on first online orders when you enter the promo code SAVE20 at checkout, and the promotion highlights that it is "Not valid on orders fulfilled by Instacart."

Best for Fresh and Local Groceries: Various Options

It's been difficult for even the largest retail operations to get up to speed with consumer demand for online groceries in 2020. For smaller independent grocery stores, it's been far more challenging to offer fast and smooth online grocery services.

But many small grocers are indeed accepting orders online for delivery or pickup. "Grocery stores have been taking fax orders for years," says Lempert, and operations that process independent supermarket orders via email or the web are just streamlined updates. Many independent grocery stores are also working with Instacart, though as mentioned above customers can expect to pay a premium for the service.

To find local grocers with online delivery, start by heading to your preferred store's website, or simply call and ask. You might also ask neighbors for recommendations in real life, or through NextDoor and Facebook groups, to see if there are options you don't know about. Before ordering, make sure you understand the fees and requirements involved: There will almost always be a delivery fee, and some add on a service fee of 15% or so for "assembly."

Here are a few services and resources to check out if you're interested in ordering fresh, local (and perhaps quirky) groceries online:


This online grocery delivery platform works with over 1,200 independent grocers and shops around the country. Just plug in your zip code to find options for delivery and pickup in your area, as well as delivery fees and minimum orders for each store. The "MercatoGreen" service gives free unlimited delivery for orders within a 10-mile radius, and costs $19 a month after a free two-week trial.

Thrive Market

Frequently described as "Costco meets Whole Foods," Thrive Market is an e-commerce membership club that promises low wholesale prices and home delivery on a variety of organic and non-GMO groceries and home and beauty supplies. For the most part, Thrive Market features pantry staples — crackers, pasta, condiments — from their generic house brands, but "thoughtfully sourced" seafood and meat is available too. Overall prices aren't super low, but they are competitive if not cheap compared to their organic counterparts at most supermarkets. Membership costs $9.95 per month or $59.95 annually, after a 30-day free trial, and delivery is free for members on orders of $49 or more.

Imperfect Foods

What happens to produce and pantry items that are perfectly edible but whose appearance isn't up to snuff for grocery store shelves? Most of it gets tossed in the trash. But some winds up being delivered to customers via Imperfect Foods. Every customer receives a regular shipment of "delicious, ugly produce," and can then customize orders to add or remove items according to taste. Delivery is available for a $5 to $6 fee to approximately half of the U.S. (there are big gaps in the Southeast and the Mountain Standard Time region), and there is often a $30 minimum order.

In-Store vs. Online Grocery Shopping: How to Get the Cheapest Prices

How do you find the cheapest grocery prices? As always, the only true way to find out if you're getting the best deal is by shopping around.

When possible, browse a supermarket's weekly circular, or just use your memory or an old bill from a recent physical grocery shopping excursion, to compare those prices with what you see while putting items in your virtual shopping cart. Some retailers promise that online prices are the same as in-store, but this policy might not apply to all items, and it's not universal among all services.

You may encounter another supermarket that charges a flat $1 per apple online, but those same apples are priced by the pound in the store. When you order Costco delivery through Instacart, you'll pay higher prices than what Costco members find in the warehouse store aisles. Same goes for many other retailers: A package of Nathan's hot dogs might cost $5.99 in Stop & Shop or through its partner delivery service Peapod, but costs $6.99 if ordered with Instacart.

The bottom line is that, because of pricing strategies, delivery and membership fees, and tipping, you're all but guaranteed to pay more for online grocery delivery compared to shopping in the store. Perhaps 20% to 30% more. And, depending on your personal situation, that may be totally acceptable. You're paying extra for convenience, and perhaps for the sake of health and peace of mind. Just make sure that you're not paying so much extra that you feel ripped off.

Also, don't overlook the positives of online grocery shopping. Yes, it saves lots of time. It can also save you from making silly impulse purchases of items that are strategically and temptingly placed in supermarket aisles and checkout areas.

More From Money:

The Best Mattress for Your Money — and Every Kind of Sleeper

The Best Online Pharmacies of 2020

The Best Streaming Services for Your Money Right Now