📈 Search ConsolePro Plan

GSC_KEYWORD_POSITION

Get average position for a specific keyword from Google Search Console.

Formula Signature
=GSC_KEYWORD_POSITION(query, startDate, endDate, [siteUrl])

Returns: 2D array with columns: Keyword, Position, Clicks, Impressions, CTR

Overview

GSC_KEYWORD_POSITION lets you instantly check the average search position for any specific keyword your site ranks for in Google. Simply provide the keyword, a date range, and optionally a site URL to get back the average position along with clicks, impressions, and CTR for that exact query. This is the fastest way to answer the question "Where does my site rank for this keyword?" directly from your spreadsheet.

Parameters

ParameterTypeRequiredDescription
querystringYesThe exact search query (keyword) to look up.
startDatestringYesStart date in "YYYY-MM-DD" format or relative format like "-30d" for 30 days ago.
endDatestringYesEnd date in "YYYY-MM-DD" format or relative format like "-1d" for yesterday.
siteUrlstringNoThe site URL property from Search Console. If omitted, uses the default connected property.

Examples

1

Check position for a target keyword

Check where your site ranks for "project management software" over the last 30 days.

fx
=GSC_KEYWORD_POSITION("project management software", "-30d", "-1d")

Output

KeywordPositionClicksImpressionsCTR
project management software4.2980221004.4%
2

Track a branded keyword

Verify that your site holds position 1 for your brand name in the last week.

fx
=GSC_KEYWORD_POSITION("mycompany", "-7d", "-1d")

Output

KeywordPositionClicksImpressionsCTR
mycompany1.02400310077.4%
3

Keyword from cell reference

Use a cell reference for the keyword so you can build a rank tracker with a list of keywords in column A.

fx
=GSC_KEYWORD_POSITION(A2, "-30d", "-1d")

Output

KeywordPositionClicksImpressionsCTR
best crm software6.8320125002.6%
4

Compare keyword position across months

Get the average position for January 2025 to compare with other months for trend analysis.

fx
=GSC_KEYWORD_POSITION("email marketing tips", "2025-01-01", "2025-01-31")

Output

KeywordPositionClicksImpressionsCTR
email marketing tips5.341098004.2%
5

Check position for a specific property

Look up keyword position for a specific Search Console domain property.

fx
=GSC_KEYWORD_POSITION("healthy recipes", "-30d", "-1d", "sc-domain:healthblog.com")

Output

KeywordPositionClicksImpressionsCTR
healthy recipes3.51850280006.6%

Use Cases

SEO

Keyword Rank Tracking Dashboard

SEO professionals build rank tracking spreadsheets with target keywords listed in a column and GSC_KEYWORD_POSITION checking each one, providing a free alternative to expensive rank tracking tools.

Digital Marketing

SEO Campaign Impact Measurement

Marketing teams measure the impact of SEO campaigns by comparing keyword positions before and after content changes, link building efforts, or technical optimizations.

Brand Management

Brand Monitoring

Brand managers monitor position 1 rankings for brand name queries and variations, quickly identifying any issues where competitors or negative content might be outranking official brand pages.

SaaS

Competitor Keyword Gap Tracking

SaaS companies track their positions for competitor comparison keywords like "product A vs product B" to ensure they maintain strong visibility when potential customers are evaluating alternatives.

Local Business

Local SEO Position Monitoring

Local businesses monitor positions for location-specific keywords like "dentist in Chicago" or "plumber near downtown" to ensure their local SEO efforts are maintaining strong rankings.

Web Development

Post-Migration Position Verification

After site migrations or redesigns, development teams check positions for critical keywords to verify that the migration did not cause ranking drops and catch any issues early.

Pro Tips

TIP

Build a rank tracker by listing target keywords in column A, then use =GSC_KEYWORD_POSITION(A2, "-30d", "-1d") across rows. Copy down for all keywords.

TIP

Create month-over-month tracking by putting each month's data in a separate column and using conditional formatting to highlight position improvements (green) and drops (red).

TIP

For high-volume keyword tracking (50+ keywords), use GSC_TOP_QUERIES with a high limit instead and VLOOKUP to find each keyword. This is more API-efficient than individual calls.

