# Weekly Google rankings and reviews check for every location

> Every Monday at 7am, see which of your locations slipped in Google's local results or stalled on reviews, with the healthy ones kept to one line.

- Workflow type: agent
- Services: SerpApi, Google Sheets, Slack Bot
- Categories: Marketing, Operations
- Published: 2026-08-09

## What it does

- Reads your location roster from a Google Sheet, where each row holds the business name, the city, and the main search term customers use to find that kind of business.
- Checks each location's current star rating, review count, and category as they appear on Google Maps right now.
- Runs a local search from each location's own city to see whether you show up in the top local results, and which businesses appear above you.
- Posts a Slack digest that leads with the locations that actually need attention, names the competitor that took your spot where that is clear, and logs the week's numbers to a history tab so trends build up over time.

## What you'll need

- A SerpApi account, which is what pulls the live Google and Google Maps results
- A Google Sheet listing your locations, one row each, with the business name, the city, and the search term you want to rank for
- A Google account with access to that sheet
- A Slack workspace and a channel where the Monday digest should land

## Prompt

Every Monday at 7am, tell me how each of our physical locations is performing on Google.

Start by reading the location roster from Google Sheets using Get Values. The roster lives on a tab called Locations, and each row has the business name, the city, and the main search term customers use to find that kind of business. Skip the header row and skip any row missing one of those three fields.

For each row, first use the SerpApi Location Lookup operation to resolve the city into a canonical location name, so that later searches run from the right place. Then run a SerpApi Google Maps Search for the business name within that location and capture the current star rating, the total review count, the category Google lists it under, and the place identifier. Store the place identifier in the history so that in later weeks I am comparing the same listing rather than a similarly named business.

Next, run a SerpApi Google Search for that row's target search term using the canonical location as the search location. Look at the local pack in the results and record whether we appear in it, what position we hold, and which businesses are listed above us. If we are absent from the local pack, record the businesses that do occupy it.

Then read the history tab with Get Values and find the most recent earlier entry for each location. Compare this week against it: the change in star rating, the change in review count, and the change in local pack position, including dropping out of the pack entirely. If there is no earlier entry for a location, treat this run as its baseline and say so rather than reporting a change.

Append this week's figures to the history tab using Append Values, one row per location, with the run date, business name, city, target search term, star rating, review count, category, place identifier, local pack position or a clear marker that we were not in the pack, and the names of the businesses that ranked above us.

Finally, post a digest to Slack with the Slack Bot Send a Message operation. Lead with the locations that actually need attention and put them at the top: any location whose rating dropped, any whose review count has stalled with no new reviews since the previous run, and any that fell out of the local pack or lost position. For each of those, explain what changed with both the old and new numbers, and where a specific competitor now occupies the position we used to hold, name that business. Where the cause is ambiguous, say so instead of guessing. Keep every healthy location to a single summary line so the digest stays readable, and open the message with a one sentence overview of how many locations are healthy versus how many need attention.

If a city cannot be resolved, or the Maps search returns no confident match for a business name, do not guess. List those rows in a short section at the end of the digest so someone can fix the roster.

## How to customize

- Change the schedule, for example Monday at 7am to Friday afternoon, or run it twice a month instead of weekly.
- Adjust what counts as needing attention, such as how big a rating drop matters or how many weeks without a new review counts as stalled.
- Point the digest at a different channel, send it as a direct message, or split regions into separate channels.
- Add or remove locations by editing rows in the sheet, with no change to the workflow itself.

## FAQ

### What are the local results this tracks?

When someone searches for a business type in their area, Google shows a small map with a short list of nearby businesses above the normal results. Appearing there drives most of the phone calls and directions requests a physical location gets, which is why the report treats falling out of it as urgent.

### Do I need access to my Google Business Profile for this to work?

No. Everything is read from public search results, the same thing a customer in that city would see. That also means it works for locations you do not manage directly, such as franchise sites.

### How many locations can this handle?

There is no fixed limit in the workflow. Each location uses a few searches per week, so the practical ceiling is the monthly search allowance on your SerpApi plan. A few dozen locations on a weekly schedule is comfortable for most plans.

### What happens the first time it runs?

There is no earlier data to compare against, so the first run records a baseline for every location and says so in the digest. Comparisons and trend calls start from the second run onward.

### Will it tell me who outranked us?

Yes, when the answer is clear. If a location drops out of the local results and a specific competitor now sits where you used to, the digest names that business. When the change is ambiguous it says so instead of guessing.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-google-rankings-and-reviews-check-for-every-location