<!--
Copyright 2020 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<!--
This file is used to generate a comprehensive list of Search histograms
along with a detailed description for each histogram.
For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
Please follow the instructions in the OWNERS file in this directory to find a
reviewer. If no OWNERS file exists, please consider signing up at
go/reviewing-metrics (Googlers only), as all subdirectories are expected to
have an OWNERS file. As a last resort you can send the CL to
[email protected].
-->
<histogram-configuration>
<histograms>
<variants name="AuxiliarySearchDataType">
<variant name="" summary="All Requests"/>
<variant name=".Bookmarks" summary="Bookmarks"/>
<variant name=".Tabs" summary="Tabs"/>
</variants>
<histogram name="Search.Ambient.Query" enum="AmbientSearchEntryPoint"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records ambient search queries enumerated by the entry point used to make
the query. This is recorded every time the user makes a query regardless of
whether the query succeeds.
</summary>
</histogram>
<histogram name="Search.AuxiliarySearch.DeleteTime{AuxiliarySearchDataType}"
units="ms" expires_after="M130">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Time taken for deleting contents from the auxiliary search.</summary>
<token key="AuxiliarySearchDataType" variants="AuxiliarySearchDataType"/>
</histogram>
<histogram
name="Search.AuxiliarySearch.DeletionFailure{AuxiliarySearchDataType}"
units="count" expires_after="M130">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the count of failed deletions from the auxiliary search.
</summary>
<token key="AuxiliarySearchDataType" variants="AuxiliarySearchDataType"/>
</histogram>
<histogram
name="Search.AuxiliarySearch.DeletionRequestStatus{AuxiliarySearchDataType}"
enum="AuxiliarySearchRequestStatus" expires_after="M130">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the status of the request of the Auxiliary Search content deletion.
Recorded twice for every deletion request: once to capture the request sent,
and once to capture the consumer's response.
</summary>
<token key="AuxiliarySearchDataType" variants="AuxiliarySearchDataType"/>
</histogram>
<histogram name="Search.AuxiliarySearch.DonateTime" units="ms"
expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Time taken for donating contents to the auxiliary search.</summary>
</histogram>
<histogram
name="Search.AuxiliarySearch.DonationFailure{AuxiliarySearchDataType}"
units="count" expires_after="M130">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the count of failed donations from the auxiliary search.
</summary>
<token key="AuxiliarySearchDataType" variants="AuxiliarySearchDataType"/>
</histogram>
<histogram name="Search.AuxiliarySearch.DonationRequestStatus"
enum="AuxiliarySearchRequestStatus" expires_after="2024-10-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the status of the request of the Auxiliary Search content donation.
Recorded twice for every donation request: once to capture the request sent,
and once to capture the consumer's response.
</summary>
</histogram>
<histogram name="Search.AuxiliarySearch.DonationSent{AuxiliarySearchDataType}"
units="count" expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the count of contents which are sent to the auxiliary search.
</summary>
<token key="AuxiliarySearchDataType" variants="AuxiliarySearchDataType"/>
</histogram>
<histogram name="Search.AuxiliarySearch.QueryTime{AuxiliarySearchDataType}"
units="ms" expires_after="2024-10-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Time taken for query contents for the auxiliary search.</summary>
<token key="AuxiliarySearchDataType" variants="AuxiliarySearchDataType"/>
</histogram>
<histogram name="Search.ChoiceDebug.ScrollStateWithMoreButtonClick"
enum="SearchEngineChoiceScrollState" expires_after="2025-02-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records an enum that represents the search engine choice page scroll state
when the "More" button is clicked. In some cases, the page doesn't
scroll to the exact bottom when the button is clicked. Recorded only when
the "More" button is clicked.
</summary>
</histogram>
<histogram name="Search.ChoiceDebug.UnexpectedSearchEngineId" units="id"
expires_after="2025-02-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the id of an unexpected search engine that causes the choice screen
to be suppressed. We would normally only expect the choice screen to include
options that are in a country-specific list, or at least part of the set of
currently available prepopulated search engines.
This histogram might be recorded at each navigation, in a sparse histogram,
until the choice screen ends up being shown.
</summary>
</histogram>
<histogram name="Search.ChoiceReprompt{Category}"
enum="SearchEngineChoiceReprompt" expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the outcome of the search engine reprompt check, when the profile is
opened, based on remote experiment parameters. Reported for {Category}.
</summary>
<token key="Category">
<variant name="" summary="all keys"/>
<variant name=".SpecificCountry"
summary="specific country keys (wildcard excluded)"/>
<variant name=".Wildcard" summary="the wildcard country key"/>
</token>
</histogram>
<histogram name="Search.ChoiceScreenDefaultSearchEngineType"
enum="OmniboxSearchEngineType" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the type of the default search engine that was chosen by the user.
Recorded the first time a user in the EEA region changes their default
search engine in the search engine choice screen or in the settings page
with the SearchEngineChoiceTrigger feature enabled. The enum is shared with
Search.DefaultSearchProviderType2.
</summary>
</histogram>
<histogram name="Search.ChoiceScreenEvents"
enum="SearchEngineChoiceScreenEvents" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records that the search engine choice screen was displayed, and whether this
happened as part of the FRE. Also records when the user clicks/taps the 'Set
as Default' button and if this selection was in the FRE or not. On Desktop,
if the choice screen is shown simultaneously in multiple browsers that all
have the same profile, the display event is only recorded once.
</summary>
</histogram>
<histogram name="Search.ChoiceScreenNavigationConditions"
enum="SearchEngineChoiceScreenConditions" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the conditon state at page navigation for whether to display the
search engine choice screen. This is recorded every time the eligibility
state is being checked, which might be as often as every page navigation.
The enum is shared with ChoiceScreenProfileInitConditions, and individual
enum members might appear in only one histogram.
</summary>
</histogram>
<histogram name="Search.ChoiceScreenProfileInitConditions"
enum="SearchEngineChoiceScreenConditions" expires_after="2025-02-09">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the conditon state at profile initialization for displaying the
search engine choice screen that the profile is in. The enum is shared with
ChoiceScreenNavigationConditions, and individual enum members might appear
in only one histogram.
</summary>
</histogram>
<histogram name="Search.ChoiceScreenSelectedEngineIndex" units="index"
expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the index among the options listed on the choice screen for the
search engine that was chosen by the user. Gets recorded when a search
engine choice is made on the choice screen.
</summary>
</histogram>
<histogram name="Search.ChoiceScreenShowedEngineAt.CountryMismatch"
enum="BooleanSkipped" expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether Search.ChoiceScreenShowedEngineAt.Index{Index} had to be
skipped due to a mismatch between the Variations/UMA country and the
profile/choice country. If there is a mismatch, `true` ("Skipped")
is recorded, `false` ("Not Skipped") otherwise.
</summary>
</histogram>
<histogram name="Search.ChoiceScreenShowedEngineAt.Index{Index}"
enum="OmniboxSearchEngineType" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
With its other per-index variants, records information about the positions
of all search engines on the choice screen. Specifically, this one records
that a given search engine was shown at index {Index} of the choice screen.
This set of histograms is recorded at the moment a choice is made, which is
expected to happen at most once per profile. To avoid adversely impacting
pseudonymity property of UMA logs, this will not be logged if the country
associated with the current metrics session does not match the country used
to determine the list of options to show on the screen.
This metric is inteded to be consumed via raw histogram analysis instead of
via the UMA dashboard. See
http://go/chrome-choice-screen-positions-histogram-design for more info.
</summary>
<token key="Index">
<variant name="0" summary="0"/>
<variant name="1" summary="1"/>
<variant name="2" summary="2"/>
<variant name="3" summary="3"/>
<variant name="4" summary="4"/>
<variant name="5" summary="5"/>
<variant name="6" summary="6"/>
<variant name="7" summary="7"/>
</token>
</histogram>
<histogram name="Search.ChoiceWipeReason" enum="SearchEngineChoiceWipeReason"
expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the reason for wiping the search engine choice preferences, forcing
a reprompt at the next startup. Recorded every time the wiping occurs.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.All.ResultsSeen" enum="Boolean"
expires_after="never">
<!-- expires-never: dashboard metric (internal: go/cs-metrics-dashboard) -->
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the user opened the panel when it was shown. Recorded for
all gestures for all users when the UX is hidden. Implemented for Android.
The user action Search.ContextualSearch.All.ResultsSeen.true is also logged
in the case that true is logged to this histogram.
This histogram is of special interest to the chrome-analysis-team@. Do not
change its semantics or retire it without talking to them first.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.All.Searches"
enum="BooleanBottomSearchKind" expires_after="2025-01-05">
<!-- TODO(donnd): change expires_after to "never" once established and
approved. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records that a Search Result page was shown in a bottom sheet for either
Contextual Search or Related Searches. Each entry corresponds to exactly one
search of the indicated kind. Related Searches are recorded when the SERP is
shown to the user, and Contextual Searches are recorded when the panel is
closed. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.CardTag"
enum="ContextualSearchCardTag" expires_after="never">
<!-- expires-never: tracks key server results returned to the user. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The type of card returned in the Search Term Resolution Response from the
server when a search is resolved in response to a Tap gesture that uses
surrounding text to determine the best search. This characterises what we'll
show in the Bar. Recorded when the panel is closed. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.CardTagSeen"
enum="ContextualSearchCardTag" expires_after="never">
<!-- expires-never: tracks key server results returned to the user. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The type of card shown in the Bar when the panel has been opened. Recorded
when the panel is closed. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.Counted.Event"
enum="ContextualSearchCountedEvent" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records that a Search was done and whether the search was unintelligent or
intelligent, and whether it was likely counted by Rasta. Recorded for all
users when the panel is closed after being opened. Implemented for Android.
(Expired in 2023-04-16. Revived in 2024-11-03.)
</summary>
</histogram>
<histogram name="Search.ContextualSearch.Counted.Searches" enum="Boolean"
expires_after="2025-01-05">
<!-- TODO(donnd): change expires_after to "never" once established and
approved. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records that a Contextual Search was initiated by the user, and whether that
search should be counted as a real user-viewed search or not.
The true bucket is designed to match what Rasta counts in its queries(event)
metric as a real user search.
The false bucket includes all the other cases where the Contextual Search
was started but not counted by Rasta because the user has not been able to
view the Search Result Page. Usually this is because the user did not expand
the panel beyond the peeking state, but occasionally because it did not
render. Recorded when the panel is closed for all users. Implemented for
Android. (Expired in 2023-04-16. Revived in 2024-11-03.)
</summary>
</histogram>
<histogram name="Search.ContextualSearch.NetError" enum="NetErrorCodes"
expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Network status codes recorded for each Contextual Search request after the
url loader calls the completion callback. Recorded value is the absolute
value of the received net::Error value.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.Ranker.Model.Status"
enum="RankerModelStatus" expires_after="M77">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Tracks the outcome of attempts to download a Ranker Model.</summary>
</histogram>
<histogram name="Search.ContextualSearch.Ranker.Timer.DownloadModel" units="ms"
expires_after="M81">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time taken for the Ranker Model Loader to download its model from the
configured URL, in ms.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.Ranker.Timer.ParseModel" units="ms"
expires_after="M77">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time taken for the Ranker Model Loader to parse its model, in ms.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.Ranker.Timer.ReadModel" units="ms"
expires_after="M85">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time taken for the Ranker Model Loader to read its model from local storage
(cache), in ms.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.Ranker.Timer.WriteModel" units="ms"
expires_after="M85">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time taken for the Ranker Model Loader to write its model to local storage,
in ms.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.ResolveReceived" enum="Boolean"
expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records that a resolve response was received from the server, and whether
that was due to a Tap gesture or not (vs longpress). Recorded when the user
triggers the feature and the server responds. Implemented for Android.
(Expired in M94. Revived in M120.)
</summary>
</histogram>
<histogram name="Search.ContextualSearch.ResolveRequested"
enum="ContextualSearchGestureIsTap" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records that a resolve request was sent to the server, and whether that was
due to a Tap or not (vs longpress). Recorded when the user triggers the
feature. Implemented for Android. (Expired in 2023-02-12. Revived in
2024-11-03.)
</summary>
</histogram>
<histogram name="Search.ContextualSearch.SelectionExpanded"
enum="ContextualSearchGestureIsTap" expires_after="2024-07-21">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records that a resolve request from the server caused the selection to be
expanded, and whether that original selection was due to a Tap or not (vs
longpress). Recorded when the qualifying server response is received.
Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.SuppressedViewTooSmall" enum="Boolean"
expires_after="M106">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether triggering the Touch To Search feature was suppressed due to
the base page view being too small. This may happen in landscape mode, on
very small phones, when a Partial Height Custom Tab is being displayed, or
when muliwindow is in use with a small window. The intent is to capture in
the log how many searches we lose when the gating Feature is enabled.
Recorded when a gesture that would normally trigger TTS suppresses the
bottom sheet from showing. Android only.
</summary>
</histogram>
<histogram name="Search.ContextualSearch.Tap.ResultsSeen" enum="Boolean"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the user opened the panel when it was shown in response to a
tap gesture, for all users. Recorded when the UX is hidden. Implemented for
Android. (Expired in M77. Revived in M120.)
</summary>
</histogram>
<histogram name="Search.ContextualSearch.Tap.SyncEnabled.ResultsSeen"
enum="Boolean" expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the user opened the panel when it was shown for sync-enabled
users only (this is an approximation for the population that logs to UKM).
Recorded for all gestures for users with sync enabled when the UX is hidden.
Implemented for Android. (Expired in M76. Revived in M120.)
</summary>
</histogram>
<histogram name="Search.ContextualSearch.UnifiedConsent.PreviouslyUndecided"
enum="Boolean" expires_after="2024-10-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the previous state of the user's enabled preference to indicate
whether they were decided or undecided about fully enabling this feature.
Recorded during the rollout of Unified Consent when the Contextual Search
preference is changed. Implemented for Android. (Expired after 2019-01-30.
Revived in M120.)
</summary>
</histogram>
<histogram name="Search.ContextualSearch.UnifiedConsent.ThrottledRequests"
enum="Boolean" expires_after="2024-10-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether throttling for Unified Consent was done for all requests.
Recorded when the user taps on text and the system would like the server to
suggest what to search for using page context, regardless of feature-enabled
state. Recorded multiple times for each request. Supports the rollout of
Unified Consent for Contextual Search. Implemented for Android. (Expired
after 2019-01-30. Revived in M120.)
</summary>
</histogram>
<histogram name="Search.ContextualSearch.UnifiedConsent.ThrottleEligible"
enum="Boolean" expires_after="2024-10-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether this user had a request throttled or not when needed.
Recorded when the user taps on text and the system would like the server to
suggest what to search for using page context, and throttling is in effect
for this user. Supports the rollout of Unified Consent for Contextual
Search. Implemented for Android. (Expired after 2019-01-30. Revived in
M120.)
</summary>
</histogram>
<histogram name="Search.ContextualSearchContextualCardsIntegration.DataShown"
enum="Boolean" expires_after="never">
<!-- expires-never: key metric on usefulness of Touch to Search. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether Contextual Cards data was shown in the Contextual Search Bar.
Contextual Cards data is included with the search term resolution response.
Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearchIPHShown" enum="Boolean"
expires_after="M77">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of times the Contextual Search panel is opened, categorized by
whether In-Product Help for Contextual Search was shown before. Logged when
the panel is opened. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearchPanelOpenedIPHShown" enum="Boolean"
expires_after="M77">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of times the Contextual Search panel is opened, categorized by
whether In-Product Help for opening the panel was shown before. Logged when
the panel is opened. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearchPreferenceState"
enum="ContextualSearchPreferenceState" expires_after="never">
<!-- expires-never: dashboard metric (internal: go/cs-metrics-dashboard) -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The state of the Contextual Search Preference. Can be logged multiple times.
Used to determine the population size (user view). Logged whenever the
Chrome application is paused. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearchPreferenceStateChange"
enum="ContextualSearchPreferenceState" expires_after="never">
<!-- expires-never: dashboard metric (internal: go/cs-metrics-dashboard) -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The Contextual Search preference state after a modification from the
preference menu. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearchPrivacyOptInPreferenceStateChange"
enum="BooleanOptedIn" expires_after="2024-11-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The Contextual Search privacy opt-in preference state after a modification
from the preference menu. Recorded when the opt-in switch in Settings page
is toggled. Implemented for Android. (Expired in 2023-10-15. Revived in
2024-11-03.)
</summary>
</histogram>
<histogram name="Search.ContextualSearchPromoCardChoice" enum="BooleanOptedIn"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The user's choice in the Contextual Search promo card. Recorded when the 'No
thanks' or 'Turn on' button on the Contextual Search Promo Card is chosen.
Implemented for Android. (Expired in 2023-05-07. Revived in 2024-11-03.)
</summary>
</histogram>
<histogram name="Search.ContextualSearchPromoOpenCount2" units="opens"
expires_after="2024-11-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The total count of times that the revised promo has been shown. Once the
user decides, this counter is no longer updated. Logged for each show of the
promo card. Implemented for Android. (Expired in 2023-06-26. Revived in
2024-11-03.)
</summary>
</histogram>
<histogram name="Search.ContextualSearchQuickActions.Category"
enum="ContextualSearchQuickActionCategory" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The category of quick actions shown in the Contextual Search bar. Recorded
when the quick action is set. Implemented for Android. (Expired in
2023-10-22. Revived in 2024-11-03.)
</summary>
</histogram>
<histogram name="Search.ContextualSearchQuickActions.Clicked"
enum="BooleanClicked" expires_after="never">
<!-- expires-never: indicates completion of a user journey. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether a quick action in the Contextual Search bar was clicked, which
activates the associated intent. Recorded when Contextual Search is
dismissed due to a click on a QuickAction in the Bar. Implemented for
Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearchQuickActions.IntentResolution"
enum="ContextualSearchQuickActionIntentResolution"
expires_after="2024-10-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether a Contextual Search quick action intent resolved to zero, one, or
many apps. Recorded when the quick action intent URI is resolved.
Implemented for Android. (Expired in M81. Revived in M120.)
</summary>
</histogram>
<histogram name="Search.ContextualSearchQuickActions.ResultsSeen"
enum="ContextualSearchResultsSeen" expires_after="2024-10-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether search results were seen as part of a Contextual Search when a quick
action was shown. Recorded when Contextual Search is dismissed. Implemented
for Android. (Expired in M81. Revived in M120.)
</summary>
</histogram>
<histogram name="Search.ContextualSearchResultsSeen"
enum="ContextualSearchResultsSeen" expires_after="never">
<!-- expires-never: dashboard metric (internal: go/cs-metrics-dashboard) -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether search results were seen as part of a contextual search. Implemented
for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearchResultsSeenByGesture"
enum="ContextualSearchSeenByGesture" expires_after="never">
<!-- expires-never: dashboard metric (internal: go/cs-metrics-dashboard) -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether search results were seen, broken down by original triggering
gesture. Only includes users that have enabled. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearchTapIPHShown" enum="Boolean"
expires_after="M77">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of times the Contextual Search is triggered by tapping,
categorized by whether In-Product Help for tapping was shown before. Logged
when Contextual Search is triggered by tapping. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.ContextualSearchTranslateCondition" enum="Boolean"
expires_after="M77">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
For each contextual search that is triggered by tap, records whether the
translation conditions are met. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.DefaultSearchProviderType2{Population}"
enum="OmniboxSearchEngineType" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The type of the default search engine that is loaded when a regular, guest,
or ChromeOS sign-in screen profile is opened or after a profile reset. (A
profile reset can only happen to a regular profile.) Not logged when an
Incognito profile is opened because that inherits the settings from its
parent profile. As such, it's not necessary to log the Incognito profile's
settings.
The fact that this is logged when the ChromeOS sign-on screen profile is
opened means this is recorded when the ChromeOS sign-in screen is initially
shown. The value recorded is the default value for the ChromeOS install; the
default search engine used in this profile cannot be changed. Also note that
people cannot search / browse the web using this profile. As such, the
default search engine setting for this profile does not have any practical
meaning.
{Population}
</summary>
<token key="Population">
<variant name="" summary="Reported for all users."/>
<variant name=".SetByEnterprisePolicy"
summary="Reported for users with DSP set by Enterprise policy."/>
</token>
</histogram>
<histogram name="Search.Image.Camera.Open" enum="CameraOpenEntryPoint"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records all intents fired to open the Lens viewfinder enumerated by entry
point, regardless of whether the intent was successful.
</summary>
</histogram>
<histogram name="Search.Image.Camera.Result" enum="CameraResult"
expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records camera results such as successful image capture, user exited, etc.
This is recorded every time the user opens the Lens viewfinder camera.
</summary>
</histogram>
<histogram name="Search.iOS.SelectDefaultSearchEngine"
enum="OmniboxSearchEngineType" expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
When an iOS user changes the default search engine in chrome Settings,
records the search engine's type.
</summary>
</histogram>
<histogram name="Search.Lens.ViewportDimensionsSent.Success" enum="Boolean"
expires_after="2024-08-04">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
When the user performs a Lens search on Desktop, records if the viewport
dimensions of the side panel were included in the request. A false value
indicates either the viewport width or height were not included in the
request. A true value is recorded if and only if both the `vpw` and `vph`
url params were added to the request with non-zero values.
</summary>
</histogram>
<histogram name="Search.PartnershipSearchPerformed" enum="SearchEntryPoint"
expires_after="M85">
<owner>[email protected]</owner>
<summary>
The entry point used for all searches performed under partnership after the
Android search engine promo dialog was shown. This is a dialog prompting the
user to pick a default search engine. This metric is collected for every
search query performed.
</summary>
</histogram>
<histogram base="true" name="Search.QueryTiles.Bitmap.Available"
enum="BooleanAvailable" expires_after="2022-10-31">
<!-- Name completed by histogram_suffixes name="TileUiSurface" -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Indicates whether or not a bitmap could be shown for a tile.
</summary>
</histogram>
<histogram base="true" name="Search.QueryTiles.Bitmap.FetchDuration" units="ms"
expires_after="2022-04-01">
<!-- Name completed by histogram_suffixes name="TileUiSurface" -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time taken to fetch a bitmap for a tile when a bitmap could be
found. It includes the time starting from the UI layer requesting the
backend till the backend returns the associated bitmap.
</summary>
</histogram>
<histogram name="Search.QueryTiles.Fetcher.FirstFlowDuration" units="hours"
expires_after="2023-01-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records duration from time when first task scheduled to time the fetch task
completed.
</summary>
</histogram>
<histogram name="Search.QueryTiles.Fetcher.Start" units="hours"
expires_after="2023-03-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Records the hour (0-23) when the TileFetcher task starts.</summary>
</histogram>
<histogram name="Search.QueryTiles.FetcherHttpResponseCode"
enum="HttpResponseCode" expires_after="2023-09-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Records the HTTP response code get from TileFetcher.</summary>
</histogram>
<histogram name="Search.QueryTiles.FetcherNetErrorCode" enum="NetErrorCodes"
expires_after="2023-08-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Records the net error code get from TileFetcher.</summary>
</histogram>
<histogram name="Search.QueryTiles.Group.PruneReason"
enum="QueryTilesGroupPruneReason" expires_after="2022-12-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the reasons caused the tile group pruned in TileManager.
</summary>
</histogram>
<histogram name="Search.QueryTiles.GroupStatus" enum="QueryTilesGroupStatus"
expires_after="2023-02-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the TileManager status after initialized and loaded completed.
</summary>
</histogram>
<histogram name="Search.QueryTiles.ImagePreloadingEvent"
enum="QueryTilesImageLoadingEvent" expires_after="2022-04-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the image preloading events when the query tile images are fetched
from the background task.
</summary>
</histogram>
<histogram base="true" name="Search.QueryTiles.NoBitmap.FetchDuration"
units="ms" expires_after="2022-04-01">
<!-- Name completed by histogram_suffixes name="TileUiSurface" -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time taken by the bitmap request for a tile when no bitmap could
be found. It includes the time starting from the UI layer requesting the
backend till the backend returns the associated bitmap.
</summary>
</histogram>
<histogram name="Search.QueryTiles.RequestStatus"
enum="QueryTilesRequestStatus" expires_after="2023-04-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the TileFetcher status after request send to server and response
received.
</summary>
</histogram>
<histogram base="true" name="Search.QueryTiles.Tile.Clicked" units="index"
expires_after="2023-08-31">
<!-- Name completed by histogram_suffixes name="TileUiSurface" -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the index of the tile that was clicked. The index refers to the
position of the tile in the carousel.
</summary>
</histogram>
<histogram base="true" name="Search.QueryTiles.Tile.Clicked.IsTopLevel"
enum="BooleanIsTopLevel" expires_after="2022-04-01">
<!-- Name completed by histogram_suffixes name="TileUiSurface" -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Indicates whether the tile clicked was a top level tile.</summary>
</histogram>
<histogram base="true" name="Search.QueryTiles.TileCount" units="tiles"
expires_after="2023-08-31">
<!-- Name completed by histogram_suffixes name="TileUiSurface" -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Indicates the number of tiles displayed in the UI after the backend was
loaded.
</summary>
</histogram>
<histogram name="Search.QueryTiles.TrendingTileEvent" enum="TrendingTileEvent"
expires_after="2024-09-22">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records events related to trending tiles, including display, removal and
click, after the events occur.
</summary>
</histogram>
<histogram name="Search.RegionSearch.Lens.RegionAspectRatio"
enum="LensRegionSearchAspectRatio" expires_after="2024-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records an enum representing the aspect ratio of the region selected after
using the Lens Region Search feature.
</summary>
</histogram>
<histogram name="Search.RegionSearch.Lens.RegionViewportProportion" units="pct"
expires_after="2024-06-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records a percentage to represent the proportion of the selected region to
the screen after selecting a region with the Lens Region Search feature.
</summary>
</histogram>
<histogram name="Search.RegionSearch.Lens.Result"
enum="LensRegionSearchCaptureResult" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records an enum representing the result of the capture of the region for
Lens Region Search feature.
</summary>
</histogram>
<histogram name="Search.RelatedSearches.AllUserPermissions"
enum="ContextualSearchPermissions" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Enumerates all users by the permissions needed in order to use the Related
Searches feature. This tells us the potential user pool if we were to remove
one of the current requirements (which are sending page content and sending
the URL to Google). Logged whenever the Chrome application is paused. NOTE:
Use the Count unique clients option to count users since multiple events are
logged for each user. Implemented for Android. (Expired in 2022-12-11.
Revived in 2024-11-03.)
</summary>
</histogram>
<histogram name="Search.RelatedSearches.CarouselLastVisibleItemPosition"
units="position" expires_after="2025-05-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The last visible position index for a chip in the carousel. the index is 0
based. Ex. There are 10 chips, and only 2 chips are shown completely, and 1
chip is shown half, in this case, 2 will be reported. Recorded every time
the carousel is shown, or the carousel content is updated. Implemented for
Android.
</summary>
</histogram>
<histogram name="Search.RelatedSearches.CarouselScrollAndClick"
enum="ScrollAndClickStatus" expires_after="2025-05-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether and how the user interacted with the carousel. Recorded when
the presentation UI is dismissed while the carousel is shown. Implemented
for Android.
</summary>
</histogram>
<histogram name="Search.RelatedSearches.CarouselScrolled" enum="Boolean"
expires_after="2025-05-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the user scrolled the carousel when it was shown, this can
help us to find users who discover carousel scroll gesture. Recorded when
the presentation UI is dismissed while the carousel is shown. Implemented
for Android.
</summary>
</histogram>
<histogram name="Search.RelatedSearches.CTR" enum="BooleanClicked"
expires_after="2024-11-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the click through rate for Related Searches. This is the rate that
at least one suggestion was chosen by the user when any were shown. Records
false whenever Related Searches suggestions were shown to the user but none
were selected, and true whenever the user has clicked on any suggestion to
view the suggested query. Only records one entry per botton-sheet session.
Recorded when the presentation UI is dismissed. Implemented for Android.
(Expired in 2022-08-07. Revived in 2024-11-03.)
</summary>
</histogram>
<histogram name="Search.RelatedSearches.NumberOfSuggestionsClicked2"
units="selected" expires_after="2025-02-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of suggestions that were chosen by the user in a bottom-sheet
session when the user chose any Related Searches. Written when the
suggestions UI is closed. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.RelatedSearches.QualifiedUsers" enum="Boolean"
expires_after="2025-05-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records true for every user that is qualified for the Related Searches
experiment regardless of whether that feature is enabled or not. Never logs
false. Used to validate that population sizes are relatively equal (since
only a subset is actually qualified). Logged whenever a user triggers
Contextual Search in way that could activate Related Searches (i.e. sends
context). NOTE: Use the Count unique clients option to count users since
multiple events are logged for each user. Implemented for Android.
</summary>
</histogram>
<histogram name="Search.RelatedSearches.SelectedCarouselIndex" units="position"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The display position index for a chip in the carousel when it was selected
by the user. Written when a Related Searches suggestion chip is clicked.
Implemented for Android. (Expired in 2023-10-22. Revived in 2024-11-03.)
</summary>
</histogram>
<histogram name="Search.RelatedSearches.SelectedSuggestionIndex"
units="position" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The display position index for a suggestion when it was selected by the
user. The suggestion at location 0 is always the default selection search,
which may not be a possible position in some implementations. All indecies
from 1 on are true Related Searches suggestions. Written when a Related
Searches suggestion in the UI is selected. Implemented for Android. (Expired
in 2023-02-12. Revived in 2024-11-03.)
</summary>
</histogram>
<histogram name="Search.SearchEngineCountryDelegate.Connection{Result}Time"
units="ms" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time taken to connect to the country code providing Play Service. Only
includes {Result} connection attempts.
Recorded every time Chrome tries to obtain the country code for the search
choice screen, which happens on every startup.
Android only.
</summary>
<token key="Result">
<variant name="Failure" summary="failed"/>
<variant name="Success" summary="successful"/>
</token>
</histogram>
<histogram name="Search.SearchEngineCountryDelegate.Fetch{Result}Time"
units="ms" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time taken to fetch the country code from the country code providing Play
Service. Only includes {Result} fetch attempts.
Recorded every time Chrome tries to obtain the country code for the search
choice screen after successfully connecting to the Play Service, which
happens on every startup.
Android only.
</summary>
<token key="Result">
<variant name="Failure" summary="failed"/>
<variant name="Success" summary="successful"/>
</token>
</histogram>
<histogram name="Search.SearchEngineCountryDelegate.ServiceBindStatus"
enum="BooleanStartedCompleted" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Boolean status marking the beginning of connection request to country code
provider service from Play and also the completion of the request.
Recorded every time Chrome tries to obtain the country code for the search
choice screen, which happens on every startup.
Android only.
</summary>
</histogram>
<histogram name="Search.SearchEngineDuplicateCounts" units="keyword duplicates"
expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of keyword duplicates resulting from conflict resolution. This is
sampled once per browser session immediately after the client syncs Search
Engines.
</summary>
</histogram>
<histogram name="Search.SearchEngineListedInPromoDialog"
enum="OmniboxSearchEngineType" expires_after="2025-02-16">
<!-- Name completed by histogram_suffixes name="SearchEnginePromoOrdering" and name="SearchEnginePromoDeviceType" -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The search engines listed in the options for search engine promo. This is an
Android specific dialog prompting the user to pick a default search engine.
The dialog was shown on a device that had Chrome before it was first
introduced.
Warning: this histogram was expired from M81 to M124; data may be missing.
</summary>
</histogram>
<histogram name="Search.SearchEngineSelectionInPromoDialog"
enum="OmniboxSearchEngineType" expires_after="2025-02-16">
<!-- Name completed by histogram_suffixes name="SearchEnginePromoDeviceType" -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The search engine selected by the user from the search engine promo. This is
an Android specific dialog prompting the user to pick a default search
engine. The dialog was shown on a device that had Chrome before it was first
introduced.
Warning: this histogram was expired from M81 to M124; data may be missing.
</summary>
</histogram>
<histogram name="Search.SearchProviderOverrideStatus"
enum="SearchProviderOverrideStatus" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of the preference where the search engine overrides provided by
the Chrome distribution channel are loaded. It is recorded every time we put
together a list of built-in search engines providers, which can happen
multiple times per run, when initially loading search engines for the
omnibox, showing a search engine choice screen or settings screen, etc.
</summary>
</histogram>
<histogram name="Search.SearchWidgetUseAndDeviceInfo"
enum="SearchWidgetUseInfo" expires_after="2020-02-16">
<owner>[email protected]</owner>
<summary>
The current state for search widget use and whether the device is a
partnership device related with the Android Search Widget. Collected on
every cold start.
</summary>
</histogram>
<histogram
name="Search.SiteSearchPolicyConflict.HasConflictWith.{ConflictType}"
enum="Boolean" expires_after="2025-01-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether at least one search engine created by SiteSearchSettings
policy and {ConflictType} has the same keyword as an existing search engine
the user manually edited, counted once per user regardless of the number of
conflicting search engines the policy creates.
Search engines created by the policy can be marked as "featured",
and they override search engines with the same keyword that were manually
edited by the user. Search engine created by the policy and not marked as
featured do not override search engines manually edited by the user.
Use "Search.SiteSearchPolicyConflict.NumberOfSearchEngines" for
the number of search engines created by policy that conflict with search
engines manually edited by the user.
Collected when the SiteSearchSettings policy is enabled or updated and after
that on every browser start.
</summary>
<token key="ConflictType">
<variant name="Featured" summary="marked as 'featured'"/>
<variant name="NonFeatured" summary="not marked as 'featured'"/>
</token>
</histogram>
<histogram name="Search.SiteSearchPolicyConflict.NumberOfSearchEngines"
enum="SiteSearchPolicyConflictType" expires_after="2025-01-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of search engines created by SiteSearchSettings policy
with the same keyword as an existing search engine the user manually edited.
Search engines created by the policy can be marked as "featured",
and they override search engines with the same keyword that were manually
edited by the user. Search engine created by the policy and not marked as
featured do not override search engines manually edited by the user.
Each count corresponds to one search engine, so the total count per user
equals the number of search engines created by the policy.
Use "Search.SiteSearchPolicyConflict.HasConflictWith.*" for the
number of users that have at least one conflict with featured or
non-featured search engines created by policy.
Collected when the SiteSearchSettings policy is enabled or updated and after
that on every browser start.
</summary>
</histogram>
<histogram name="SearchAnswer.AnswerVisibleTime" units="ms"
expires_after="2021-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Time between showing and hiding the answer card.</summary>
</histogram>
<histogram name="SearchAnswer.LoadingTime" units="ms" expires_after="M85">
<owner>[email protected]</owner>
<summary>
Time between sending an answer server request and the end of loading of the
answer card. Failed requests and requests not returning an answer are not
counted.
</summary>
</histogram>
<histogram name="SearchAnswer.NavigationTime" units="ms" expires_after="M85">
<owner>[email protected]</owner>
<summary>
Time between sending an answer server request and successful finish of
navigation. Failed requests and requests not returning an answer are not
counted.
</summary>
</histogram>
<histogram name="SearchAnswer.RequestResult" enum="SearchAnswerRequestResult"
expires_after="M85">
<owner>[email protected]</owner>
<summary>Result of a answer server request.</summary>
</histogram>
<histogram name="SearchAnswer.ResizeAfterLoadTime" units="ms"
expires_after="M85">
<owner>[email protected]</owner>
<summary>
Time between successfully loading an answer card request and updating its
preferred size. There might be no or more than one size update per card
load. Size updates that happen before the card finishes loading are ignored
since they are not visible.
</summary>
</histogram>
</histograms>
</histogram-configuration>