TIP

Set up alerts using Apps Script triggers: if a critical keyword's position drops below a threshold, automatically send yourself an email notification.

TIP

Track both the head keyword and long-tail variations (e.g., "crm software" and "best crm software for small business") to get a comprehensive view of your ranking strength for a topic.

Rank tracking is one of the most fundamental SEO activities, and GSC_KEYWORD_POSITION makes it effortless by pulling position data from the most authoritative source available: Google's own Search Console data. Unlike third-party rank trackers that estimate positions by scraping search results, this function returns actual average position data calculated from real impressions your site received in Google search. This means the data is 100% accurate for your specific site and reflects the true average across all variations of the search (different locations, devices, and personalization factors).

The function is perfect for building keyword rank tracking spreadsheets. List your target keywords in a column and use GSC_KEYWORD_POSITION with cell references to check each one. By running this periodically or for different date ranges, you can track ranking trends over time, measure the impact of SEO changes, and report on keyword performance to stakeholders. The single-keyword focus makes it ideal for monitoring your most critical keywords, while GSC_TOP_QUERIES is better suited for broad keyword discovery. For detailed position trends by day, combine this with GSC_QUERY using the "date" dimension.

Common Errors

NO_DATA: No search data found for the specified query

Cause: Your site does not rank for the specified keyword, or it had no impressions during the date range.

Fix: Verify the exact keyword spelling. Search Console normalizes queries to lowercase, so capitalization does not matter. Try a wider date range or check GSC_TOP_QUERIES to confirm the keyword appears in your search data. Remember that very new or very rare queries may not have data.

NOT_AUTHORIZED: Access to Search Console property denied

Cause: The connected Google account lacks permission for the Search Console property.

Fix: Ensure your account has at least "Full" permission in Search Console > Settings > Users and permissions. If using the siteUrl parameter, verify the property string matches exactly as it appears in Search Console.

INVALID_DATE: Date range exceeds maximum allowed period

Cause: The date range spans more than 16 months, which exceeds Search Console's data retention period.

Fix: Limit your date range to within the last 16 months. Search Console does not retain data older than 16 months. For historical tracking, export and store position data regularly in separate sheets.

Frequently Asked Questions

Average position is the mean position of your site in search results for that query, weighted by impressions. If your site appeared at position 3 for 80% of impressions and position 8 for 20%, the average would be approximately 4.0. It reflects your typical ranking across all searches for that keyword, including variations by location, device, and personalization.

Yes, the query parameter must match exactly as reported by Search Console. Google normalizes queries to lowercase and trims whitespace, but the core query must be exact. "project management" and "project management tools" are two different queries. Use GSC_TOP_QUERIES to discover the exact query strings Google reports.

If your site had no impressions for the specified query during the date range, the function returns an empty result with only the header row. This means your site either does not rank for that keyword or ranks beyond the positions that generate impressions (typically beyond position 100).

GSC_KEYWORD_POSITION uses official Google data, making it the most accurate source for your actual average position. Third-party tools estimate positions by scraping search results from specific locations, which may not represent the full picture. However, GSC data is an average across all searches, while third-party tools show a specific point-in-time position from a specific location.

GSC_KEYWORD_POSITION gives you the average position for the entire date range. For daily position data, use GSC_QUERY with the "date" dimension and a query filter to get a day-by-day breakdown of position changes for a specific keyword.

Yes, Search Console position data includes all types of search results. If your site appears in a featured snippet, it is typically counted as position 1. Other SERP features like People Also Ask, image packs, or knowledge panels may also affect the position numbering.

While you can use GSC_KEYWORD_POSITION with cell references to check many keywords, each formula makes a separate API call. For checking hundreds of keywords, consider using GSC_TOP_QUERIES with a high limit instead, which returns all your ranking keywords in a single request. You can then use VLOOKUP or INDEX/MATCH to find specific keywords.

Related Functions

Start using GSC_KEYWORD_POSITION today

Install Unlimited Sheets to get GSC_KEYWORD_POSITION and 41 other powerful functions in Google Sheets.