Competitor price watchboard with stock and promo tracking
Open one board every morning to see every competitor product you track, what changed since the last check, and which moves are big enough to act on.
Build me a competitor price watchboard that my pricing team opens every morning. The main screen is a single board with one row per competitor product URL we track. Each row shows the product name, the competitor or retailer it belongs to, the current price, stock status, any promotion or discount badge running on the page, and the change since we last checked shown both as an amount and as a percentage with a clear up or down direction. Rows are sorted with the biggest moves at the top so the team sees what matters before anything else. Show our own price and our target price from our sheet alongside the competitor price so the gap is obvious at a glance, and show the timestamp of the last successful check on every row so nobody mistakes stale data for fresh data.
Our tracked product list loads from Google Sheets using Get Values. That sheet is the source of truth for what appears on the board: each row holds the product name, the competitor product URL, our own price, our target price, an optional per product change threshold, and a marker for whether the item is a marketplace SKU along with any dataset identifier it needs. Read the sheet when the app loads and use it to build the board. Do not hardcode the product list in the app.
Fetching happens on demand, never on a schedule. Put a Refresh all button at the top of the board and a small refresh control on each row so a single product can be rechecked without pulling everything. For a normal competitor product page, the handler fetches it with Bright Data using Scrape URL with Web Unlocker and extracts the price, the stock status and any promo or sale badge from the returned page. For products flagged as marketplace SKUs, the handler instead calls Trigger Dataset Collection, then polls Check Snapshot Status until the snapshot is ready, then reads the data with Download Snapshot Results. Snapshot collection is asynchronous and can take a while, so show per row progress while a refresh is running and let the rest of the board stay usable rather than blocking the whole screen.
Every refresh appends a timestamped row to a history tab in the same Google Sheet using Append Values, recording the product, the competitor, the price, the stock status and the time of the check. That history tab is what makes the board more than a snapshot. Read it back with Get Values to draw a 30 day trend line on each row as a small inline sparkline, and let the user open a row to see a larger chart plus the recent check by check history in a table.
Only flag a change when it crosses a per product threshold, defaulting to 3 percent when the sheet does not specify one for that product. Movements under the threshold still update the displayed price and still get written to history, but they are not highlighted, not counted as a notable move, and do not push the row toward the top. This matters because cent level fluctuations are constant and would otherwise fill the board with noise. Make the threshold visible and editable per product from the row so the team can tighten it for products where small moves really do matter.
Competitors that just went out of stock must stay on the board with a clear out of stock badge rather than dropping off the list. A competitor selling out is a pricing signal the team wants to see, so treat the transition from in stock to out of stock as a notable change in its own right, independent of the price threshold. Do the same for coming back into stock. If a fetch fails or a page cannot be parsed, keep the row visible with its last known values, mark it as stale with the time of the last successful check, and let the user retry that row rather than silently showing old data as if it were current.
Add a Share moves button that posts the day's notable changes to our pricing channel using Slack Send a Message. The message should be a short scannable summary of only the changes that crossed their thresholds plus any stock status flips, each with the product, the competitor, the old and new price and the percentage move, ordered biggest first. Let the user preview and edit the message before it sends, and pick the destination channel. If nothing crossed a threshold, say so plainly instead of posting an empty update.
Keep this cross retailer and URL driven. It must work for any direct to consumer or retailer product page we point it at and must not assume a single marketplace. Also keep it strictly read only with respect to our own store: this app reports what competitors are doing and how it compares to our targets, and it never changes or pushes a price anywhere.
What does this prompt do?
- Lists every competitor product page you track in one board, showing the current price, whether it is in stock, any promotion running, and how much it moved since the last check
- Sorts the biggest moves to the top so your pricing team sees what matters first instead of scrolling a flat list
- Only flags a change when it crosses the threshold you set for that product, so one cent wobbles never fill the board
- Keeps a timestamped price history for every product and draws a 30 day trend line, and lets you post the day's notable moves to your pricing channel with one click
What do I need to use this?
- A Bright Data account for collecting the competitor pages you track
- A Google Sheet listing the product pages you watch, your own prices and your target prices, plus a tab where price history gets recorded
- A Slack workspace and the channel where your pricing team talks
- The web addresses of the competitor product pages you want on the board
How can I customize it?
- Change the default change threshold from 3 percent, or set a tighter or looser one per product for items where small moves still matter
- Decide what counts as notable enough to share with the team, and reword the message that gets posted to your pricing channel
- Add your own columns to the tracking sheet, such as competitor tier, category owner or currency, and group or filter the board by them
- Adjust how far back the trend line looks if 30 days is too short or too long for your buying cycle
FAQs
Does this change prices in my own store?
Does it only work for Amazon listings?
What happens when a competitor sells out?
Why do I need a Google Sheet for this?
How often does it check prices?
Can I stop small price changes from cluttering the board?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.
Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.
Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.
See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.
One screen showing invited, completed, and shortlisted counts for every open role, plus the stalled invites that have quietly gone nowhere.
Stop rebuilding the competitor price spreadsheet every morning.
Give your pricing team one board that shows every tracked competitor, what moved overnight, and how much it actually matters.