Stop refreshing your browser every time a sale starts. If you are serious about collecting games or hunting for the best deals on digital storefronts, manual checking is a waste of time. You can build a custom video game pricing spreadsheet that acts as an automated watchlist. It pulls live prices from stores like Steam and tracks physical game values from sites like PriceCharting. More importantly, it sends you an email or notification the moment a title hits your target price.
This guide shows you how to set up this system using Google Sheets or Excel. We will cover the architecture, data sources, and the exact formulas needed to trigger alerts. Whether you are a collector tracking the value of your retro library or a gamer waiting for that 80% off discount, this tool gives you total control over your spending.
Why You Need a Custom Pricing Tracker
Most gamers rely on third-party apps like IsThereAnyDeal or SteamDB. These tools are great, but they often lack flexibility. You cannot easily combine digital PC prices with physical retro game values in one place. A custom spreadsheet bridges this gap. It allows you to merge data from multiple sources into a single dashboard.
Consider the difference between a generic alert and a strategic one. A generic app tells you when any game goes on sale. Your spreadsheet can tell you when your specific wishlist item drops below a price you are willing to pay. It also helps collectors monitor the fluctuating value of their inventory. As PayPro Global notes in their pricing strategies, understanding market dynamics and competitor pricing is key. By logging historical lows and current trends, you gain insight into whether a game is actually a good deal or just a temporary dip.
Choosing Your Platform: Google Sheets vs. Excel
You have two main options for building this system: Google Sheets and Microsoft Excel. Both work well, but they serve slightly different workflows.
| Feature | Google Sheets | Microsoft Excel (365) |
|---|---|---|
| Automation | Google Apps Script (free, cloud-based) | Power Automate / VBA (requires setup) |
| Data Import | =IMPORTHTML, =IMPORTXML | Power Query "From Web" |
| Alert Delivery | Email via MailApp | Teams, Email, or Outlook integration |
| Accessibility | Cloud-based, access anywhere | Local file or OneDrive sync |
| Learning Curve | Low to Medium | Medium to High |
For most users, Google Sheets is the easier starting point. Its built-in web import functions and free scripting environment make it ideal for pulling data directly from store pages. Excel is powerful if you already use Power Query for other data tasks, but setting up scheduled refreshes can be trickier without additional software.
Setting Up the Spreadsheet Architecture
A robust spreadsheet needs structure. Do not dump all your data into one sheet. Instead, separate your inputs, raw data, and logic. This "separation of concerns" prevents errors and makes maintenance easier. Create three tabs:
- Watchlist: Where you enter game titles, platforms, and target prices.
- Raw Data: Where imported prices land with timestamps.
- Backend: Where calculations happen and alerts are triggered.
In the Watchlist tab, create these columns:
Game ID: A unique identifier (e.g., Steam AppID or ISBN).Title: The name of the game.Platform: e.g., Steam, PlayStation, Switch, Physical.Store URL: The direct link to the product page.Base Price: The standard retail price.Target Buy Price: The maximum you are willing to pay.Current Price: Pulled automatically from the store.Discount %: Calculated field.
The Raw Data tab logs every price change. If you use a service like Pagecrawl for Steam, it will push new rows here automatically. Each row includes the Game ID, the new price, and the timestamp. This creates a historical database you can analyze later.
The Backend tab is the brain. It compares the Current Price against your Target Buy Price. It uses simple boolean logic to flag when an alert is needed. For example, if Current Price <= Target Buy Price AND Alert Sent is FALSE, then Flag = TRUE.
Pulling Live Prices from Digital Stores
Getting data into your sheet is the hardest part. Stores do not always provide easy APIs. However, you can use web scraping functions.
In Google Sheets, use the =IMPORTHTML function. This works if the store displays prices in a simple HTML table. For example, if a publisher’s store lists games in a table, you can pull that table into your sheet. The formula looks like this:
=INDEX(IMPORTHTML("URL_OF_STORE_PAGE", "table", 1), 2, 3)
This extracts a specific cell from the first table on the page. Be aware that if the store changes its layout, this formula will break. This is why many users prefer dedicated trackers for major platforms like Steam.
For Steam, consider using Pagecrawl’s Steam Price Tracker. This tool monitors game pages and logs every price change to your Google Sheet or Airtable base. It eliminates the need for fragile scraping formulas. You simply connect your sheet, and Pagecrawl handles the rest. It pushes data only when prices change, which saves processing power and keeps your sheet clean.
Tracking Physical and Retro Games
Digital prices are volatile, but physical games have a different market. Condition matters. A loose cartridge is worth less than one complete in box. To track these, use PriceCharting as your reference source.
PriceCharting provides authoritative price guides for games, trading cards, and comics. While there is no direct API for personal spreadsheets, you can manually update your sheet with their latest valuations or use their Collection Tracker feature as a benchmark. In your spreadsheet, add columns for Condition (Loose, Complete, New) and Quantity.
Create a calculated column for Collection Value. The formula is simple:
=Quantity * Current_Price_Per_Condition
Sum this column at the bottom of your sheet to see the total value of your physical library. Update these values quarterly or whenever you buy/sell items. This turns your spreadsheet into a financial portfolio tracker for your hobby.
Automating Alerts with Google Apps Script
Now for the fun part: getting notified. You do not want to check your sheet every day. Let the sheet check itself. Google Apps Script allows you to write small programs that run inside your spreadsheet.
Here is the logic flow for your script:
- Open the Backend sheet.
- Loop through each row.
- Check if
Flagis TRUE andAlert Sentis FALSE. - If yes, send an email with the game title and new price.
- Update
Alert Sentto TRUE so you do not get spammed.
You can set this script to run on a schedule, such as once every hour. This mirrors the stock price drop alert tutorials available online. The key is to prevent duplicate emails. Once an alert fires, mark it as sent. Only reset this flag if the price rises above your target again and then drops back down.
For Excel users, you can achieve similar results using Power Automate. Create a flow that triggers when a row is added or modified in your Excel Online workbook. Add a condition to check if the price meets your criteria, then send an email or Teams message.
Common Pitfalls and How to Avoid Them
Building this system takes time, but maintaining it requires care. Here are common issues:
- Fragile Scraping: As mentioned,
IMPORTHTMLbreaks if websites change. Mitigate this by using dedicated trackers like Pagecrawl for high-volume stores like Steam. - Script Quotas: Google Apps Script has daily limits on email sends and executions. If you track hundreds of games, space out your checks. Running the script every 4 hours is usually sufficient for game sales.
- Data Overload: Do not log every single price check. Log only changes. This keeps your Raw Data tab manageable and speeds up calculations.
- Currency Confusion: Ensure all prices are in the same currency. If you buy from international stores, add a conversion rate column based on today’s exchange rates.
Advanced Tips for Power Users
Once your basic system is running, you can add more intelligence. Use pivot tables to analyze your buying habits. Which platforms offer the best discounts? When do sales typically happen? You might find that Nintendo Switch games rarely drop below 40%, while Steam AAA titles often hit 70% during seasonal sales.
You can also integrate external tools like Zapier or Make. These services can bridge gaps between different apps. For example, Zapier can watch a RSS feed for new game releases and automatically add them to your Watchlist tab. This keeps your tracking list fresh without manual entry.
Finally, treat your spreadsheet as a living document. Review your target prices periodically. Just because you wanted a game at $10 six months ago does not mean you still do. Adjust your thresholds based on your budget and interest level. This dynamic approach ensures your alerts remain relevant and actionable.
Can I track prices for console stores like PlayStation or Xbox?
Yes, but it is harder than Steam. Console stores often block simple web scraping. You may need to use third-party APIs or manual updates. Some users scrape price comparison sites that aggregate console deals instead of going directly to the store pages.
Is Pagecrawl free to use?
Pagecrawl offers a free tier with limited features. For advanced logging and frequent updates, you may need a paid plan. Check their current pricing for details on usage limits.
How do I handle regional pricing differences?
Add a 'Region' column to your Watchlist. If you track multiple regions, ensure your import functions pull from the correct regional URL. You can also add a 'Conversion Rate' column to normalize all prices to your local currency for accurate comparisons.
What if my Google Apps Script stops working?
Check the execution log in the Apps Script editor. Common errors include missing permissions or broken references. If the issue persists, review recent changes to your sheet structure. Ensure column indices match your code.
Can I share this spreadsheet with friends?
Yes, Google Sheets supports collaborative editing. However, be careful with scripts. Each user may need their own copy if you want personalized alerts. Alternatively, create a shared view-only sheet for public wishlists and keep personal alert sheets private.