It is difficult to express, "Please give me the cereal that I like the most that is under $X/lb. If there is an exceptional deal, buy more." without an API or scripting.
Herein lies the path to coming home to a cart filled with very-cheap-cause-it-expires-tomorrow produce and no tooth paste because it didn't make the cut under some top dollars limit you introduced to fix another optimization loophole.
1. Everyone's "algorithm" is different. Even if you could bake every possible filter into your eGrocery product, can you imagine the UX nightmare?
2. The "that I like the most" is a tough thing to quantify. Who is "I"? Me? My wife? My kids? My mom who's coming to visit this weekend? What do I like? Specific brands? Things I've bought before? From that store, or a different one? Things I might like because they share characteristics?
The downside, for the vendor, is that I'd also wind up scripting price-searching at multiple local grocery stores for equivalent items. If I can just curbside pick up what I need at both stores, they're literally next-door to each other.
That one is really important with fresh food. Maybe the lettuce looks good or the cucumbers, who knows?
If someone orders 3kg of bananas or a dozen avos - mix it up with some ripe now and some on the green/firm side.
The biggest issue we had was out of stock items. If you're in the store and a key ingredient is out you decide on a replacement meal which just isn't possible online, as there was no guarantee that what you ordered would still be available when they got through to your delivery.
Let alone the "what looks good today?" or "what's on sale today?" method of shopping!
Even packaged goods are tough. When I'm in a store, I know quickly which product I want. I may not remember the brand name, but I can scan the shelf and find it.
Online, I have to sort through a myriad of options, not to mention sizes and variants.
BBQ sauce, for instance, returns 58 results on Peapod. Sweet Baby Ray's, which I like, is 22 of those. There are 13 different variants (original, hickory & brown sugar, honey, buffalo sauce, sweet'n spicy, honey mustard, honey teriyaki, sweet teriyaki, sweet vidalia onion, maple, sweet chili glaze, honey chipotle, no sugar added) and 7 different sizes (14oz, 16oz, 18oz, 18.5oz, 28oz, 40oz, 80oz).
Holy crap!
I know what the label looks like, and I know the bottle is about yea-big. The images online are 200x200... I can barely SEE the label.
Then, what if what I want isn't in stock? Is it going to appear on the page? Am I just not going to get it? Would I get a substitute, as I might if I was in the store?
By the time I do that mental exercise for 50 items, I might as well drive to the store.
These are hard challenges.
One thing that might make a difference is integration with club cards. Giant knows what I buy down to frequency and UPC. Why haven't they done better integration to link my in-person buying with encouraging me to buy the same items online?