Search appearance reference

Understand the search-result features exposed by the Performance report and API.

Automatable now Intermediate

The Search appearance dimension groups Performance data by a search-result type or feature, such as a video result, product snippet, or merchant listing. It describes how a result was presented; it does not prove that the page's structured data is valid, that the feature appeared on every impression, or that a click landed on the feature itself.

There is no universal list that every property will return. Search Console shows filter options only for appearance types for which the selected property recorded impressions. Google can add, rename, or retire types, so production integrations should discover values from the data instead of relying only on a hard-coded enum.

This reference was checked against Google's live documentation on July 18, 2026.

Current supported values

UI name Search Analytics API value BigQuery bulk-export field What it represents
AMP articles AMP_TOP_STORIES is_amp_top_stories An enhanced AMP article result, alone or in a carousel
AMP non-rich results AMP_BLUE_LINK is_amp_blue_link A standard text-and-link result for an AMP page
AMP on image result AMP_IMAGE_RESULT is_amp_image_result An image result whose image is hosted on an AMP page
Discussion forums FORUMS is_forums A result containing links to discussions and forums
Education Q&As EDU_Q_AND_A is_edu_q_and_a A STEM education Q&A result
Job details JOB_DETAILS is_job_details An expanded job-posting result
Job listings JOB_LISTING is_job_listing A summarized job result in a listing experience
Math solvers MATH_SOLVERS is_math_solvers A math-problem result linking to step-by-step help
Media Actions ACTION is_action Audio or video that can play from a rich result
Merchant listings MERCHANT_LISTINGS is_merchant_listings Shopping features with product data, excluding product snippets
Practice problems PRACTICE_PROBLEMS is_practice_problems Educational material presented as a quiz question
Product snippets PRODUCT_SNIPPETS is_product_snippets Product rich results that can show ratings, price, and availability
Q&A rich results TPF_QA is_tpf_qa Answers from Q&A pages shown in Search
Recipe galleries RECIPE_FEATURE is_recipe_feature A collection or carousel of recipe rich results
Recipe rich results RECIPE_RICH_SNIPPET is_recipe_rich_snippet An individual enhanced recipe result
Review snippet REVIEW_SNIPPET is_review_snippet A result with review information such as stars or ratings
Subscribed content SUBSCRIBED_CONTENT is_subscribed_content A “From your subscription” result
Translated results TRANSLATED_RESULT is_translated_result A result translated into a language different from the query language
Videos VIDEO is_video A video in Web, Discover, or a search carousel
Web Stories AMP_STORY is_amp_story A full-screen, tap-through Web Story result

“Supported” means Google currently documents the value. It does not guarantee that a particular site, country, device, search type, or date range is eligible or has impressions.

Deprecated BigQuery fields

Google retains the following fields in the bulk-export schema for compatibility, but documents their values for recent dates as NULL:

Former UI name Former API value Retained BigQuery field
Android app SEARCH_APPEARANCE_ANDROID_APP is_search_appearance_android_app
Event details EVENTS_DETAILS is_events_details
Event listing EVENTS_LISTING is_events_listing
FAQ rich results TPF_FAQ is_tpf_faq
Good page experience PAGE_EXPERIENCE is_page_experience
How-to rich results TPF_HOWTO is_tpf_howto
Learning videos LEARNING_VIDEOS is_learning_videos
Product results ORGANIC_SHOPPING is_organic_shopping
Special announcements SPECIAL_ANNOUNCEMENT is_special_announcement
Web Light results WEBLITE is_weblite

Do not replace NULL with FALSE: NULL means the legacy field has no recent value, not a measured negative for every row.

FAQ transition in 2026

FAQ rich results stopped appearing in Google Search on May 7, 2026. Google's Search Analytics API documentation says support for the FAQ appearance will be deprecated in August 2026. During this transition, historical queries can still contain TPF_FAQ, while recent BigQuery rows have a null is_tpf_faq field. Preserve the historical label in warehouses, but do not interpret it as a currently attainable feature.

