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
- Open a category or search results on the competitor's site.
- Click the Grabsavo icon — it marks the cards with teal frames and row numbers. Check that the right list is selected.
- Rename the columns and add missing ones by clicking elements.
- Set up pagination and cap the number of pages.
- 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
1299and 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.