Fetching Rankings
Manual fetches, scheduling, retries, rate limits, and how Rank Tracker stays within Google's execution limits.
Fetching is the process that actually calls SERPHouse and fills in the grid. You can trigger it yourself, or let it run on a schedule; both go through the exact same engine underneath.
Open the menu → Fetch rankings now. A sidebar opens with a pre-flight summary before anything runs:
- Pairs to check: how many keyword + location pairs still need a result today (see What actually gets checked below; it's usually fewer than your full tracked list).
- Est. credits (max): the worst-case cost of this run.
- Balance: your current SERPHouse credit balance.
- A warning banner if the estimate could exceed your balance.
Click Start, and the sidebar tracks progress live: a progress bar, running counts of Found / Not ranked / Failed, and the exact pair currently being checked. Click Stop at any time. It finishes the current batch, then stops cleanly, and whatever's left unresolved just gets picked up the next time you fetch.
What actually gets checked
A fetch never blindly re-checks your entire tracked list. For each keyword + location pair, it looks at today's date sheet first:
- A cell that already holds a number or a
-is treated as done. It's skipped, and costs nothing on a re-run. - A cell that's empty or marked
F(failed) is unresolved. It's what actually gets checked.
Tip
This is why it's always safe to click Fetch rankings now again after a partial run: only what's still outstanding gets fetched, so you never pay twice for a result you already have.
Rate limits & concurrency
Requests are sent concurrently in batches, not one at a time, which is why large lists finish faster than you might expect, but never faster than your own configured limit:
- Batch size is derived automatically from your Max requests / minute setting (capped at 20 per batch), so a burst never exceeds the rate you've told SERPHouse to expect.
- A rolling one-minute window tracks how many requests have gone out; if a batch would exceed your per-minute cap, Rank Tracker pauses until the window resets.
- Transient errors, such as a dropped connection, an HTTP
429/5xx, or a200response SERPHouse itself flags as a momentary failure, are retried automatically, up to 3 attempts with backoff, before a pair is ever counted as failed.
Retries & Failures
If a pair is still failing after its automatic retries, its cell is marked F and the run continues on to the rest of the list, so one slow or broken pair never blocks everything else. Two situations stop the entire run early instead, because continuing would waste credits or time:
| Condition | What happens |
|---|---|
| Authorization error (401/403) | The run stops immediately with a message to check your API key. Nothing further is attempted until it's fixed. |
| 5 consecutive failures | The run stops, usually a sign SERPHouse is temporarily down or your quota is exhausted. Everything already fetched is kept; re-run later to finish the rest. |
'F' isn't a ranking result
A failed pair is never recorded as "not ranked." It's retried the next time you fetch, and only counts as a real result once SERPHouse actually returns one. See Reading a rank cell.
Handling the 6-minute execution limit
Google Apps Script caps every single run at 6 minutes. If your tracked list is large enough that fetching it all would run past that limit, Rank Tracker detects this before it happens (leaving a safety margin), stops itself cleanly, and schedules a continuation to pick up exactly where it left off, one minute later, automatically, with no action from you.
You'll see this reflected in the run's final status:
| Status | Meaning |
|---|---|
| Completed | Everything finished. |
| Paused (time limit) | Hit the 6-minute execution cap. Resumes automatically within about a minute. |
| Stopped (by user) | You clicked Stop in the sidebar. Resume manually whenever you like. |
| Aborted | Hit an auth error or 5 consecutive failures. Needs your attention (see above). |
Fetches never overlap
Only one fetch, whether manual, scheduled, or a continuation, can run at a time per spreadsheet. If you click Fetch rankings now while one is already in progress, you'll be told a fetch is already running instead of a second one starting and double-spending credits.
If you've installed Rank Tracker on multiple spreadsheets, or shared one with teammates, this guarantee is also per-document: one spreadsheet's fetch, progress bar, and Stop button are completely invisible to any other spreadsheet, and nothing you see or do here can interfere with anyone else's.
Related
Last updated on
How is this guide?