📈 Search ConsolePro Plan

GSC_TOP_PAGES

Get top pages from Google Search Console sorted by clicks.

Formula Signature
=GSC_TOP_PAGES(startDate, endDate, [limit], [siteUrl])

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

Overview

GSC_TOP_PAGES retrieves your best-performing pages from the Google Search Console API directly into Google Sheets. The function returns a detailed table with the page URL, total clicks, impressions, click-through rate (CTR), and average position for each page that appeared in Google search results during the specified date range. Results are sorted by clicks in descending order so you can immediately see which pages drive the most organic traffic.

Parameters

ParameterTypeRequiredDescription
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.
limitnumberNo (100)Maximum number of rows to return. Defaults to 100, max 25000.
siteUrlstringNoThe site URL property from Search Console. If omitted, uses the default connected property.

Examples

1

Top pages from the last 30 days

Retrieve the top 100 pages from the last 30 days using the default connected property.

fx
=GSC_TOP_PAGES("-30d", "-1d")

Output

PageClicksImpressionsCTRPosition
https://example.com/blog/best-tools-20254200620006.8%3.1
https://example.com/pricing3100410007.6%2.4
https://example.com/blog/how-to-guide2800395007.1%4.2
2

Top 5 pages for a specific week

Get the top 5 pages for the first week of March 2025 to analyze weekly performance.

fx
=GSC_TOP_PAGES("2025-03-01", "2025-03-07", 5)

Output

PageClicksImpressionsCTRPosition
https://example.com/1800250007.2%1.8
https://example.com/features950142006.7%3.5
https://example.com/blog/seo-tips720118006.1%4.9
3

Full page export for a domain property

Export all pages with search traffic from the last 90 days for a specific domain property.

fx
=GSC_TOP_PAGES("-90d", "-1d", 25000, "sc-domain:mystore.com")

Output

PageClicksImpressionsCTRPosition
https://mystore.com/product/widget-pro89001200007.4%2.2
https://mystore.com/category/widgets6500950006.8%3.1
https://mystore.com/5200780006.7%1.5
4

Compare two months side by side

Pull January data into one tab and February data into another to compare page performance month over month.

fx
=GSC_TOP_PAGES("2025-01-01", "2025-01-31", 50)

Output

PageClicksImpressionsCTRPosition
https://example.com/blog/year-review3600520006.9%2.8
https://example.com/tools/calculator2400380006.3%4.5
https://example.com/about1100190005.8%6.2

Use Cases

Content Marketing

Content Performance Audit

Content strategists analyze top pages monthly to evaluate which blog posts and landing pages generate the most organic traffic, informing decisions about content updates and new topic priorities.

E-commerce

Product Page Optimization

E-commerce managers identify high-impression but low-CTR product pages that need better titles, meta descriptions, or structured data to improve click-through rates from search results.

Web Development

Technical SEO Prioritization

Development teams use page-level data to prioritize Core Web Vitals improvements and technical fixes on the pages that receive the most search traffic, maximizing the impact of engineering efforts.

SEO Agency

Client Reporting Dashboard

Agencies build automated dashboards showing each client's top pages with trend data, reducing manual reporting time and providing clients with always-current performance visibility.

Multinational Corporation

International SEO Monitoring

Global companies compare top pages across different country-specific properties to understand which regional content performs best and identify localization opportunities.

Growth Marketing

Landing Page A/B Testing

Growth teams monitor search performance of A/B test landing page variants to measure organic traffic impact alongside conversion metrics, ensuring SEO is not negatively affected by experiments.

Pro Tips

TIP

Use FILTER and REGEXMATCH on the results to isolate specific page groups like /blog/, /product/, or /category/ for section-level performance analysis.

TIP

Create a "Content Decay" report by comparing top pages from 3 months ago versus today, flagging any pages with a clicks drop greater than 20%.

TIP

Pair GSC_TOP_PAGES with GSC_PAGE_QUERIES to build a complete content audit: see which pages get the most traffic and which keywords drive that traffic.

TIP

For large sites, export 25,000 pages quarterly and use conditional formatting to highlight pages with CTR below 2% as optimization opportunities.

Understanding which pages attract the most search traffic is fundamental to any SEO strategy. GSC_TOP_PAGES lets you quickly identify your content pillars, spot pages that are losing traffic, and discover pages with untapped potential (high impressions but low clicks). Unlike manually exporting data from the Search Console interface, this function keeps your data live and refreshable inside a spreadsheet where you can combine it with other data sources.

The function supports both standard date formats and convenient relative dates. Use "-7d" for a weekly snapshot, "-30d" for a monthly view, or specify exact dates for quarter-over-quarter comparisons. The limit parameter controls how many pages are returned, from a quick top-10 overview up to a comprehensive 25,000-page export. For sites with multiple Search Console properties, the optional siteUrl parameter lets you specify exactly which property to query. Combine this function with GSC_PAGE_QUERIES to drill down into the specific keywords driving traffic to each page, creating a complete picture of your organic search performance.

Common Errors

NOT_AUTHORIZED: Access to Search Console property denied

Cause: The Google account connected to Unlimited Sheets does not have permission to access the specified Search Console property.

Fix: Verify that your Google account has at least "Full" permission in Search Console > Settings > Users and permissions. If querying a specific property with siteUrl, ensure the property string matches exactly (including "sc-domain:" prefix for domain properties or the full URL for URL-prefix properties).

INVALID_DATE: Start date must be before end date

Cause: The startDate parameter comes after endDate chronologically, or one of the dates is improperly formatted.

Fix: Ensure dates follow "YYYY-MM-DD" format and that the start date is earlier than the end date. With relative dates, "-30d" (30 days ago) should be the start and "-1d" (yesterday) should be the end.

LIMIT_EXCEEDED: Limit must be between 1 and 25000

Cause: The limit parameter was set to a value outside the allowed range.

Fix: Set the limit to a value between 1 and 25000. If you need more than 25,000 rows, split your request into multiple date ranges or use different filter criteria.

Frequently Asked Questions

Yes, the function can return pages that have impressions but zero clicks. These pages appeared in search results but were not clicked on. This data is valuable for identifying pages with visibility but poor CTR that could benefit from improved title tags or meta descriptions.

Search Console reports data based on the canonical URL that Google selected for each page. If you have duplicate pages, their metrics may be consolidated under a single canonical URL. This matches the behavior you see in the Search Console web interface.

GSC_TOP_PAGES returns all pages sorted by clicks. To filter for a specific section like /blog/, you can wrap the result in a FILTER function: =FILTER(GSC_TOP_PAGES("-30d", "-1d", 5000), REGEXMATCH(GSC_TOP_PAGES("-30d", "-1d", 5000), "/blog/")). Alternatively, use GSC_QUERY with a page filter for better performance.

GSC_TOP_PAGES shows data from Google's perspective: how your pages appeared in search results. It includes impressions (how often pages were shown) and average position, which Analytics does not have. Google Analytics shows what happens after the click (sessions, bounce rate, conversions). Using both together gives you the complete picture.

Pages only appear if they had at least one impression during the specified date range. If a page is not showing up, it may not have been indexed, may not have ranked for any queries, or the data may be consolidated under a different canonical URL. Try increasing the limit parameter or widening the date range.

While GSC_TOP_PAGES gives you a snapshot for a date range, you can use GSC_QUERY with the "date" dimension and a page filter to get daily performance data for a specific page. This allows you to chart position and click trends over time.

Related Functions

Start using GSC_TOP_PAGES today

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