How counting and aggregation work

One result can have several appearances

The same page can have multiple appearance features in a search session. Search Console counts one impression for each feature type. Therefore, the sum of appearance rows can be higher than the property's ungrouped impression total.

Do not calculate “share of all impressions” by dividing a sum of overlapping appearance rows by the property total unless you explicitly allow the shares to overlap.

Appearance grouping changes table aggregation

Grouping or filtering by Search appearance causes the table to aggregate by page rather than by property. The chart remains property-aggregated. This can create legitimate differences between chart totals and the sum of table rows because multiple pages from the property can appear in the same search result set.

Keep aggregation constant when comparing an appearance segment with a baseline. For API work, inspect the returned responseAggregationType and avoid mixing page- and property-aggregated results.

A filtered click is attributed to the URL

When filtered by an appearance, a click assigned to a URL is not guaranteed to have occurred on the link displaying that feature. Google guarantees that the user saw the URL with the feature in the same result set and clicked a link for that URL. Clicks are attributed to the URL, not to the (URL + feature) pair.

Use appearance-filtered CTR as a Search Console attribution metric, not as a precise interaction rate for the visual element.

Discover the values available to a property

In the interface

Open Performance → Search results, add a Search appearance filter, and inspect the available choices. A missing choice usually means there were no recorded impressions for that property and selected context; it is not proof that the site is technically ineligible.

Check the property, search type, date range, and filters before comparing the list between reports.

With the Search Analytics API

First make a discovery request grouped only by searchAppearance:

{
  "startDate": "2026-06-01",
  "endDate": "2026-06-30",
  "type": "web",
  "dimensions": ["searchAppearance"],
  "rowLimit": 25000,
  "dataState": "final"
}

The first key in each returned row is the API value available for that request scope. Then query each returned value separately and add the dimensions needed for analysis:

{
  "startDate": "2026-06-01",
  "endDate": "2026-06-30",
  "type": "web",
  "dimensions": ["date", "page"],
  "dimensionFilterGroups": [{
    "groupType": "and",
    "filters": [{
      "dimension": "searchAppearance",
      "operator": "equals",
      "expression": "PRODUCT_SNIPPETS"
    }]
  }],
  "rowLimit": 25000,
  "dataState": "final"
}

Google recommends this two-step pattern because appearance values are dynamic and some combinations are not returned reliably when discovery and detailed grouping are collapsed into one request. Store unknown values rather than discarding a row when Google introduces a new type.

The Search Analytics API returns top rows rather than a guaranteed complete dataset. See API endpoints & quota reference for row and quota limits.

In BigQuery bulk export

Appearance values are boolean columns on the daily site- and URL-level impression tables. Query a field with IS TRUE; account for nullable legacy fields explicitly. Bulk export removes the UI and API row caps but does not recover anonymized query strings or data from before export was configured.

Before production use, inspect the current table schema instead of assuming the column set is frozen.

What an appearance change can mean

An increase or decrease in an appearance segment can reflect:

  • a change in eligible or valid structured data;
  • Google's choice to show the feature more or less often;
  • demand, ranking, device, country, or query-mix changes;
  • canonical or page attribution changes;
  • a reporting launch, migration, renaming, or retirement;
  • a changed property, search type, date range, or filter.

Search Console Performance data alone cannot identify which explanation is causal. Pair it with the relevant enhancement report, URL Inspection or Rich Results Test, deployment history, and Google's feature documentation.

Practical interpretation checklist

  1. Record the property, search type, date range, filters, and data state.
  2. Discover appearance values for the request scope before filtering them.
  3. Compare the same appearance value and aggregation across periods.
  4. Expect overlapping rows; do not force their sum to equal the chart.
  5. Treat filtered clicks as URL-attributed, not feature-element clicks.
  6. Separate historical/deprecated values from current opportunities.
  7. Validate technical eligibility outside the Performance report.
  8. Preserve new or unknown API values so integrations fail visibly rather than silently losing data.

Official sources