Skip to content

How to Monitor Competitor Prices in a Spreadsheet

Price monitoring without a dedicated service: a scraping template, scheduled runs, comparison with the last run and a Google Sheets summary, with caveats.

October 27, 2026 · 6 min read

Dedicated price-monitoring services make sense for a large store with thousands of SKUs. But if you watch 3–5 competitors and a couple of hundred products, a spreadsheet that updates itself is often enough. Here is how to set that up with Grabsavo and Google Sheets, and where its limits are.

What you end up with

  • a saved scraping template for each competitor;
  • scheduled runs, for example once a day;
  • after each run, a list of changes: new products, changed rows, items that disappeared;
  • a summary sheet in Google Sheets with your prices next to the competitors'.

Templates and scheduling are Pro features. You can try them in the 7-day trial without a card.

Step 1. Choose what to track

Do not start with "the whole catalog". Pick the items you actually make decisions about: 50–200 key products or one category. Less load on someone else's site, less noise in the changes, and easier to verify that everything is collected correctly.

A minimal set of columns:

Column Why
Name So a person knows what the row is
Price The main value
Old price If the site shows a struck-through price, you see discounts
Availability "In stock", "Backorder", "Out of stock"
Link The row's unique key
SKU / product code To match against your own catalog

Step 2. Set up collection for one competitor

  1. Open a category or search results on the competitor's site.
  2. Click the Grabsavo icon — it marks the cards with teal frames and row numbers. Check that the right list is selected.
  3. Rename the columns and add missing ones by clicking elements.
  4. Set up pagination and cap the number of pages.
  5. Set the link as the key column — it is used both for deduplication and for comparing runs.

SKUs from item pages

The hardest part of monitoring is matching a competitor's product to yours. Names vary: "Bosch TWK 3A011 Kettle" vs "BOSCH TWK3A011 electric kettle, white". Matching by manufacturer code or barcode is more reliable.

That data is often on the product page, in schema.org markup or a spec table. In Pro, turn on item-page details: pick the link column, Grabsavo opens the first product page and suggests fields — tick SKU, brand, model. It visits pages no more than two at a time; per-item errors go to a _status column.

Step 3. Clean the prices

A price on a page is text: $1,299.00, from $99, USD 1 299. To compare, you need a number. Add cleaning steps in Grabsavo:

  • price → number + currency — you get the number 1299 and the currency separately;
  • "Trim extra spaces" in names;
  • replace text for availability, e.g. "Only 3 left" → "In stock" if you do not need stock levels;
  • a computed column with the discount in percent:
({Old price} - {Price}) / {Old price} * 100

Steps are stored in the template and applied on every run.

Step 4. Save the template and schedule it

Save the setup as a template: columns, pagination, item-page details, cleaning. Then schedule it: every hour, every 6, 12 or 24 hours, or weekly.

Choosing the frequency:

  • in most retail categories prices change at most once a day — 24 hours is enough;
  • during promotions you can temporarily switch to 6 or 12 hours;
  • hourly is rarely needed: 24 times the requests to the site, usually with the same number of changes.

An important limit: scheduled runs work only while the browser is open. Grabsavo is an extension, not a cloud service. If the computer is off at night, the night run will not happen. For daily monitoring, schedule it during working hours when the browser is open anyway.

Step 5. Look at the changes

After each run Grabsavo compares the result with the previous one and shows three groups:

  • new — a product appeared;
  • changed — the price, availability or another field changed;
  • gone — the product is no longer listed.

That is usually what you need: not rereading the whole table, but seeing the 7 rows out of 180 that changed.

Keep a history

The comparison is against the previous run. If you want a month of history, keep the results: export each run to a file with the date in its name, or add a collection-date column and stack results on one sheet. Then you can chart a product's price with an ordinary pivot table or chart.

Step 6. A summary in Google Sheets

Export the result to Google Sheets, directly or via the clipboard. Then build a "Summary" sheet that matches your products with competitors' by SKU.

Say sheet Mine has the SKU in column A and your price in B, and sheet Competitor A has the SKU in F and the price in B. In "Summary":

=XLOOKUP(A2, 'Competitor A'!F:F, 'Competitor A'!B:B, "none")

Difference in percent:

=IF(ISNUMBER(C2), (C2 - B2) / B2, "")

Add conditional formatting: red where the competitor is more than 5% cheaper, green where they are more expensive. One page shows where your price is out of line with the market.

Caveats

Browser-based monitoring is simple, but it has limits worth knowing up front.

  • Prices depend on context. Region, delivery address, sign-in, loyalty cards — many stores show different prices to different visitors. Grabsavo sees what you see in your browser. Make sure the right region is selected and keep it the same between runs.
  • Layouts change. After a redesign the selection may break. Watch the quality report: a sudden jump in empty "Price" values or a drop in row count means the template needs fixing.
  • The listing price may differ from the checkout price because of coupons, minimum order values or shipping.
  • The browser must be open for scheduled runs.
  • Site rules. Check the competitor's terms of use. Keep the frequency reasonable and do not collect more than you need. See Web scraping and the law.

Grabsavo uses no proxies, solves no captchas and does not bypass sign-ins. If a site blocks automated access to its catalog, you will not be able to monitor it with the extension.

What it costs

Pro is $19 once or $4.99 a month. The free version is good for checking collection by hand — up to 10 pages and 500 rows per run — but has no templates or scheduling. Details on /pricing.

Try it

Build your first template on the demo catalog to see how pagination and the quality report work, then repeat on a real category. Install Grabsavo from /install.