Track keyword positions in CiteFlow with daily rank, SERP feature presence and AI Overview detection per query.
Keyword tracking
CiteFlow tracks Google search positions for keywords you care about, so you can see whether your visibility is improving over time. Checks run on a neutral, non-personalised SERP that reflects what a brand-new visitor would actually see.
Why your results may differ from what you see in Google
This is the single biggest source of confusion for new customers, so it is worth understanding before you add your first keyword.
When you search Google while signed in, Google personalises the results based on your location, search history, account, and brand recognition. If your brand is "AutoFeed" and you google "autofeed", you will almost always see your own site at position 1, because Google has learned that when you (specifically you) type that query you mean your own company.
CiteFlow queries the SERP through SerpAPI with a clean session: no login, no cookies, no prior history. The position we report is the neutral baseline that a potential customer who has never heard of you would see when they type the same query. That neutral position is the one that matters for growth.
If your CiteFlow position looks lower than what you see in your own browser, that gap is your personalisation gap. Closing it (by earning genuine organic visibility) is the goal.
How does keyword tracking work?
- Provider: SerpAPI against Google Search, top 100 organic results.
- Location:
gl=uk, languagehl=enby default. You can set a different country code per keyword when bulk-importing. - Device: desktop by default.
- Cadence: every 7 days per keyword. The worker picks up due keywords on a cron tick (up to 25 per tick) and writes a new ranking row.
- New keywords run an immediate check on add, so you do not wait a week to see your first position.
- Retries: each check has 2 attempts with linear backoff before being recorded as a failure for that day.
- Cost cap: every tier has a monthly SerpAPI spend cap. When the cap is reached, further checks pause until the start of the next month.
What do positions mean?
| Position | What it means |
|---|---|
| 1 to 3 | Top of page 1. Most clicks land here. |
| 4 to 10 | Bottom of page 1. Meaningful traffic, big room to grow. |
| 11 to 30 | Page 2 to 3. You are visible to dedicated researchers. |
| 31 to 100 | Indexed but rarely seen. Treat as "not ranking" for traffic. |
| Not in top 100 | Your site did not appear anywhere in the first 100 results. |
The dashboard shows your latest position plus a 12-point trend so you can spot movement.
Which SERP features do we capture?
Beyond position, CiteFlow records the features Google rendered for each query. These signals matter at least as much as raw position now.
- Featured snippet, whether Google showed a "position 0" answer box, and whether the box cites your site.
- AI Overview, whether Google's generative answer appeared, and whether it linked to or named your site.
- People also ask, up to 10 related questions Google surfaced. Use these as topic ideas for your content queue.
- Knowledge panel, whether Google showed a brand or entity panel.
How do you choose good keywords?
A small set of intent-matched keywords beats a big set of vanity keywords every time.
- Match intent to your business. Track terms a real customer would type to find what you sell, not adjacent terms that just feel on-brand.
- Avoid pure brand-name collisions. "AutoFeed" might rank you at 1 in your own browser because of personalisation, but if "AutoFeed" is also a generic phrase, the neutral SERP will be noisy. Track "autofeed dog food", not "autofeed".
- Be honest about realism. A new site is not going to rank for "insurance" or "lawyer". Start with long-tail terms (3 or more words) where you can plausibly compete, then graduate.
- Mix branded and non-branded. Both tell you something different. Branded shows you are findable; non-branded shows you are competitive.
What are the tier limits?
| Tier | Tracked keywords |
|---|---|
| Trial | 5 |
| Standard | 20 |
| Enhanced | 100 |
| Marketplace | 500 |
How do you bulk-import keywords?
For larger sets, use the CSV import on the keywords page. Each line is
keyword or keyword,country (country defaults to uk). The importer:
- accepts up to 500 lines per call;
- deduplicates within your file;
- skips keywords you already track;
- inserts whatever fits inside your tier cap;
- reports how many were inserted, duplicated, skipped for cap, or invalid.
Bulk-imported keywords are picked up by the worker on its next tick, so their first ranking appears within a few minutes rather than instantly.
How does trend tracking work?
The dashboard keeps the most recent 12 ranking checks per keyword and draws a sparkline of position over time. Lower is better; the sparkline is inverted visually so an upward line means improvement.
Position change events of more than 3 places (in either direction) surface in the Performance dashboard activity feed.
Frequently asked questions
Why does my keyword show "Not in top 100" when I can see my site on page 1? Almost certainly personalisation. Open a private browsing window, switch off Google account sign-in, and search again. The private-browsing result will be close to what CiteFlow reports.
Why is my position bouncing around week to week? SERPs are not static. Google re-ranks constantly based on freshness, location signals, and how other sites in the top 100 have moved. Treat the trend, not any single check, as the signal.
Can I check more often than weekly? No. Weekly cadence is a deliberate trade-off between cost and signal. Faster cadence would multiply SerpAPI spend without giving meaningfully different information; Google rarely moves your position day to day.
How do you troubleshoot keyword issues?
The position field is blank for a keyword I just added. New keywords trigger an immediate check, but if your monthly cost cap is already exhausted, the check is deferred to the start of next month. Check the banner on the keywords page.
A check shows an error rather than a position. SerpAPI returned an
error (most commonly a quota hit or a temporary timeout). The worker
will retry on the next cadence cycle. Repeated failures escalate
through the consecutive_failures counter visible to admins.
The dashboard says my site owns the featured snippet but the SERP
disagrees. Featured-snippet ownership is matched by URL host. If your
content lives on a CDN or a www/non-www mismatch, the match may be
wrong. Contact support and we will check the raw SerpAPI payload.
Related
- AI citation tracking, track how AI assistants mention your brand.
- Performance dashboard, see ranks, citations and audits in one composite view.
References
Related
- AI citation trackingCitations across OpenAI, Anthropic, Perplexity, Gemini and Google AI Overview. Cited vs mentioned.
- Performance dashboardAI Visibility Score formula, module cards, activity feed, and top opportunities, explained.