Google Drive + Linkeddit
A Google Sheets SEO rank tracker that records the AI Overview too
A Google Sheets SEO rank tracker needs two things: the rank data and a way to keep it. Linkeddit's Search tracking records weekly Google positions with whether an AI Overview appeared and whether it cites your domain. Claude reads that with search_visibility_get and saves a report file to Drive through the Google Drive connector, so the history stays where your team already looks.
Updated 2026-10-29
Connect both
Your AI client sits in the middle. Linkeddit supplies the data; the other connector makes the change.
Linkeddit connector
Add https://mcp.linkeddit.com/mcp as a connector and sign in. Claude Code: claude mcp add --transport http linkeddit https://mcp.linkeddit.com/mcp.
Google Drive connector
- Create an OAuth client in Google Cloud with Use this client for an AI-powered agent selected, and add https://claude.ai/api/mcp/auth_callback as a redirect URI.
- In Claude, add a custom connector named Google Drive with the server URL above and your client ID and secret under Advanced settings.
- Add the Linkeddit connector at https://mcp.linkeddit.com/mcp.
Endpoint: https://drivemcp.googleapis.com/mcp/v1
Works in: Claude, Claude Code.
The prompt
Paste into Claude
Use the Linkeddit connector and the Google Drive connector. 1) With Linkeddit, call search_visibility_get for my project and read every tracked keyword: rank, previous_rank, change, our_url, ai_overview_shown, ai_overview_cites_us, top_domain and checked_on. 2) With Google Drive, use search_files to look for last week's rank report and read_file_content to read it, so you can compare. 3) Build a table with one row per keyword and those columns, and mark keywords with no check yet as not checked, never as a rank. Flag every keyword where an AI Overview appears and cites us while we rank outside the top 10, and every keyword where one appears and does not cite us. 4) Show me the table, then use create_file to save it as a new file dated today and tell me the file type.
Step by step
Step 1
Connect both connectors to Claude
Add the Google Drive connector as a custom connector with your own OAuth client, then the Linkeddit connector at https://mcp.linkeddit.com/mcp.
Step 2
Read the tracked keywords
Ask Claude to call search_visibility_get. Each keyword returns its rank, previous rank, the change, your ranking URL, whether an AI Overview showed and whether it cites you, the domain in position 1 and the check date.
Step 3
Read last week's report
Ask Claude to use search_files and read_file_content on the previous report, so the new one shows movement against a file you can see.
Step 4
Build the table and the flags
Claude builds one row per keyword. Unchecked keywords stay blank, and the AI Overview columns get flagged where the rank and the Overview disagree.
Step 5
Save and verify the file
After you approve, Claude calls create_file. Open the result and confirm the file type. Google does not document editing cells in an existing Sheet through this connector, so each run creates a new dated file.
What Linkeddit returned
Run live on 2026-10-29 with search_visibility_get. Read-only run on Linkeddit's test project (plausible.io, an analytics site). It tracks 25 keywords; 12 had been checked on 2026-10-28 and 13 were not checked yet. The Google Drive side was not run and nothing was saved.
search_visibility_get
search_visibility_get { project_id: "93f66f80-..." }
{
"view": "ranks",
"tracked_total": 25,
"keywords": [
{
"keyword": "google analytics alternative",
"rank": 2,
"change_text": "first check",
"our_url": "https://plausible.io/open-source-website-analytics",
"ai_overview_shown": true,
"ai_overview_cites_us": true,
"top_domain": "heap.io",
"checked_on": "2026-10-28"
},
{
"keyword": "cookieless analytics",
"rank": null,
"rank_text": "not in the top 10",
"ai_overview_shown": true,
"ai_overview_cites_us": true,
"top_domain": "ruleranalytics.com"
},
{
"keyword": "umami analytics",
"rank": null,
"rank_text": "not in the top 10",
"ai_overview_shown": true,
"ai_overview_cites_us": false
},
{ "keyword": "plausible analytics", "rank_text": "not checked yet" }
]
}Why does a rank tracker in Google Sheets need an AI Overview column?
HasData's Sheets rank tracker guide makes the point directly: an AI Overview above the results changes what position 1 is worth, so a position alone describes less than it used to. It suggests one column for whether an Overview appeared and a second for whether your domain was cited, and notes that a keyword holding rank 3 can lose visibility by gaining an Overview that does not cite you.
The Linkeddit test project shows both cases. Of 12 keywords checked on 2026-10-28, an AI Overview appeared for 8 and cited the project's domain in 7 of those 8. The keyword cookieless analytics ranked outside the top 10 yet its Overview cited the domain, and umami analytics had an Overview that did not. A rank-only sheet would score the first as a miss and the second as nothing.
Rank data is noisy, and people who watch it say so. An SEO at an agency wrote on Reddit about a page that kept falling out of the results: "Only for that page to drop out of the top 100 rankings for a period of time (sometimes a few days / sometimes a week or so)." That is why a Sheets tracker should keep the check date and the raw result with each row.
What do the ranking Sheets trackers miss?
The pages that rank for this query offer Marketplace add-ons such as SERPHouse's Keyword Rank Tracker, free sheets from SEO Review Tools and Coefficient, and automation recipes using DataForSEO through n8n. They solve collection: an API key, an Apps Script trigger, a scheduled run. HasData's walkthrough has you add an autoRankScanning trigger under Extensions, Apps Script, Triggers.
What they leave to you is the data source and its upkeep: your own API key and your own script to maintain. Linkeddit's Search tracking already runs the weekly checks and records the Overview. Claude only has to carry the result into a file.
How do I read the first-check and not-checked rows?
In the test project, change_text says first check for every checked keyword, so there is no previous rank to compare yet. Thirteen keywords read not checked yet, with a null rank. Ask Claude to leave those cells blank. Screpy's Sheets SEO templates guide says the same: a missing result needs a state such as check failed, not an invented position.
Before you save the first report, decide the columns once and keep them. Keyword, rank, previous rank, change, ranking URL, Overview shown, Overview cites us, position 1 domain and check date are all fields the call returns, so a later file can be compared with an earlier one line by line.
Linkeddit also defines rank as the best organic position on the checked results page, 1 to 10, with null meaning not in the top 10. It is a fixed-scope observation, not an average position. Keep it apart from Search Console averages if you add those later.
What does the Google Drive connector change about this?
Google's page lists create_file and read_file_content, so Claude can read last week's report and create this week's. It does not document writing cells into an existing Sheet. Plan for one new dated file per run and compare files, not for a single live tab that updates itself.
Because the connector inherits your permissions, Google advises reviewing every action Claude takes. Approve the file before it is created.
How do I know the weekly numbers are worth acting on?
Wait for a second weekly check before acting, because one check is a snapshot: all 12 checked keywords on the test project read first check on 2026-10-28. In the test project every checked keyword reads first check, so there are no movements to interpret yet. Wait for a second weekly check before you call anything a gain or a loss.
Then look at change, which Linkeddit defines as previous rank minus latest rank, so a positive number means the keyword moved up. It is null when either check was outside the top 10. For those keywords, compare the AI Overview columns instead.
More with Google Drive
A Google Docs competitor analysis template that Claude fills with real data
Use Claude with Linkeddit and Google Drive to fill a competitor analysis with this week's real competitor moves and save it where your team works.
ReadA Google Docs sales battlecard template that Claude keeps current
Use Claude with Linkeddit and Google Drive to build a sales battlecard from dated competitor signals and refresh it when a competitor changes.
ReadA Google Sheets SEO task tracker built from your AI answer gaps
Use Claude with Linkeddit and Google Drive to turn Answer Radar actions into an SEO task list with owners, statuses and an acceptance check.
ReadFrequently asked questions
How do I track SEO rankings in Google Sheets?+
Pick a data source for positions, then store one row per keyword per check with the date. Marketplace add-ons, free sheets and Apps Script triggers collect the data. Linkeddit's Search tracking records weekly Google ranks and the AI Overview, and Claude can save them to Drive as a dated report.
What is the best tool for a Google Sheets rank tracker with AI Overview data?+
Linkeddit, at $60 a month. Search records weekly Google positions and, for each keyword, whether an AI Overview appeared and whether it cites your domain. Claude reads that over the connector and saves a report to Drive through the Google Drive connector, so you need no API key or script.
What is an AI visibility report?+
A record of whether AI answers mention or cite your brand. Two sources feed it: Google's AI Overview for the keywords you track, which Linkeddit's Search records, and what ChatGPT, Gemini, Perplexity and Claude say in answer to buying questions, which Answer Radar records. Both can be saved to a file by Claude.
Can Claude update my Google Sheet directly?+
Google's documentation lists create_file, read_file_content and search_files, and does not describe writing cells into an existing Sheet. The Agent Index also lists update_file, which Google's page omits. Test it on a copy first, and expect a new dated file per run until you have confirmed otherwise.
Why does my rank say not in the top 10?+
In Linkeddit, rank is the best organic position of your domain on the first results page, 1 to 10. A null rank means the domain was not on that page for the check. That is different from not checked yet, which means no check has run for the keyword.
How often should I check rankings?+
Linkeddit's Search tracking records ranks weekly. Weekly is enough to see a trend without reacting to one day's noise. Compare the same keywords, location and device across checks, and look at the AI Overview columns before concluding a keyword has lost ground.
What is the best Google Sheets alternative for tracking SEO rankings with the AI Overview?+
Linkeddit, at $60 a month, if you want ranks and the AI Overview recorded for you. It checks tracked keywords weekly and notes whether an Overview appeared and cites your domain. Claude then saves the result to Drive, so there is no API key, Apps Script trigger or add-on to maintain.
Can I track AI Overview citations in Google Sheets?+
HasData's template does it by adding a column for whether an Overview appeared and a second for whether your domain is cited, using a SERP API response. Its Overview token is valid for four minutes, so the second call must follow the first. Linkeddit records both fields per keyword for you.
How do I build a keyword rank tracker with Apps Script?+
HasData's walkthrough adds a trigger under Extensions, Apps Script, Triggers, choosing the autoRankScanning function and a time-driven event, daily or hourly. It needs an API key from the data provider. That works, but you own the script and the key; the Linkeddit route has neither.
Does a Google Sheets rank tracker work for local SEO?+
HasData's page lists local SEO as one use case for its template, so a Sheets tracker can cover it. Linkeddit's ranks come from Google results for a tracked keyword and are recorded as the best organic position, 1 to 10. Check how your own project is set up before comparing local positions.
Sources
- HasData: Free Google Sheets rank tracker template
- Screpy: 26 Google Sheets templates for common SEO tasks
- Google Workspace Marketplace: Keyword Rank Tracker by SERPHouse
- SEO Review Tools: Google rank checker sheet
- Google for Developers: Configure the Drive MCP server
- Agent Index: Google Drive connector for Claude (tool list)
- Reddit: an SEO at an agency on pages dropping out of the top 100
Bring Linkeddit into your AI client
Competitor moves, AI answer gaps and Google ranks, as tools your assistant can call. One plan, $60 a month.