How to Use Google Sheets to Track Classified Listings Across Multiple Cities
Learn how to use Google Sheets to track classified listings across multiple cities with consistent fields, dropdowns, duplicate checks, and useful views.
On this page
- 1. Choose a narrow tracking workflow before building the sheet
- 2. Set up a city-aware listings table
- 3. Make city and status values consistent
- 4. Add a repeatable process for capturing listings
- 5. Create views for comparing cities
- 6. Track changes and follow-ups
- 7. Review the tracker on a regular schedule

1. Choose a narrow tracking workflow before building the sheet
Start with a defined search, not a spreadsheet full of every interesting post. Choose the cities you will monitor, the sources you will check, and the kind of listings that matter. For example, you might track used bicycles in Leeds and Sheffield from two local classified sites. A narrow scope makes the first review manageable.
Decide who will add listings and how often. If one person checks sites on Monday and Thursday, write that down; if several people share the work, assign each person a city or source. The answer to how to use Google Sheets to track classified listings across multiple cities starts with a simple rule: every listing should have a clear reason to be in the sheet and a person responsible for its next check.
Set a practical boundary for what counts as a match. A search for “road bike” might include hybrids unless you agree otherwise. Record that distinction in a short note at the top of the sheet, or in a separate Instructions tab, so another person does not have to guess.
2. Set up a city-aware listings table
Create one row for each listing, with column headings in the first row. A useful starting set is City, Source, Listing title, URL, Date found, Asking price, Status, Last checked, Next action, and Due date. Add Contact notes only if the team has a legitimate reason to record them; avoid storing unnecessary personal information.
Keep the URL in its own column. A title such as “Blue touring bike, good condition” may be hard to distinguish from another seller’s similar post, while the link points to the specific listing. Use a date format consistently, and decide whether prices will be entered in the local currency or converted. If listings use different currencies, record the original currency rather than comparing unlike amounts as if they were the same.
Freeze the header row in Google Sheets so the column names remain visible while you scroll. You can also turn on text wrapping for long titles and notes. Keep the main table flat: one row per listing, not a separate worksheet for every city. A shared table makes it easier to compare Leeds with Sheffield without copying or reconciling separate records.
For a small team, a separate Instructions tab can hold the scope, source list, and definitions for each status. Keep operational guidance short: “Add the listing before contacting the seller” is clearer than a page of general advice.
3. Make city and status values consistent
Typos create avoidable gaps. “Sheffield,” “Sheff.”, and “sheffield” can behave like three different entries when you filter a column. Use Google Sheets’ dropdown rules for City and Status so every person selects an approved value instead of typing a variation.
To add a dropdown, select the cells in the City column, open Data validation, and choose a dropdown list or a range containing your approved cities. Repeat the process for Status. A compact status list might include New, Contacted, Follow-up, Unavailable, and Closed. Use a separate status for “Price changed” only if that change needs its own workflow; otherwise, record the new price in the main row and explain it in the notes.
Keep the approved city list in a small reference area or on the Instructions tab. If your search expands from two cities to five, update the list once and tell everyone who maintains the tracker. Do the same for status definitions. For instance, “Closed” could mean you bought the item, decided against it, or no longer need to monitor it, so clarify which meaning applies.
Choose one convention for unknown information. Leaving an empty price cell may mean the seller did not state a price, or it may mean nobody checked. A note such as “not listed” can resolve that ambiguity, while the Last checked field shows when someone last reviewed the post.
4. Add a repeatable process for capturing listings
Use the same sequence each time someone finds a listing: confirm it fits the search, add a new row, copy the URL, select the city and source, enter the date found and asking price, then choose a status and next action. This takes a little longer than pasting a link into a message, but it leaves the team with a record that can be filtered later.
Before adding a row, search the URL column for the listing’s link. If the same URL is already present, update the existing row instead of creating a second one. Some sites change tracking parameters in a URL, so check the listing title and location as well when a link appears different but may lead to the same post. Do not assume that two listings with similar titles are duplicates; different sellers can use identical wording.
Record Last checked whenever you open the listing again. That date is not necessarily the same as Date found: one tells you when the team first entered the post, and the other tells you when someone last confirmed its status. If a listing has disappeared, update its status rather than deleting the row. Keeping unavailable records helps explain why a lead was dropped and prevents another person from repeating the same check.
Set a clear rule for notes. “Seller replied; pickup possible Saturday” gives the next person a useful fact and a next step. A vague note such as “interesting” does not. If shipping is part of the transaction, review the site’s safety guidance before arranging payment or delivery; the article on shipping when selling through classifieds covers warning signs to watch for.
5. Create views for comparing cities
Use a filter on the header row to display one city, source, or status at a time. Select the table and choose Create a filter, then use the filter control in the City column to show Leeds, for example. The underlying data stays in one shared table, so a city view does not become a separate, potentially outdated copy.
Filter views are useful when several people work in the same file. One person can review Sheffield while another checks Leeds without changing the view for everyone else. Give each saved view a specific name, such as “Leeds – Follow-up” or “Sheffield – New,” so its purpose is obvious. Before sorting, confirm that the whole table is selected; sorting only one column can detach prices or statuses from their listings.
For a quick comparison, filter to active statuses and sort by City, then by Date found or Asking price. This makes it easier to spot where new options are appearing and which rows need attention. Avoid drawing conclusions from a city with only one or two entries: the sheet records the listings your team found, not every listing available in that market.
If you need a compact overview, create a pivot table from the main table and group the records by City and Status. A count can show how many entries are marked New or Contacted in each city, but check that the source data is clean first. A pivot table will faithfully count misspelled cities as separate categories.
6. Track changes and follow-ups
When a seller changes the price, update Asking price and add a brief note with the date and previous amount if that history matters to your decision. When a listing becomes unavailable, change Status and record when you confirmed it. These small updates preserve context without turning every row into a running conversation.
Use Next action and Due date together. “Ask whether the frame size is available” is an action; “Friday” is a due date. A row marked Follow-up without a date is easy to overlook, particularly when the tracker contains listings from several cities. Assign an owner as well if more than one person can contact sellers.
Google Sheets’ conditional formatting can make overdue dates easier to spot. For example, apply a rule to highlight a Due date earlier than today when the Status is still Follow-up. Check the rule against a few sample rows before relying on it: a blank due-date cell should not appear overdue, and a Closed listing should not keep demanding attention.
Keep a short update note in the row, but do not overwrite information that the team still needs. If several price changes or contact attempts need a full history, create a separate Log tab with the listing URL, update date, person, and change. For a small tracker, a dated note in the main table is usually easier to maintain.
7. Review the tracker on a regular schedule
Choose a recurring review time that matches the search. A team checking listings twice a week could use the second check to scan for missing URLs, blank cities, overdue follow-ups, and duplicate links. Put the review on a shared calendar if more than one person is responsible; otherwise, the sheet may be updated only when someone remembers.
During each review, filter Status to show active rows and sort by Last checked. Follow up on entries that have not been verified recently, using a freshness limit your team agrees on. There is no universal number of days that fits every classified site, so set the limit based on how quickly the listings you monitor tend to change and adjust it after a few review cycles.
Look for blank required fields, inconsistent prices, and rows whose next action no longer makes sense. Then check whether the search itself needs a change: perhaps one source produces no relevant listings, or a newly added city is creating more work than the team can handle. Update the scope and dropdown lists together, and tell the people who add rows what changed.
When the tracker grows, protect the header and reference areas from accidental edits, and keep a backup or version history available through Google Sheets. Add fields only when they answer a real question; a column for every possible detail slows entry and leaves more blanks to clean up. A tracker that records the same ten useful facts consistently is easier to trust than a larger sheet no one has time to maintain.



