A brand manager types “competitor price monitoring software” into Google, works through the first page, books three demos, and picks one. Six weeks later there’s a dashboard, a daily refresh, and a chart. The tool does exactly what it promised. And the original question, which was what a bottle of their vodka actually cost in Tampa last Tuesday, is still unanswered.
That isn’t a bad vendor. It’s a category mismatch, and the search data shows it plainly. When we pulled Google’s own Keyword Planner in August 2026, competitive price monitoring came back at 390 searches a month in the US and price intelligence software at 260. The whole cluster runs about 1,370. Meanwhile shelf price monitoring software measured zero, and so did brick and mortar price monitoring. A Planner zero means below the reporting floor of roughly ten a month rather than literally nobody, but the shape is unmistakable: the demand lives on the ecommerce side, and the physical shelf has almost no search vocabulary of its own.
We’re gmware, a software and data engineering firm in Austin, TX, with delivery centers in Bangalore and Mohali, India. We build Shield Suite, retail intelligence for beverage-alcohol brands across 60,000+ storefronts. The Price to Consumer module exists because of the gap in the paragraph above. What follows is about measurement only: what a given collection method can physically see.
Before anything else, the honest part. If you sell through retailer .com pages and marketplaces, competitive price monitoring is the correct purchase and the mature products in that category are good. They poll pages at high frequency, handle bot defenses, normalize messy product titles into your SKU list, and alert on movement. That’s hard engineering done well. Nothing below is an argument that web price monitoring is bad at its job. It’s an argument that its job is not the shelf.
| Price | Where it lives |
|---|---|
| Listed price | A retailer’s own product page or app catalogue |
| Marketplace price | A delivery platform’s item page for a store |
| Posted price | A state wholesale filing, in posting states |
| Shelf price | The tag on the gondola, in one store, today |
What a price monitor actually collects
Strip the marketing off any web price-monitoring product and the mechanism is the same three steps. Something fetches a URL. Something parses a price out of the response. Something maps that price onto your product identifier so it can be compared over time and across sites.
We went through the price-monitoring products that rank for those queries. Every one whose collection method we could actually verify works this way, on web surfaces. No knock on them. That is simply what the category is.
Notice what the mechanism requires. A URL that exists. A page that publishes a number. A publisher who chose to publish it. Those three requirements are where beverage alcohol falls apart, and it falls apart in five distinct ways rather than one.
1. A crawler needs a URL, and most doors don’t have one
Off-premise beverage alcohol in the US is a long tail of independent operators. Single-store package stores and small regional groups, family businesses that have run the same corner since before anyone had a website. Plenty of them still don’t. Some have a Facebook page and a phone number.
There is no budget that fixes this. A crawler with nothing to crawl returns nothing, and the failure is silent, which is the part that hurts. Your dashboard doesn’t show a gap where those stores should be. It shows a clean national average computed from the doors that happen to publish, which skews toward large chains in large metros. If independents matter to your brand, and for most emerging spirits brands they matter more than the chains do, you’re reading a number that structurally excludes your best accounts. We went deeper on how that hole distorts a small brand’s read in our independent liquor store coverage guide.
Nobody publishes a clean count of US off-premise alcohol retailers with a working ecommerce storefront. We looked. If a vendor quotes you one, ask how they built it.
2. In control states, the retailer isn’t setting the price
In control jurisdictions the state itself sits in the chain. NABCA describes control states as controlling wholesale distribution of distilled spirits, with thirteen of them also controlling off-premise retail, and lists uniform statewide pricing as a supplier benefit: once a product is approved, it’s available at the same cost across the state’s retail locations.
Think about what that does to a competitive-price-monitoring pitch. In those markets there is no competitor pricing to monitor at retail, because there is no competition at retail. There’s a state price, set administratively, sometimes with a statutory markup on top. A tool built to detect a rival undercutting you by forty cents has nothing to detect. What you need there is the state’s own published price file and an understanding of how the approval and markup process works, which our control-state data guide walks through in detail.
Different question, different data source, same word on the dashboard.
3. One listing can stand in for dozens of tags
Chains price by zone. A banner will run a set of prices across a trade area or a division, and the single product page you’re polling reflects whatever pricing context the site decided to serve you. Cavallo’s study is useful here for a reason people usually skip: he found “no evidence of online prices varying with the location of the ip address or persistent browsing habits” (NBER working paper 22142). The web price sits still while the physical prices underneath it move around.
So when you record one listed price against a banner that operates 40 doors in a market, you have made 40 observations out of one. If half those doors are on a different zone or running a local response to the club store that opened last spring, your file says they aren’t. That’s not noise you can average away. It’s a systematic error in the direction of “everything looks uniform,” which is exactly the conclusion a pricing team most wants to hear and least should trust.
4. The tag holds prices a listing can’t
Walk a liquor aisle and count the pricing mechanisms. Shelf tag. Neck hanger. Case-stack sign. Buy-two-save. Mix-six on wine. A hand-written card taped to the gondola because the manager decided this morning to move some inventory. Register-level discounts that only exist when the loyalty card is scanned.
Most of that never touches a web catalogue, and the platforms say so themselves. Instacart’s item pricing page notes that “some in-store sales/promotions may not apply” on its marketplace, and in the other direction that “we often offer discounts and promotions not available in-store” (Instacart item pricing). Both statements are the same fact seen from two sides: promotional mechanics are surface-specific.
Multi-unit pricing does something worse than hide. It corrupts. A crawler reads a two-for-$40 as a $40 item, or reads a single-unit price in a store where nobody is paying it because the two-for is stacked in the aisle. Your effective price to consumer is $20 and your file says $40. We’ve watched brands open a distributor conversation off exactly that read, and it goes badly, because the distributor has the store-level truth and you have a screenshot.
Five blind spots between a listing and a tag
5. A marketplace price is its own number
Delivery apps are the most tempting shortcut in this whole problem, because they publish store-level catalogues and they cover doors that have no site of their own. Treat that temptation carefully.
Instacart states that “retailers set the item prices on the Instacart marketplace” and that while many offer everyday store prices, “some retailers may set prices on the Instacart platform that are different than in-store prices” (Instacart item pricing). That’s the platform telling you, in writing, that its number and the tag are two numbers.
Which is fine. A marketplace price is genuinely decision-relevant if you care about that channel, and you probably should. It just cannot be quietly relabelled as price to consumer in a slide. There’s also a durability problem worth naming once: a third-party catalogue is a business decision, not infrastructure, and the alcohol delivery category has already lost a major app to a corporate shutdown. Building your pricing view on one app’s feed is building on someone else’s roadmap.
How often the web price is right anyway
Fairness matters here, because the picture above could read as “online prices are useless” and that would be wrong.
Cavallo compared web and in-store prices at the same time across 56 large multi-channel retailers in 10 countries, and reported that “price levels are identical about 72 percent of the time” for products sold in both places (American Economic Review 107(1), 283 to 303). He also found the agreement varies a lot by country, sector and retailer, strongest in electronics and apparel, weakest at drugstores and office-supply chains.
Web price versus store price, measured
Read 72 percent honestly and it cuts both ways. It’s high enough that dismissing web prices would be silly. It also means something like one read in four disagrees with the shelf, in a sample built entirely from big retailers who run both channels deliberately. That is the friendliest possible test case for the method. Beverage alcohol, with its three tiers, its state-by-state rules and its enormous independent tail, is not that test case.
Now put a number on the error, with the assumptions stated out loud so you can argue with them. Assume a market with 40 chain doors on one banner plus 60 independents. Assume your monitor sees the banner listing and none of the independents. Assume you fund $2 a bottle off to correct what looks like a price gap. If a quarter of the chain doors were already at your target price, roughly 10 doors get the funding for nothing, and the 60 independents where the gap might actually live get none of it. The subscription fee is the cheap part of that mistake. What you burned was trade spend, routed by a read that could not see 60 of the 100 doors.
Somebody has to be in the store
This is the part where we’re supposed to reveal that our product solves it costlessly. It doesn’t, and the honest version is more useful.
To know what a tag says, an observation has to happen at that tag. A person reads it, or a camera captures it. There’s no third option and no clever inference that gets you there from web data, distributor invoices or depletion reports. Those last two never contained a retail price to begin with, because neither one describes a retail transaction.
What makes a tag reading usable
And observation has real costs that a crawler doesn’t. It costs money per store per period rather than per API call. It has a coverage bias of its own, toward doors that somebody has a reason to reach, which means you should ask any provider, us included, which of your target accounts they actually touch rather than how many stores they cover nationally. It has a cadence floor, because a store observed monthly cannot tell you about a promotion that ran for nine days. And it tells you what, never why. The interpretation still needs somebody who knows the account.
If you want the four observation methods laid side by side with their failure modes, our competitor shelf tracking guide does that job properly.
Which one you should buy
Split it by where your price gets decided.
If your competitive risk lives on retailer sites and marketplaces, buy web price monitoring. It’s cheap, it’s fast, and nothing here should talk you out of it. If your risk lives on a gondola in a state where nobody publishes anything, no crawler in the category will help you and buying one will cost you a year.
Most bev-alc brands are in both places, weighted heavily toward the second. The mix we’d actually run is a small web-monitoring capability for the chain .coms and the delivery apps, treated as channel intelligence rather than as shelf truth, plus store-level observation on the accounts and markets you’re measured on. Then keep them in separate columns of the same table, labelled by source, so nobody in a meeting quotes an app price as a shelf price.
Don’t buy either one yet if you’re in three markets with one chain and a dozen independents. A folder of dated photos from your own reps and a spreadsheet will beat a platform at that size, and it’ll teach you what fields you actually need. The line for us is roughly when you stop being able to name your accounts from memory, or when your pricing conversation with a distributor has turned into an argument about whose anecdote is right.
What we’d recommend
Ask one question of any pricing product before you look at a screenshot: where does the number come from. Not “how fresh is it,” not “how many SKUs.” Where does it come from. If the answer is a URL, you have a web price and you should label it as one forever after. If the answer is an observation in a store, ask which stores, how often, and what happens to the ones nobody visits.
Then run the test that costs you nothing. Pick your top ten SKUs and five markets, write down the shelf price your current data says, and send somebody to five stores to read the tags. Not a national audit. Five stores, one afternoon. The size of the disagreement is your answer, and it’s a more persuasive number than anything a vendor including us can put in a deck.
That test is also the fastest way to find out whether Price to Consumer would tell you anything you don’t already know. Once you can see the tag, the enforcement question becomes live and separate, and it’s a legal question rather than a data one, which our MAP and MSP guide covers with the caveats it deserves.
Tell us which markets and retailers you’re measured on and what you can see today, and we’ll give you a straight answer on whether shelf-price observation is worth it at your size. We work with beverage-alcohol brands on this exact gap, and sometimes the straight answer is that a web tool plus your own reps is enough for another year.