GET_KEYWORD_POSITION
Get ranking position of a domain in Google search results for a keyword.
=GET_KEYWORD_POSITION(keyword, domain, [location], [language])Returns: number (1-100) or "Not found"
Overview
GET_KEYWORD_POSITION checks where a specific domain ranks in Google's organic search results for a given keyword. It scans up to the first 100 results and returns the exact position number, or "Not found" if the domain does not appear within that range.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
keyword | string | Yes | The search query to check rankings for. |
domain | string | Yes | The domain to find in search results (e.g., "example.com"). |
location | string | No (United States) | The geographic location for localized results. |
language | string | No (English) | The language for search results. |
Examples
Check ranking for a specific keyword
Find where asana.com ranks for "project management software" in US English results.
=GET_KEYWORD_POSITION("project management software", "asana.com")Output
3Track ranking in a specific country
Check HubSpot's ranking for "best crm software" in UK search results.
=GET_KEYWORD_POSITION("best crm software", "hubspot.com", "United Kingdom")Output
5Check ranking in a foreign language
Check Semrush's position for "herramientas seo" in Spanish Google results from Spain.
=GET_KEYWORD_POSITION("herramientas seo", "semrush.com", "Spain", "Spanish")Output
2Monitor competitor ranking
Track where a competitor ranks for a target keyword.
=GET_KEYWORD_POSITION("email marketing platform", "mailchimp.com")Output
1Keyword not in top 100
When the domain does not appear in the top 100 results, the function returns "Not found".
=GET_KEYWORD_POSITION("best laptops 2025", "mysmallblog.com")Output
Not foundUse Cases
Daily rank tracking dashboard
Build a rank tracking spreadsheet that monitors client keyword positions across multiple markets. Log daily results to separate columns and create trend charts showing ranking improvements over time.
Competitor position benchmarking
Track how your product ranks versus competitors for high-value keywords. Create a matrix with your domain and competitor domains as rows and target keywords as columns to identify gaps.
Content performance monitoring
After publishing new blog posts, track their ranking progress for target keywords week over week. Identify which content pieces are gaining traction and which need optimization.
Local SEO tracking
Monitor rankings for location-specific keywords across multiple cities or regions. Compare performance in different geographic markets to prioritize local SEO efforts.
Post-migration ranking check
After a site migration or redesign, quickly check that key pages still rank for their target keywords. Set up alerts for any positions that drop significantly.
International SEO monitoring
Track product category rankings across different countries and languages. Identify markets where your visibility is strongest and where expansion opportunities exist.
Pro Tips
Use cell references for keywords and domains instead of hardcoding them in the formula. This makes it easy to track hundreds of keyword-domain combinations by dragging the formula down.
Create a historical log by copying position values (paste as values) into date-stamped columns weekly. This builds a ranking history you can chart over time.
Combine with conditional formatting to color-code positions: green for top 3, yellow for 4-10, orange for 11-20, red for 20+. This gives you an instant visual overview of your rankings.
When tracking many keywords, add them gradually rather than all at once. Spreadsheet functions execute in parallel, and running too many simultaneously may cause timeouts.
Use the domain without "www." prefix for broader matching. Entering "example.com" will match both "www.example.com" and "example.com" URLs in the results.
This function is essential for SEO professionals and website owners who need to monitor their search visibility without leaving Google Sheets. Instead of manually searching Google or paying for expensive rank tracking tools, you can build a complete rank tracking dashboard directly in your spreadsheet.
The function supports geographic and language targeting through optional parameters. You can specify a country-level location (e.g., "United States", "United Kingdom", "Germany") and a language (e.g., "English", "Spanish", "French") to get localized results. This is particularly valuable for businesses operating in multiple markets or targeting international audiences.
Combine GET_KEYWORD_POSITION with scheduled triggers or manual refreshes to track ranking changes over time. By logging results daily or weekly in separate columns, you can visualize ranking trends with Google Sheets charts. This gives you a lightweight but powerful rank tracking system that rivals dedicated SEO platforms.
For best results, use the exact domain without protocol or trailing slashes (e.g., "example.com" rather than "https://example.com/"). The function matches any page on that domain, so it returns the highest-ranking URL. If you need to see all ranking pages, use GET_ORGANIC_PAGES_FROM_SERP instead.
Common Errors
#ERROR - Invalid domain formatCause: The domain parameter includes a protocol (http:// or https://) or a trailing slash.
Fix: Use just the domain name without protocol or path. For example, use "example.com" instead of "https://example.com/".
#ERROR - SERP credit limit reachedCause: You have exceeded your monthly SERP credit allowance for your plan tier.
Fix: Wait until your credits reset next month, or upgrade to a Business plan for 10,000 credits per month. You can check your remaining credits in the Unlimited Sheets sidebar.
#ERROR - Request timeoutCause: The SERP lookup took too long, usually due to high server load or network issues.
Fix: Wait a few seconds and try again. If the issue persists, try a less competitive keyword or check your internet connection.
Frequently Asked Questions
Each call consumes one SERP credit. Pro plans include 1,000 credits per month and Business plans include 10,000 credits. You can check as frequently as your credit allowance permits. For daily tracking of 30 keywords, you would use about 900 credits per month on a Pro plan.
By default, GET_KEYWORD_POSITION returns desktop search results. The results closely mirror what you would see when searching Google on a desktop browser from the specified location.
Google personalizes results based on your search history, location, and device. GET_KEYWORD_POSITION returns non-personalized results from the specified location, which provides a more objective ranking measurement. Small position differences of 1-3 spots are normal.
GET_KEYWORD_POSITION checks one keyword at a time, but you can easily scale by placing it in multiple rows. Put your keywords in column A and drag the formula down. Each cell will make a separate API call, so be mindful of your credit usage.
If you search for "example.com", the function will match any page on that domain including subdomains like "blog.example.com" or "shop.example.com". It returns the highest-ranking match. If you want to check a specific subdomain only, enter the full subdomain as the domain parameter.
The function returns the organic position. If your site appears in a featured snippet (position 0), it will typically be reported as position 1. Other SERP features like People Also Ask or knowledge panels are not counted in the position number.
No, GET_KEYWORD_POSITION only tracks standard organic web results. Local pack (map) results are separate from organic rankings and are not included in the position count.
You can use any country name (e.g., "United States", "Germany", "Japan") or more specific locations like "California, United States" or "London, United Kingdom". The location parameter supports thousands of geographic targets worldwide.
Related Functions
GSC_KEYWORD_POSITION
Get average position for a specific keyword from Google Search Console.
GET_ORGANIC_PAGES_FROM_SERP
Get organic search results for a keyword from Google.
GET_SEARCH_VOLUME_FROM_GOOGLE
Get Google Ads keyword data: search volume, competition, and CPC.
Start using GET_KEYWORD_POSITION today
Install Unlimited Sheets to get GET_KEYWORD_POSITION and 41 other powerful functions in Google Sheets.