Article · 6 min read
How to track competitor prices on Shopify without a spreadsheet
14 October 2026 · by njX
Most stores that sell the same products as a few known competitors check their prices the same way: a spreadsheet, a list of links, and a Monday morning that gets skipped after two weeks. Here is what the check actually involves, why the spreadsheet dies, which pages can be read automatically, and what to do with the gap once you see it.
What you are actually checking
For each product of yours that a competitor also sells, you want four numbers: their price, their crossed-out price if they are on sale, whether they have it in stock, and when you last looked. Everything else, the match between your product and theirs, the currency, the variant, is set once and stays.
The useful output is not the list of prices. It is the gap: who is under you right now, by how much, and since when. A competitor four euros under you on a product people compare in two tabs is the sale you lost today. A competitor out of stock is the sale you can take at full price.
Why the spreadsheet dies
Three reasons, in the order they usually happen.
- It takes longer than it looks. Twenty products times three competitors is sixty pages to open, read and type. That is an hour, every time. The first week it is interesting. The third week it is Monday afternoon and nobody has done it.
- It is already stale. A competitor starts a sale on Tuesday. You find out the following Monday, if you do the check at all, after a week of selling less and wondering why.
- It has no memory. The spreadsheet shows today. It does not show that this competitor drops to your price every weekend, or that they raised prices last month and nobody noticed you could too.
Which pages can be read automatically
Reading a price off a page is easier than it sounds, because online stores tell machines their prices on purpose, so that Google can show them in Shopping results.
- Shopify stores publish every product as public data next to the page: add
.jsor.jsonto a product URL and you get the price, the variants and availability. - WooCommerce, Magento, PrestaShop, Shopware and most other platforms put the price in structured data on the page, the same JSON-LD or microdata Google reads.
- Pages that draw the price with scripts need a real browser to render first; a plain request sees a page with no number on it.
- Marketplaces such as Amazon, eBay or Etsy do not want to be read and defend themselves accordingly. An honest tool says so instead of pretending.
The rule that keeps this fair: read a public product page a few times a day, the way a shopper’s browser does, with a named user agent, respecting the site’s robots.txt, never logging in and never filling a form. That is what price comparison sites have done for years.
What to do with the gap
The point of watching is not to match every price. Three things are worth a decision:
- A real undercut on a product people compare: 5% or more under you, for more than a day. Match it, bundle something, or accept the lost sales on that product and make it up elsewhere, but decide.
- A competitor out of stock on a product you have. The one time raising a price is free.
- A competitor who raised prices. If two of three did, you are probably leaving money on the table.
Everything else, a euro here, a weekend sale there, is noise. A good watch lets you set the threshold so you hear about the first three and not the noise.
Doing it without the spreadsheet
njX Competitor Price Watch does the Monday check every day, automatically. You pick your product from the catalogue, paste the competitor’s product page, and the app reads it on a schedule: once a day on Free, twice on Pro, four times on Business. The table shows their price next to yours with the gap, the crossed-out offer, stock and the last read; every reading is kept, so a row shows the last thirty days against your price. The alert lands in Telegram, Slack, Discord or e-mail the moment a competitor goes under you by your threshold, drops, starts a sale, comes back above or runs out of stock. Nothing is written to your store; the app reads products and never changes a price.
Read next
- A bulk edit, an import or an app changed your Shopify prices: how to undo it, and why there is no Undo button
- Low stock alerts on Shopify: why one threshold is wrong for every product, and what to reorder instead
- Shopify order notifications in Telegram: what to send to a chat, what to keep in e-mail, and how to set it up in a minute
- The 30-day prior price on Shopify: what the Omnibus rule actually needs, and why compare-at price is not it
- An estimated delivery date on Shopify that is true: cut-off, processing, transit, days off
- Add to Cart stopped working on Shopify: why every page still says 200 OK, and how to catch it in minutes
- A 90% discount instead of 9%: the Shopify price mistakes that cost the most, and how to catch them before the orders do