The Performance report shows important metrics about how your site performs in Google Search results, for example:
- See how your search traffic changes over time, where it’s coming from, and what search queries are most likely to show your site.
- Learn which queries are made on mobile devices, and use this to improve your mobile targeting.
- See which pages have the highest (and lowest) click-through rate from Google search results.
What are your most popular queries?
Which are your most popular pages on Search?
- Clicks show which pages get the most traffic from Google Search.
- CTR measures whether users think that your page answers their question best, based on the search result. See which parts of a search result you can influence.
Which are your least effective pages on Search
- Select CTR as your metric.
- Open the PAGES tab.
- Sort by CTR.
Which pages from your site has Google shown for a given query?
Why did your traffic drop or spike?
Compare data for two pages, date ranges, queries, or anything else
How to measure if a change in your page helped or not
What is your average position in Search results over time?
- If you want to see your position history for a specific page, or group of pages, add a URL filter to the report.
- Select the Average position metric and deselect all other metrics.
- Choose the time frame you're interested.
- Optionally compare this time frame to a similar time frame.
Remember that the value shown at each date is the average topmost position for pages from your site.
Also remember that it's very hard to determine exactly where on the page a specific position refers to. A safer bet is to aim for position 10 or lower, and to try not to drop in position over time. In general, you should focus more on impressions and clicks than on position.
Compare your performance in Google Search, News, and Discover
See data for branded vs unbranded queries
You might want to see how many queries show your site when the user does or doesn't include a specific word or phrase, such as a brand name.
This isn't as simple as filtering for queries with and without a value, because adding a filter triggers Search Console to ignore anonymized queries, which might contain the desired phrase. Therefore, the true number will be lost once you start filtering data. However, you can estimate the maximum margin of error by adding a query filter and seeing how much the total impression or click count decreases from the unfiltered total. So:
- Add a filter for queries that match some value ("Exact query," "Queries containing," or "Custom (regex)". Record the total clicks, impressions, and CTR from the chart.
- Modify the filter to find queries not containing that value ("Queries not containing" or "Custom (regex)"). Record the total values from the chart.
- Modify the filter to match all queries: "Custom (regex)" for queries that match the term
.*and record the total values from the chart.
- Remove all query and page filters and record the total values from the chart. Note that the increase in totals from step 3 is the anonymized data and other very long tail data that was dropped.
- Your approximate branded or unbranded query numbers are:
|(Queries containing "some value")
(Queries not containing "some value") + (Queries containing "some value")
Approximate maximum margin of error:
(Total with a filter that matches everything / Total without filter)
The default view of the report shows the click and impression data for your site in Google Search results for the past three months.
- Choose which metrics to see by selecting tabs above the chart. Metrics are the numbers to show (clicks, impressions, position, CTR).
- Choose which dimension to show by selecting a data grouping tab in the table. The dimension defines how data is grouped: by Page URL, by country, by query string, and so on.
- Optionally Filter your data by adding or changing filters.
- Optionally Compare dimension groups: for example, compare results from Brazil and China, or image data vs web data.
Depending on which tabs you select, the chart shows total clicks, total impressions, average CTR (click through rate), and average position for your property. Data on the chart is aggregated by property. See Metrics for explanations of these metric types and how they are calculated. The newest data can be preliminary; preliminary data is indicated when you hover or select it on the graph.
The chart data is always aggregated by property unless you filter by page or search appearance.
The totals for each metric are shown on the chart. The chart totals can differ from the table totals.
The table shows data grouped by the selected dimension (for example, by query, page, or country).
The table data is aggregated by property unless you filter or view results by page or search appearance.
In certain cases where the table does not add any additional information to the chart, the table is omitted from the report. For example, if you show click counts in a table grouped by country, and compare USA to UK, you would get a table like this:
|Country||USA clicks||UK clicks|
This table provides no information that the graph doesn't already show, so it is omitted.
You can group and filter your data by the following dimensions. To group, select the dimension tab above the table. To filter, read here.Queries
These are the query strings that users searched for on Google. Only non-anonymized query strings that returned your site are shown.
Some queries (called anonymized queries) are not shown in these results to protect the privacy of the user making the query. Anonymized queries are always omitted from the table. Anonymized queries are included in chart totals unless you filter by query (either queries containing or queries not containing a given string).
If your site has a significant number of anonymized queries, you may see a significant discrepancy between the total versus (count of queries containing some_string + count of queries not containing some_string). This is because the anonymized queries are omitted whenever a filter is applied. Learn more how anonymized queries can cause data discrepancies.
Data is aggregated by property when grouping or filtering by query.
When filtering by query, you can lose long-tail data in the table or the chart. When grouping by query, you can lose long-tail data only in the table. This is most noticeable in very large sites.
Other limits on queries
Due to internal limitations, Search Console stores top data rows and not all data rows. As a result, not all queries beyond anonymized queries will be shown. Instead, the focus is on showing you the most important ones for your entire property.
- Look for expected and unexpected queries. If words that you expect to see don't appear, your site might not have enough useful content relevant to those words. If unexpected words (like "Viagra" or "casino") appear, it's likely that your site has been hacked.
- Find queries with high impressions and low CTR. These queries can help identify where you can improve your titles and snippets to match your users’ interests.
- Find branded or not-branded query totals. You might want to see how many queries show your site when the user does or doesn't include a specific string, such as a brand name. Because anonymized queries can't be counted, and long-tail data is dropped when filtering by query, you can only approximate this value, but very roughly, the branded query percentage is:
(Queries containing "some value")
(Queries not containing "some value") + (Queries containing "some value")
The final URL linked by a Search result after any skip redirects (see below).
Most performance data in this report is assigned to the page's canonical URL, not to a duplicate URL. This means that when a user clicks a duplicate URL in Search results, the click counts for the canonical URL, not the URL that the user visits. Therefore, the Performance report can show zero clicks for a duplicate URL even though your site logs show that users reached that page from Google Search. You can learn the canonical URL for a page using the URL Inspection tool.
A small amount of clicks and impressions might be assigned to the actual URL rather than the canonical URL. Examples include some knowledge panel links in mobile search results, as well as some hreflang results.
You can try to determine actual traffic for duplicates if you have separate versions for desktop and mobile visitors. In this case, you can see traffic for the actual clicked URL by filtering data by device (for desktop or mobile).
Choosing the pages dimension aggregates data by page rather than by property in the table; the graph aggregates data by property whatever the dimension.
When grouping by page, you can lose long-tail data in the table. This is most noticeable in very large sites.
example.com/mypagefor desktop users, and
m.example.com/mypagefor mobile users. Google might show the desktop URL for both desktop and mobile searches, but the <a> link target will be different, depending on whether the search is from a desktop or mobile device. On a desktop, the underlying link points to the desktop page; on a mobile device, the underlying link points to the mobile page, which is called a skip redirect.
The country where the search came from; for example, Canada or Mexico.
The type of device on which the user is searching: desktop, tablet, or mobile. If you have separate properties for your different device types (for example m.example.com for mobile and example.com for desktop), you might not be able to compare metrics unless you use a Domain property.
Which search tab contained the link seen by the user:
- Web: Results that appear in the All tab. This includes any image or video results shown in the All results tab.
- Image: Results that appear in the Images search results tab.
- Video: Results that appear in the Videos search results tab.
- News: Results that show in the News search results tab.
Grouping is not supported for search type because the results page layout is very different for different search types. For example, position 30 in image search results might be on the first result page, but position 30 in web search would be on page three.
Data is stored separately by search type
For a given URL, all click, impression, and position data is stored separately for each search type. So, for instance, an image can appear in both web results and image results, but the click, impression, and position data for that image are recorded separately for web searches and image searches.
As an example, given an image hosted on the page example.com/aboutme.html, you might have this data:
Groups data by the specific search result type or feature.
Supported search appearance types:
- AMP on image result - An Image Search result, where the image is hosted in an AMP page.
- AMP non-rich results - A basic, non-graphical (plain blue link) search result for an AMP page.
- AMP article - A visually-decorated search result link, such as an image from the AMP page, plus a content summary. The result can be either free-standing in the results page, or embedded in a carousel of similar result types. AMP article rich results are also counted as rich results.
- Education Q&A - A STEM-education-related Q&A page, where the primary focus is to provide a correct answer to a user-submitted homework question.
- Event - An event rich result. Read about measuring clicks and impressions for Event items.
- FAQ rich results - A FAQ page.
- Job details - A job posting result that shows an expanded description of a job. Read about measuring clicks and impressions for jobs.
- Job listing - A job posting result that shows a summarized view of a job. Read about measuring clicks and impressions for jobs.
- Learning video - A learning video result.
- Math solvers - A Math solver rich result.
- Media Actions - A Media Action result, which is a result that enables a user to initiate playback of audio or video content directly from search results.
- Merchant listings - Results that rely on more specific data about a product, such as its price and availability (for example, Popular products or Shopping knowledge panel).
- Practice Problems - A practice problem.
- Product results - Items marked up with Product schema.org markup, or identified as a product result by some other mechanism. Product results include both Merchant listings and Product snippets.
Upcoming deprecation: This filter will be deprecated in 2024. We recommend that you use the Merchant listings and Product snippets filters instead, as they provide better data granularity.
- Product snippets - A richer form of presentation for snippets in search results than just text. They are used for products and product reviews, and can include additional information such as ratings, review information, price, and availability.
- Q&A rich results - A Q&A page rich result.
- Recipe rich result - A Recipe rich result that appeared outside of a collection in search results.
- Recipe gallery - A Recipe rich result that appeared in a collection of Recipe rich results.
- Review snippet - A review snippet rich result.
- Special Announcement - A
SpecialAnnouncementsstructured data element with information about COVID-19.
- Subscribed Content - A page that appeared in a "From your subscription" rich result. This is a rich result that shows users content that they are subscribed to via Subscribe with Google.
- Translated results - Search results in a language different from the query language, from selected sources.
- Videos - Videos that appear in either general search results (type Web) or Discover. Includes videos that appear in carousels within search.
- Web Story - A visual storytelling format built on AMP that enables a user to tap through full screen images and videos.
Dimensioning or filtering by search appearance will aggregate data by page rather than by property in the table only; data in the graph will still be grouped by property.
The filter feature list shows filter options only for types for which you have impressions; for example, if you have no Job listing results, you will not see Job listings in the filter list.
The same page can have multiple search appearance features in a single session, but only one impression is counted for each feature type. For example, a page can have both a rich result and a search result link in one query.
Filtered click counts
If you filter by search appearance, it is not guaranteed that all clicks for a given URL were on the link with the filtered feature type. This is because clicks are assigned to a URL, not to a (URL + feature). However it is guaranteed that the user saw a link with this URL and feature in the same set of results where she clicked a link with that URL.
Choose which metrics to display by toggling the appropriate tab on the report.
The following metrics are available:
- Clicks - Count of clicks from a Google search result that landed the user on your property. Learn more.
- Impressions - How many links to your site a user saw on Google search results. Impressions are counted when the user visits that page of results, even if the result was not scrolled into view. However, if a user views only page 1 but the result is on page 2, the impression is not counted. The count is aggregated by property or page. Note that infinitely scrolling result pages (image search) the impression might require the item to be scrolled into view. Learn more.
- CTR - Click-through rate: the click count divided by the impression count. If a row of data has no impressions, the CTR will be shown as a dash (-) because CTR would be division by zero.
- Average position [Chart only]- The average position of the topmost result from your site. So, for example, if your site has three results at positions 2, 4, and 6, the position is reported as 2. If a second query returned results at positions 3, 5, and 9, your average position would be (2 + 3)/2 = 2.5. If a row of data has no impressions, the position will be shown as a dash (-), because the position doesn't exist. Learn more.
- Position [Table only] - The position value in the table represents the average position in search results for the URL. For example, when grouping by query, the position is the average position for the given query in search results. See the average position above to learn how the value is calculated.
You can filter data by multiple dimensions. For example, if you are currently grouping data by query, you can add the filters "country='USA' AND device='Mobile'".
Add a filter
- Click the + NEW label in the filters section at the top of the report. (Look for the search type and date filters which are always present.)
- Click any row in a table to automatically filter data by that row. For example, to filter by a URL listed in the Pages tab, click the URL shown. You can later click and modify the filter as you like (for example, to show all results except the selected item, or to filter similar items).
Remove a filter:
- Click next to an existing filter. You cannot remove the search type or date filters.
Modify a filter:
- Click the filter and reset the values.
Filtering your data by query or URL can affect the totals.
You can filter your results by multiple queries or URLs. You can filter to show data that match your choices, or all data that doesn't match your choices.
If you want to see data for multiple devices, search types, countries, or search appearance types, you can do a comparison, which is limited to two items.
There are two ways to filter by multiple queries or URLs:
Items containing / Items not containing
The query and URL filters allow you to enter a substring to match in the query or URL. You can then filter the data to include only queries or URLs containing or not containing this substring. This is useful when all items you want to find contain the identical substring.
- Click the + NEW label in the filters row in the report.
- Choose either Queries or Pages.
- Choose Queries containing or URLs containing to match your provided string. Choose Queries not containing or URLs not containing to exclude your provided string.
- Enter a string to match. The match is not case-sensitive, but is otherwise exact, including any spaces. For example, "3 4" will match "123 456" but not "3456".
- Click Apply.
Regular expression search
Regular expression search enables you to match several substrings with significant differences. You can use this to filter for, or exclude, multiple queries or URLs that might contain differences, or contain variable sections.
- Click the + NEW label in the filters row in the report.
- Choose either Queries or Pages.
- Choose Custom (regex)
- Use the following regular expression, adding as many values as you like, separated by a vertical bar | and surrounding the whole expression with parentheses:
(<value 1> | <value 2> | <value 3> | ...)
(the world cup|world cup|world cup 2023)
- When filtering URLs, you might need to include only the end of the URL.
- When filtering queries, don't use quotation marks, and consider filtering by all variations of a query that you see in your results.
- If you want to see all values except the specified values, choose Doesn't match regex. Otherwise, use the default Matches regex.
- Click Apply.
All query and page URL filters are case-insensitive except for Exact URL, which is case-sensitive. This means URLs or queries containing/not containing/exact/Custom (regex) filters, but not Exact URL filters.
You can make regular expressions case-sensitive as described below.
If you choose the Custom (regex) filter, you can filter by a regular expression (a wildcard match) for the selected item. You can use regular expression filters for page URLs and user queries. The RE2 syntax is used.
- You can choose whether to show strings that do match your regular expression or that don't match your regular expression. Default is to show strings that do match your regular expression.
- The default matching is "partial match", which means that your regular expression can match anywhere in the target string unless you use ^ or $ to require matching from the start or end of the string, respectively.
- Default regex matching is not case-sensitive. You can prepend "(?-i)" to the beginning of your regular expression string for case-sensitive matches. Example: (?-i)AAA will match https://example.com/AAA but not https://example.com/aaa
- Invalid regular expression syntax will return no matches.
- Regular expression matching is tricky; try out your expression on a live testing tool, or read the full RE2 syntax guide
Here are a few basic regular expressions:
Matches any single character.
Matches any single item inside [ ].
Matches the preceding letter or pattern zero or more times:
Matches the preceding letter or pattern 1 or more times
OR operator, matches either the expression before or after the | operator.
One digit 0-9
Any non-digit (for example, any letter, or characters such as + or , or ?)
Any whitespace (tab, space)
Specifies case-sensitive matches for all following characters.
At the start of your expression, limits matches to the start of the target string.
You can compare data between two values in any one grouping dimension, whether or not it is the currently selected grouping. For example, when grouped by Query you can compare clicks between two dates (this week vs last week), or two countries (USA vs France). Comparing by page or search appearance can change the metric calculation for CTR, impressions, and clicks. When comparing values for a single metric, the results table will display a Difference column to compare values in each row.
To compare group data:
- Comparison is managed by filters (for example, Date or Search type). Either edit an existing filter or click New to add a new filter.
- In the filter properties dialog box, choose Compare.
- Add the dimensions or times to compare, and click Apply.
- You can have only one comparison at a time. Adding a new comparison filter will replace an existing comparison. For example, if you are comparing dates and then add a comparison between countries, the country comparison will replace the date comparison.
Some useful comparisons:
- Sort by difference to see queries with significant change from the previous week.
- Compare total searches on your mobile site to mobile searches on your desktop site. If you aren't using a Domain property, you'll need to open a separate Performance report for each site and compare searches from mobile devices on your desktop site (www.example.com) to all searches on your mobile site (m.example.com).
If you compare two groups, and a value is very rare in one group but not rare in the other group, the rare group will show ~ for that row to indicate that the number is not available. For example, if you compare query impressions between Germany and Thailand, the result row for "Deutsche Bundesbank" will probably show an impression number for Germany, and a ~ (not available) for Thailand. This is because the impression count for Thailand is at the end of a very long tail of results. It does not necessarily mean zero, but it is far down the list for that group. However, if you filter by the rare value (in this example "Deutsche Bundesbank"), you should see data values for both dimensions.
The Performance report counts data independently for each unique property. That is, data are counted separately for each of the following:
However, if you use a Domain property, all data from the same domain is combined, for both http and https.
The data does not include impressions or clicks from ads in Google Search that lead to your website.
Last updated date
The Last updated date on the report shows the last date for which the report has any data.
How are clicks, impressions, and position calculated?
The newest data in the Search Performance report is sometimes preliminary – this means that the data might change slightly before it is confirmed. Preliminary data is usually less than three days old; at some point, all preliminary data is confirmed. Preliminary data is indicated when you hover over it in the chart.
Preliminary data is included in both the chart and the tables for Search performance, as well as the Performance chart in the Search Console Overview page.
You might see a few kinds of data discrepancies in Search Console
Discrepancies between chart totals and table totals
You can see differences between the chart totals and the table totals for several reasons:
- When you add a Page or Search Appearance filter, you can sometimes see an increase (sometimes a very large increase) in the click and impression data shown in and above the chart. This is because these filters cause your data to be aggregated (grouped) by page rather than by property. (Note that in rare cases the totals can drop rather than rise for technical reasons.) Conversely, removing all Page and Search Appearance filters from the report can show a decrease in click and impression totals, as all data is then aggregated (grouped by) property rather than URL.
- When filtering by page or query, the "matches" and "does not match" totals might not add up to the unfiltered total. For example, adding the totals for "Queries containing:mouse" and "Queries not containing:mouse" might not equal the total value when no query filters are applied. This is because anonymized queries are omitted, and data is truncated due to serving limitations.
- In some unusual cases, when you filter on a page or query, you might see a discrepancy between chart and table data. This is because the data is truncated differently, depending on the grouping and filtering combinations used. In these cases, when the totals differ, the actual total will be at least the larger value shown (and possibly more).
- Adding an ineffective filter (such as filtering results to your site's root URL - "example.com/") can cause discrepancies for various reasons.
Chart totals higher:
- The table can show a maximum of 1,000 rows, so some rows might be omitted.
- When viewing by query, anonymized (rare) results are omitted from the table.
- Individual daily totals can omit rare queries.
Table totals higher:
- When the table is grouped by page or search appearance, the table totals are grouped by URL but the chart totals are still grouped by property. Therefore, if a single property appears multiple times in a single search, it count as 1 result in the chart but multiple results in the table.
- Some search appearances are subcategories of others. For example, Job listing is a subcategory of Rich result, so the same result will be listed in both rows.
Discrepancies between Search Console and other tools
Search Console data can differ slightly from the data displayed in other tools. Possible reasons for this include the following:
- To protect user privacy, the Performance report doesn't show all data. For example, we might not track some queries that are made a very small number of times or those that contain personal or sensitive information.
- Some processing of our source data might cause these stats to differ from stats listed in other sources (for example, to eliminate duplicates). However, these changes should not be significant.
- There can be a lag between when the numbers are calculated and when they are visible to webmasters. Although data gets published in intervals, we continually collect it. Normally, however, collected data should be available in 2-3 days.
- Time zones matter. The Performance report tracks daily data according to local time in California, where data for each day is labeled according to the local time in California. If your other systems use different time zones, your daily views may not match exactly. For example, Google Analytics shows time in the webmaster’s local time zone.
- Downloaded data unavailable/not a number values. If you download the data in the report, any values shown as ~ or - (not available/not a number) on the report will be zeros in the downloaded data.
Sometimes data in this report is aggregated by property, and sometime it is aggregated by page.
Aggregated by property means that all results for the same query that point to the same Search Console property are counted once in total. So if a query contains two URLs from the same site (example.com/petstore/giraffe and example.com/recipes/pumpkin_pie), this is counted as one impression when results are aggregated by property.
Aggregated by page means that each unique URL in a search result is counted once, even if they point to the same page. In this case, if a query contains two URLs from the same site (example.com/petstore/giraffe and example.com/recipes/pumpkin_pie), this is counted as two impressions.
Chart data is aggregated by property.
Table data is aggregated by property except when grouped by page or search appearance, when it is grouped by page.
When aggregating data by property, the site credited with the data is the site containing the canonical URL of the target of the search result link.
- For impressions, if a property appears twice on a search results page when aggregating by property, it counts as a single impression; if grouping by page or search appearance, each unique page is counted separately.
- For clicks, if a property appears twice in search results when grouped by property, and the user clicks on one link, backs up, then clicks the other link, it counts as a single click, since the final destination is the same site.
- For position, when aggregating by property, the topmost position of your property in search results is reported; when grouped by page or search appearance, the topmost position of the page in search results is reported.
- For click through rate, because of the different accounting methods, the click-through rate and average position are higher when aggregating by property if multiple pages from the same site appear in the search results.
Example:Imagine that search results for "fun pets for children" returns only the following three results, all from the same property:
www.petstore.example.com/monkeys www.petstore.example.com/ponies www.petstore.example.com/unicorns
If one user saw this set of results and clicked on each of the links, here are the metrics shown in Search Console:
|Metric||Aggregated by property||Aggregated by page|
All clicks for a site are combined
33% per URL
3 pages shown, 1/3 of clicks for each page
This is the highest position from the site in the results
2 for each URL
(1 + 2 + 3) / 3 = 2
|Impressions||1 for the property||1 for each URL|