chromium/tools/metrics/histograms/metadata/new_tab_page/histograms.xml

<!--
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 NewTabPage 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>

<histogram name="NewTabPage.ActionAndroid2" enum="NewTabPageActionAndroid2"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Actions taken from the new tab page on Android. These actions may navigate
    away from the NTP (e.g. searching in the omnibox or opening a bookmark), but
    can also happen without navigating away from the NTP (e.g. opening a content
    suggestion in a new tab).
  </summary>
</histogram>

<histogram name="NewTabPage.ActioniOS" enum="NewTabPageActioniOS"
    expires_after="2025-01-12">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Actions taken by users from the new tab page on iOS. These actions may
    navigate away from the NTP (e.g. searching in the omnibox or opening a
    bookmark), but can also happen without navigating away from the NTP (e.g.
    opening a bookmark in a new tab).
  </summary>
</histogram>

<histogram name="NewTabPage.AsHomeSurface" enum="Boolean"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records total impressions of a NTP showing as the home surface, including at
    startup when users haven't used Chrome for 8 hours and via back operations.
    Only records true if shows. This histogram is recorded on tablets only.
  </summary>
</histogram>

<histogram name="NewTabPage.AsHomeSurface.ShownAtStartup" enum="Boolean"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records impressions of a NTP is showing as the home surface at a cold or
    warm startup when users haven't used Chrome for 8 hours, and only records
    true if shows. This histogram is recorded on tablets only.
  </summary>
</histogram>

<histogram name="NewTabPage.BackgroundImageSource"
    enum="NTPBackgroundImageSource" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the type of background image that is set. Only recorded once per
    NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.BackgroundService.Collections.RequestLatency"
    units="ms" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took until a request from the New Tab Page for Backdrop
    Collections was served.
  </summary>
</histogram>

<histogram name="NewTabPage.BackgroundService.Images.Headers.ErrorDetected"
    enum="NTPImageType" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records image's type when an error is detected via its URL headers.

    Logged every time Chrome encounters an error when verifying background
    images.
  </summary>
</histogram>

<histogram name="NewTabPage.BackgroundService.Images.Headers.RequestLatency"
    units="ms" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it takes to download an image's URL headers.

    Logged every time Chrome encounters an error when verifying background
    images.
  </summary>
</histogram>

<histogram name="NewTabPage.BackgroundService.Images.Headers.StatusCode"
    units="HttpResponseCode" expires_after="2025-01-26">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the HTTP response status code of New Tab Page image URL header
    requests.

    Logged every time Chrome encounters an error when verifying background
    images.
  </summary>
</histogram>

<histogram name="NewTabPage.BackgroundService.Images.RequestLatency" units="ms"
    expires_after="2024-11-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took until a request from the New Tab Page for Backdrop Images
    was served.
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.AppliedDiscount" units="count"
    expires_after="2023-11-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when discount is encoded successfully into the navigation url. This
    histogram always logs a 1 and this value has no meaning other than this
    occurence happended. Only logged on the 1P NTP. Note that even if the user
    has Google as their default search engine, Incognito and Guest mode NTPs are
    not considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.CartCount" units="count"
    expires_after="2024-09-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the cart module is created. The value is equal to the initial
    number of carts within the module (could be zero).
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.CartImageCount" units="count"
    expires_after="2024-03-17">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the cart module is created and is recorded once for every cart.
    It records the number of product images in this cart (could be zero). This
    is not logged when welcome surface is showing. Only logged on the 1P NTP.
    Note that even if the user has Google as their default search engine,
    Incognito and Guest mode NTPs are not considered 1P and don't log this
    histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.ClickCart" units="index"
    expires_after="2023-11-20">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a user clicks on a cart in the cart module. The value is equal
    to the index of the cart.
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.ClickCart.HasDiscount"
    enum="BooleanHasDiscount" expires_after="2024-02-11">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a user clicks on a cart in the cart module. It records whether
    the clicked cart has a discount or not. Only logged on the 1P NTP. Note that
    even if the user has Google as their default search engine, Incognito and
    Guest mode NTPs are not considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.DataRequest" enum="CartDiscountDataType"
    expires_after="2024-09-22">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the discount data associated with the cart module. Logged when the
    chrome cart module makes a data request to a Chrome-external backend. Only
    logged on the 1P NTP. Note that even if the user has Google as their default
    search engine, Incognito and Guest mode NTPs are not considered 1P and don't
    log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.DiscountAt" units="index"
    expires_after="2024-02-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the cart module is created and if there is at least one
    abandoned cart. It records the index of the discounted cart within the cart
    module. Only logged on the 1P NTP. Note that even if the user has Google as
    their default search engine, Incognito and Guest mode NTPs are not
    considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.DiscountConsentShow" units="count"
    expires_after="2022-11-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged every time the consent for Rule-based Discount shows in the cart
    module. We only show the consent when there are abandoned carts from partner
    merchants. This histogram always logs a 1 and this value has no meaning
    other than that an occurrence happended. Only logged on the 1P NTP. Note
    that even if the user has Google as their default search engine, Incognito
    and Guest mode NTPs are not considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.DiscountConsentStatusAtLoad"
    enum="CartDiscountConsentStatus" expires_after="2024-02-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the cart module is created and if there is at least one
    abandoned cart. &quot;Accept&quot; and &quot;Decline&quot; to record
    interaction result for users who have acted on the consent;
    &quot;IGNORED&quot; for users who have seen the consent before but never
    acted on it, and the consent is showing now; &quot;No show&quot; for users
    who have seen the consent before but never acted on it, and the consent is
    not showing now; &quot;Never shown&quot; for users who have never seen the
    consent. Only logged on the 1P NTP. Note that even if the user has Google as
    their default search engine, Incognito and Guest mode NTPs are not
    considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.DiscountConsentStatusAtLoad.{ConsentState}"
    enum="CartDiscountConsentVariation" expires_after="2024-02-20">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the cart module is created and if there is at least one
    abandoned cart. It {ConsentState}. Only logged on the 1P NTP. Note that even
    if the user has Google as their default search engine, Incognito and Guest
    mode NTPs are not considered 1P and don't log this histogram.
  </summary>
  <token key="ConsentState">
    <variant name="AcceptedIn"
        summary="keeps track of which variation the user has accepted the
                 consent in."/>
    <variant name="DismissedIn"
        summary="keeps track of which variation the user has rejected the
                 consent in. Only the Inline and Dialog variation has an
                 option to dismiss the consent."/>
    <variant name="IgnoredIn"
        summary="keeps track of which variation the user has ignored the
                 consent in. Ignored means when the user has seen the consent
                 but they did not accept/reject/dismiss it, or did not show
                 any interests(click the continue button, but no following
                 action)."/>
    <variant name="InterestedButNoActionIn"
        summary="keeps track of which variation the user has shown interest
                 but no further action in (e.g. tapped &quot;Continue&quot;
                 in the 2-step NTP consent.) Only the Inline and Dialog
                 variation applies."/>
    <variant name="NeverShownIn"
        summary="keeps track of which variation the consent has never shown
                 in. Never shown means the user has never seen the consent
                 before"/>
    <variant name="NoShowHasFinalized"
        summary="keeps track if the user has accepted or rejected the consent
                 before in another variation, hence no show when the cart is
                 loaded. Finalized means user has accepted or rejected the
                 consent in another variation."/>
    <variant name="NoShowIn"
        summary="keeps track of which variation the consent is not showing.
                 No show means the user has seen the consent before but did
                 not accept/reject the consent, and the consent is not
                 showing now."/>
    <variant name="RejectedIn"
        summary="Keeps track of which variation the user has rejected the
                 consent in."/>
    <variant name="ShownIn"
        summary="Keeps track of which variation is shown. This is recorded
                 when consent is shown."/>
  </token>
</histogram>

<histogram name="NewTabPage.Carts.DiscountCountAtLoad" units="count"
    expires_after="2024-07-21">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the cart module is created and if there is at least one
    abandoned cart. It records the number of carts with discount (could be
    zero). Only logged on the 1P NTP. Note that even if the user has Google as
    their default search engine, Incognito and Guest mode NTPs are not
    considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Carts.NonDiscountCountAtLoad" units="count"
    expires_after="2024-01-14">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the cart module is created. It records the number of carts
    without discount (could be zero). Only logged on the 1P NTP. Note that even
    if the user has Google as their default search engine, Incognito and Guest
    mode NTPs are not considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.ChromeWebStoreOpen" enum="NTPChromeWebStoreOpen"
    expires_after="2023-11-18">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs where a user opened the Chrome Web Store link from in Customize Chrome.
    Only logged on the 1P NTP. Note that even if the user has Google as their
    default search engine, Incognito and Guest mode NTPs are not considered 1P
    and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Click" enum="NTPElement" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the NTP was clicked. Only logged on the 1P NTP. Be aware that
    this may undercount clicks on nested OGB iframes. Note that even if the user
    has Google as their default search engine, Incognito and Guest mode NTPs are
    not considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Collections.IdOnLoad" enum="NTPCollectionId"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The collection id of user's background image on the NTP. Only recorded once
    per NTP. Note that even if the user has Google as their default search
    engine, Incognito and Guest mode NTPs are not considered 1P and don't log
    this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.ConcretePage" enum="NewTabPageConcretePage"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the concrete page loaded when navigating to chrome://newtab.
    Recorded on every NTP load.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.ArticlesListVisible"
    enum="BooleanVisible" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: Whether article suggestions on New Tab Page are set visible by user
    on startup and when the visibility is changed.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.Opened" units="index"
    expires_after="never">
<!-- expires-never: key feature metric.  We will need the Opened
     metric as long as we have a feed, and it will be removed with the
     feed code if the feed is ever removed. -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android / iOS (M128+): The position of the For-You card on the NTP, that is
    clicked through to the host website of the content. We track the position
    the card had in the list when it was first seen by the user. This tracked
    position can be different from the position observed by the user, e.g. when
    the user dismissed some suggestions from the list or requested more that got
    inserted in the middle of the feed.

    iOS (Pre M128): Reported per click on card in the feed. Does not include
    position information and thus can only be used as a total count of clicks.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.Shown" units="index"
    expires_after="never">
<!-- expires-never: key feature metric.  We will need the Shown
       metric as long as we have a feed, and it will be removed with
       the feed code if the feed is ever removed. -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: The position of a For-You card that was shown on the NTP. A card is
    considered shown when at least 2/3 of its height is visible on the screen.
    For each card, at most one impression is recorded per NTP instance. We track
    the position the card had in the list when it was first seen by the user.
    This tracked position can be different from the position observed by the
    user, e.g. when the user dismissed some suggestions from the list or
    requested more that got inserted in the middle of the feed.
  </summary>
</histogram>

<histogram name="NewTabPage.CustomizeChromeBackgroundAction"
    enum="NTPCustomizeChromeBackgroundAction" expires_after="2024-01-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Captures the actions performed when configuring a 'Chrome background' image
    on the New Tab Page. Since most actions are sequential, this may indicate
    steps in the configuration process where users drop off.
  </summary>
</histogram>

<histogram name="NewTabPage.CustomizeChromeOpened"
    enum="NTPCustomizeChromeEntryPoint" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Captures calls to open Customize Chrome on the NTP. Calls can be made to
    open Customize Chrome while it is already open. Opening Customize Chrome
    from inside the side panel is tracked by
    &quot;SidePanel.CustomizeChrome.ShowTriggered&quot;.
  </summary>
</histogram>

<histogram name="NewTabPage.CustomizeChromeSidePanelAction"
    enum="NTPCustomizeChromeSidePanelAction" expires_after="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Captures the actions performed for customizing Chrome within the Customize
    Chrome Side Panel on the New Tab Page. Since most actions are sequential,
    this may indicate steps in the configuration process where users drop off.
  </summary>
</histogram>

<histogram name="NewTabPage.CustomizeChromeSidePanelImpression"
    enum="NTPCustomizeChromeSidePanelImpression" expires_after="2025-05-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Captures the impressions for customizing Chrome sections within the
    Customize Chrome Side Panel on the New Tab Page.
  </summary>
</histogram>

<histogram name="NewTabPage.Customized" enum="NTPCustomizedFeatures"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The New Tab Page features that have been customized by the user; logged per
    NTP load.
  </summary>
</histogram>

<histogram name="NewTabPage.CustomizedShortcuts"
    enum="NTPCustomizedShortcutSettings" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The New Tab Page shortcut settings that can be customized by the user,
    including shortcut type (i.e. most visited vs custom links) and visibility;
    logged per NTP load.
  </summary>
</histogram>

<histogram name="NewTabPage.CustomizeLocalImageBackgroundAction"
    enum="NTPCustomizeLocalImageBackgroundAction" expires_after="2024-01-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Captures the actions performed when uploading a local image as the
    background on the New Tab Page. Since most actions are sequential, this may
    indicate steps in the configuration process where users drop off.
  </summary>
</histogram>

<histogram name="NewTabPage.CustomizeShortcutAction"
    enum="NTPCustomizeShortcutAction" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Captures the actions performed when configuring shortcuts on the New Tab
    Page.
  </summary>
</histogram>

<histogram name="NewTabPage.Drive.FileClick" units="index"
    expires_after="2025-07-21">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a user clicks on a file within the Drive Module. The index is
    equal to the index of the file.
  </summary>
</histogram>

<histogram name="NewTabPage.Drive.FileCount" units="count"
    expires_after="never">
<!-- expires-never: Used for Chirp monitoring. -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the number of files returned by ItemSuggest. Logged every time the
    Drive module successfully processed an ItemSuggest response.
  </summary>
</histogram>

<histogram name="NewTabPage.Drive.ItemSuggestRequestResult"
    enum="ItemSuggestRequestResult" expires_after="never">
<!-- expires-never: Used for Chirp monitoring. -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the result of a request to the ItemSuggest API. Logged every time the
    Drive module makes an ItemSuggest request.
  </summary>
</histogram>

<histogram name="NewTabPage.FailToShowHomeSurfaceUI"
    enum="FailToShowHomeSurfaceReason" expires_after="2025-01-20">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the reason of why failed to show a home surface UI on the chosen
    NTP. Logged in cold or warm startup when failed to show the home surface UI.
    This histogram is recorded on tablets only.
  </summary>
</histogram>

<histogram name="NewTabPage.FeedPositionSegmentationResult"
    enum="FeedPositionSegmentationResult" expires_after="2023-09-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the result from segmentation platform that determines whether the user
    is a Feed active user or a non-Feed user. Recorded three times when a new
    tab page is shown and Feed position (target) experiment is enabled.
  </summary>
</histogram>

<histogram name="NewTabPage.GoogleCalendar.EventClientIndex" units="count"
    expires_after="2025-08-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the index of a clicked calendar event, with the first event at 0.
    Recorded when the header of an event is clicked, but not when other aspects
    are clicked for an expanded event.
  </summary>
</histogram>

<histogram name="NewTabPage.GoogleCalendar.RequestResult" units="count"
    expires_after="2025-08-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the total number of events returned by the Google Calendar API. This
    will include events that are filtered out in the client, but not events that
    are filtered out using the request query. Recorded when a response is
    received from the API, which will also include empty successful responses.
  </summary>
</histogram>

<histogram name="NewTabPage.GoogleCalendar.ShownEvents" units="count"
    expires_after="2025-08-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the number of events shown on the Google Calendar Card after filtering
    the response from the API. This will never be more than the number of events
    the UI supports. Recorded when the events are first populated so it will not
    log when there are 0 results, since the module would not show.
  </summary>
</histogram>

<histogram name="NewTabPage.GoogleCalendar.UserActions"
    enum="NTPCalendarAction" expires_after="2025-08-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs count of each type of user action within the NTP Google Calendar module
    depending on which part of the card was interacted with (event title,
    attachment, etc).
  </summary>
</histogram>

<histogram name="NewTabPage.HasCredentials" enum="BooleanYesNo"
    expires_after="2025-01-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs whether Chrome has valid user credentials for the profile the NTP is
    loading in. Logged when the NTP starts loading. Only logged on the 1P NTP.
    Note that even if the user has Google as their default search engine,
    Incognito and Guest mode NTPs are not considered 1P and don't log this
    histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Height" units="pixels" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Height of the NTP viewport in CSS pixels. Logged when the NTP loads. Only
    logged on the 1P NTP. Note that even if the user has Google as their default
    search engine, Incognito and Guest mode NTPs are not considered 1P and don't
    log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Images.ShownTime{ImageType}" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The elapsed time between when {ImageType} is requested by the NTP frontend
    and when it is loaded.

    NewTabPage.Images.ShownTime.BackgroundImage is only logged when the NTP
    loads with a background image. It is recorded once per NTP.

    Other {ImageType} metrics are logged every time that {ImageType} is shown.
  </summary>
  <token key="ImageType">
    <variant name=".BackgroundImage"
        summary="background image set when user opens NTP"/>
    <variant name=".CollectionPreviewImage"
        summary="collection preview image in Customize Chrome"/>
    <variant name=".ThemePreviewImage"
        summary="theme preview image in Customize Chrome"/>
  </token>
</histogram>

<histogram name="NewTabPage.Languages.UILanguageRatioInTwoTopLanguages"
    units="%" expires_after="M77">
  <owner>[email protected]</owner>
  <summary>
    Android: Percentage of how much in browsing is the UI language of Chrome
    used compared to overall use of the two top languages that are reported to
    Chrome content suggestion server.
  </summary>
</histogram>

<histogram name="NewTabPage.Lens.UploadDialog.DialogAction"
    enum="NewTabPageLensUploadDialogActions" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Actions that take place on the Lens upload dialog on the new tab page. These
    may indicate user actions (interactions with the form) or the results of
    user actions (e.g. successful submission or showing an error message). Only
    logged on the 1P NTP. Note that even if the user has Google as their default
    search engine, Incognito and Guest mode NTPs are not considered 1P and don't
    log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Lens.UploadDialog.DialogError"
    enum="NewTabPageLensUploadDialogErrors" expires_after="2023-11-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Errors that occur during use of the Lens upload dialog on the new tab
    page.These may indicate user error (e.g. an unusable file or URL) or
    external errors (e.g. a network error). Only logged on the 1P NTP. Note that
    even if the user has Google as their default search engine, Incognito and
    Guest mode NTPs are not considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.LoadTime" units="ms" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time, in milliseconds, it took for the NTP to load all of
    its tiles since navigation start.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoClick" enum="NewTabPageLogoClick"
    expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of clicks on the static/call-to-action/animated logo on the NTP.

    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="NewTabPage.LogoDownloadOutcome"
    enum="NewTabPageLogoDownloadOutcome" expires_after="2025-01-14">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Outcome of downloading search provider's logos. It measures whether
    download/parsing is successful, revalidation and parsing work properly, etc.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoDownloadTime" units="ms"
    expires_after="2025-01-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The amount of time it took to download the static logo. This includes
    requests where there was no logo, or where an existing logo was revalidated
    (so no new image data was downloaded), but it does not include failed
    requests.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoImageDownloaded" enum="BooleanFromHTTPCache"
    expires_after="2025-01-14">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    A logo image (static or CTA) was downloaded. Recorded only when the image
    was downloaded and decoded without errors.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoShown" enum="NewTabPageLogoShown"
    expires_after="2025-01-14">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of static logos and animated logos shown to users. Note that the
    base version of this histogram is recorded both for logos from the cache and
    for fresh logos, so it can be recorded twice per NTP impression.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoShownTime2" units="ms"
    expires_after="2025-01-14">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The amount of time between opening an NTP and the logo appearing. Only
    recorded when there is a logo, and only recorded once per NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.MainUi.ShownTime" units="ms"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the time until the top-level ntp-app Custom Element's |ready|
    callback is called. The intention is to measure how quickly the contents of
    new_tab_page.rollup.js (main JS bundle) are rendered.
  </summary>
</histogram>

<histogram name="NewTabPage.Module.Click" enum="ModuleTypeOnStartAndNTP"
    expires_after="2025-01-19">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Record the total count of clicks on different modules of the New tab page.
    For most visited tiles: is recorded when 1) user clicks on most visited
    tiles; 2) long press on most visited tiles to open in a new tab or open in a
    new tab in group or a new incognito tab or to download the link. This is
    consistent with MobileNTPMostVisited. For feeds: is recorded when 1) user
    clicks on feeds; 2) long press on feeds to open in a new tab or open in a
    new incognito tab or check about this source and topic; 3) click the learn
    more button on the top of the feeds section. For omnibox: is recorded every
    time when user uses Omnibox or voice search on Omnibox to navigate. This is
    consistent with MobileOmniboxUse. For tab switcher button: is recorded every
    time when user clicks on the tab switcher button. For home button: is
    recorded when user clicks on the home button. For profile button: is
    recorded when user clicks on the profile button. For doodle logo: is
    recorded every time when user clicks on the doodle and navigates to another
    website. For menu button: is recorded when user clicks on the menu button.
    The histogram is logged on New tab page and is Android-only.
  </summary>
</histogram>

<histogram name="NewTabPage.Module.LongClick" enum="ModuleTypeOnStartAndNTP"
    expires_after="2025-01-20">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Record the total count of long clicks on different modules of the New tab
    page. For home button: is recorded when user long presses on home button to
    edit homepage. The histogram is logged on New tab page and is Android-only.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.DataRequest" enum="NtpModules"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records hashes associated with NTP modules. Logged when an NTP module makes
    a data request to a Chrome-external backend. Only logged on the 1P NTP. Note
    that even if the user has Google as their default search engine, Incognito
    and Guest mode NTPs are not considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.Disabled{Interaction}" enum="NtpModules"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a module was disabled by {Interaction}. Only logged on the 1P
    NTP.

    Note: If the user has Google as their default search engine, Incognito and
    Guest mode NTPs are not considered 1P and don't log this histogram.

    Note: NewTabPage.Modules.Disabled.Customize is not recorded for pre-M116
    users of Panorama.
  </summary>
  <token key="Interaction">
    <variant name="" summary="any interaction"/>
    <variant name=".Customize" summary="the customize dialog"/>
    <variant name=".ModuleRequest"
        summary="a module request (e.g. action menu in header)"/>
  </token>
</histogram>

<histogram name="NewTabPage.Modules.Dismissed" units="count"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the dismissed modules. This is recorded when the user explicitly
    dismisses a module via the module remove button on the New Tab Page. Every
    dismissal emits a 1 which has no inherent meaning aside from a dismissal
    occurred.
  </summary>
</histogram>

<histogram base="true" name="NewTabPage.Modules.EnabledOnNTPLoad"
    enum="BooleanEnabled" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs for each NTP module whether it was enabled after the NTP has
    instantiated the modules. Only logged on the 1P NTP. Note that even if the
    user has Google as their default search engine, Incognito and Guest mode
    NTPs are not considered 1P and don't log this histogram.

    Note: In M110, the output of the metric was accidentally modified to record
    all modules whose descriptors where loaded. This was subsequently corrected
    in M114.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.Enabled{Interaction}" enum="NtpModules"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a module was enabled by {Interaction}. Only logged on the 1P
    NTP.

    Note: If the user has Google as their default search engine, Incognito and
    Guest mode NTPs are not considered 1P and don't log this histogram.

    Note: NewTabPage.Modules.Enabled.Customize is not recorded for pre-M116
    users of Panorama.
  </summary>
  <token key="Interaction">
    <variant name="" summary="any interaction"/>
    <variant name=".Customize" summary="the customize dialog"/>
    <variant name=".Toast" summary="clicking undo on the module disable toast"/>
  </token>
</histogram>

<histogram name="NewTabPage.Modules.Hover" enum="NtpModules"
    expires_after="2024-03-17">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when the user hovers on a module. Only logged once per NTP and
    module. Only logged on the 1P NTP. Note that even if the user has Google as
    their default search engine, Incognito and Guest mode NTPs are not
    considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.Impression" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time, in milliseconds since navigation start, it took until
    an NTP module header is mostly visible in the window's content area
    (viewport). If the module header is mostly below the page fold, the time
    delta will include the time it takes for the user to scroll the module into
    view.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.ImpressionRatio" units="perdecage"
    expires_after="2024-04-28">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the maximum amount that any (base histogram) or a particular (sub
    histograms) module was visible in the NTP content's area between load and
    unload of an NTP. The amount is recorded as the perdecage (x/10th) of the
    module's total size. Logged when the NTP unloads, such as via navigating
    somewhere else or closing the tab (switching tabs does not cause an unload).
    Logs a value into the base histogram and the corresponding sub histogram for
    each module that is present. Only logged on the 1P NTP. Note that even if
    the user has Google as their default search engine, Incognito and Guest mode
    NTPs are not considered 1P and don't log these histograms. It is possible
    for this histogram to log a value of 0 if, for instance, the module was
    always more than 90% below the fold.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.InfoButtonClicked" enum="NtpModules"
    expires_after="2024-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the module's id when a user clicks the info button in the module's
    header. Only logged on the 1P NTP. Note that even if the user has Google as
    their default search engine, Incognito and Guest mode NTPs are not
    considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.InstanceCount" units="count"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of rendered module instances on the NTP. Only logged on the 1P
    NTP. Note that even if the user has Google as their default search engine,
    Incognito and Guest mode NTPs are not considered 1P and don't log this
    histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.LoadDuration" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time in milliseconds it took for an NTP module to load.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.Loaded" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time, in milliseconds since navigation start, it took until
    an NTP module loaded.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.LoadedModulesCount" units="count"
    expires_after="2025-01-14">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of rendered modules in the NTP. Only logged on the 1P NTP. Note
    that even if the user has Google as their default search engine, Incognito
    and Guest mode NTPs are not considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.LoadedWith.{NtpModule}" enum="NtpModules"
    expires_after="2025-01-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    This records the what other modules are loaded with {NtpModule} together.
    Logged when the module is loaded. Only logged on the 1P NTP. Note that even
    if the user has Google as their default search engine, Incognito and Guest
    mode NTPs are not considered 1P and don't log this histogram.
  </summary>
  <token key="NtpModule">
    <variant name="chrome_cart" summary="the Chrome Cart module"/>
    <variant name="drive" summary="the Drive module"/>
    <variant name="shopping_tasks" summary="the Shopping Tasks module"/>
    <variant name="tab_resumption" summary="the Tab Resumption module"/>
  </token>
</histogram>

<histogram name="NewTabPage.Modules.Restored" units="count"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the restord modules. This is recorded when the user explicitly
    restores a previously dismissed module via the toast on the New Tab Page.
    Every restoral emits a 1 which has no inherent meaning aside from a restoral
    occurred.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.ShownTime" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time, in milliseconds since navigation start, it took until
    the modules showed up on the NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.Usage" units="count"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Emitted each time a user action within an NTP module launches a module's
    feature. Every usage emits a 1 which has no inherent meaning aside from a
    usage occurred.

    Note for the Journeys module: Pre-M115, we only considered visit and
    suggestion clicks as usage. Since M115, we consider visit, suggestion,
    &quot;Show all&quot; and &quot;Open all in tab group&quot; as usage.
  </summary>
</histogram>

<histogram name="NewTabPage.Modules.VisibleOnNTPLoad" enum="BooleanVisible"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Logs whether the NTP modules are visible at NTP load.</summary>
</histogram>

<histogram name="NewTabPage.MostVisited" enum="MostVisitedTileIndex"
    expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram for user clicks of the most visited tile. The value is equal to
    the index of the tile.

    For special types of results:

    * Clicks on the &quot;Add Shortcut&quot; tile are not counted.

    * Clicks on the Explore Sites tile on Android are counted.

    The user action NewTabPage.MostVisited.Clicked is also logged at the same
    time as 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="NewTabPage.MostVisited.DeciScore.{TileIndex}.Local"
    units="deciscore" expires_after="2025-02-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram for most visited raw scores multiplied by 10 (to capture one
    decimal digit), grouped by tile index. This is logged whenever the NTP
    scores and ranks most visited suggestions. The value is useful for algorithm
    improvements to enhance the relevance of tiles.
  </summary>
  <token key="TileIndex">
    <variant name="0"/>
    <variant name="1"/>
    <variant name="2"/>
    <variant name="3"/>
    <variant name="4"/>
    <variant name="5"/>
    <variant name="6"/>
    <variant name="7"/>
    <variant name="8"/>
    <variant name="9"/>
  </token>
</histogram>

<histogram name="NewTabPage.MostVisited.ReselectMatch.{StrictnessSuffix}"
    enum="MvtReselectUrlMatchResult" expires_after="2025-04-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    For each strict / lax match arm, histogram of the best matching result from
    &quot;key&quot; URL (recommended by a Most Visited Tile) to
    &quot;candidate&quot; URLs (from Tabs). Recorded when a MVT is clicked and
    matching is performed. Only measured on Android.
  </summary>
  <token key="StrictnessSuffix">
    <variant name="LaxUpToPath"/>
    <variant name="LaxUpToQuery"/>
    <variant name="LaxUpToRef"/>
    <variant name="Strict"/>
  </token>
</histogram>

<histogram name="NewTabPage.MostVisitedMigratedDefaultAppType"
    enum="TypeOfDeletedMostVisitedApp" expires_after="2024-06-02">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    This records the type of most visited app on the ntp-tile, whether it is
    from a default app or a custom link. Triggered as soon as a migrated default
    app or custom link is deleted.
  </summary>
</histogram>

<histogram name="NewTabPage.NavigationOrActivationToFirstContentfulPaint"
    units="ms" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Measures the time from navigation start or prerender activation to first
    contentful paint for new tab page. The metrics is recorded when painting
    timing update events are dispatched by PageLoadMetricsUpdateDispatcher.
    Refer to NewTabPagePageLoadMetricsObserver::OnFirstContentfulPaintInPage()
    for details.
  </summary>
</histogram>

<histogram name="NewTabPage.NavigationOrActivationToFirstMeaningfulPaint"
    units="ms" expires_after="2024-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Measures the time from navigation start or prerender activation to first
    meaningful paint for new tab page. The metrics is recorded when painting
    timing update events are dispatched by PageLoadMetricsUpdateDispatcher.
    Refer to
    NewTabPagePageLoadMetricsObserver::OnFirstMeaningfulPaintInMainFrameDocument()
    for details.
  </summary>
</histogram>

<histogram name="NewTabPage.NavigationOrActivationToLargestContentfulPaint"
    units="ms" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Measures the time from navigation start or prerender activation to largest
    contentful paint for new tab page. The metrics is recorded when painting
    timing update events are dispatched by PageLoadMetricsUpdateDispatcher.
    Refer to NewTabPagePageLoadMetricsObserver::OnComplete() for details.
  </summary>
</histogram>

<histogram name="NewTabPage.NumberOfTiles" units="units"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of tiles that are on the NTP, no matter if they are thumbnails,
    gray tiles, or external tiles. Recorded before reloading the suggestions,
    navigating to a URL, switching tabs, changing the active window or closing
    the tab/shutting down Chrome. The sum of this histogram does not have to
    equal to the total count of tile impressions (such as the total count in
    NewTabPage.TileType). The reason is that not all tiles have to be impressed
    initially (e.g., the second row of tiles may be initially out of sight on
    iOS).
  </summary>
</histogram>

<histogram name="NewTabPage.OneGoogleBar.RequestLatency" units="ms"
    expires_after="2025-08-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took until a request from the New Tab page for the OneGoogleBar
    script was served. Recorded only on the local NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.OneGoogleBar.ShownTime" units="ms"
    expires_after="2025-08-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time, in milliseconds since navigation start, it took until
    the OneGoogleBar showed up on the NTP. Recorded only on the local NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.PrerenderNavigationToActivation" units="ms"
    expires_after="2024-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Measures the time from the prerendering navigation starts to prerender
    activation. This metrics is recorded upon prerneder activation. Refer to
    NewTabPagePageLoadMetricsObserver::DidActivatePrerenderedPage() for details.
  </summary>
</histogram>

<histogram name="NewTabPage.Promos.DismissAction" enum="NtpPromoDismissAction"
    expires_after="2025-07-07">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs when action is taken on promo e.g. dismissal or restoration. Only
    logged on the 1P NTP. Note that even if the user has Google as their default
    search engine, Incognito and Guest mode NTPs are not considered 1P and don't
    log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.Promos.LinkClicked" units="count"
    expires_after="never">
<!-- 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>
    Emitted each time a promo linked is clicked on the local NTP.

    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="NewTabPage.Promos.PromoBrowserCommand"
    enum="PromoBrowserCommandEnum" expires_after="2023-10-21">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs how many times various promo browser commands are executed. Triggered
    when a supported and enabled promo browser command is sent via the New Tab
    Page promos and is executed by the PromoBrowserCommandHandler.
  </summary>
</histogram>

<histogram name="NewTabPage.Promos.RequestLatency2" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time it took until a request from the New Tab page for the middle slot
    promo script was served. Recorded on the local and WebUI NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.Promos.ShownTime" units="ms"
    expires_after="2025-07-07">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time, in milliseconds since navigation start, it took until
    a middle slot promo showed up on the NTP. Recorded on the local and WebUI
    NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.SearchResumptionModule.NotShown"
    enum="SearchResumptionModule.ModuleNotShownReason"
    expires_after="2025-01-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs the reason why the search resumption module is enabled but not shown on
    the NTP. Recorded when NewTabPage is created and the search resumption
    module fails to show.
  </summary>
</histogram>

<histogram name="NewTabPage.SearchResumptionModule.Show"
    enum="SearchResumptionModule.ModuleShowStatus" expires_after="2025-01-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs whether the search resumption module is expanded or collapsed when the
    module is shown on the NTP. Recorded when the NewTabPage is created and the
    search resumption module is shown.
  </summary>
</histogram>

<histogram name="NewTabPage.SearchResumptionModule.Show.Cached"
    enum="SearchResumptionModule.ModuleShowStatus" expires_after="2025-01-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs whether the search resumption module is expanded or collapsed when the
    module is shown on the NTP using cached results. Recorded when the
    NewTabPage is created and the search resumption module is shown.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.IncompleteSnippetsAfterFetch"
    enum="Boolean" expires_after="M85">
  <owner>[email protected]</owner>
  <summary>
    Whether we discarded any of the snippets after fetching them due to having
    incomplete metadata.
  </summary>
</histogram>

<histogram name="NewTabPage.SuggestionsImpression" enum="MostVisitedTileIndex"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram for impressions on the various most visited tiles. The value is
    equal to the index of the thumbnail.
  </summary>
</histogram>

<histogram name="NewTabPage.SuggestTiles.DeletedTileType"
    enum="SuggestTileType" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the type of the SuggestTile that the user deleted. Most Visited URLs
    record a URL, and Organic Repeatable Queries record a Search type.

    Recorded every time the user initiates deletion of a suggest tile, that
    results with tile removal. Not recorded if the user chooses to cancel the
    action.
  </summary>
</histogram>

<histogram name="NewTabPage.SuggestTiles.SelectedTileType"
    enum="SuggestTileType" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the type of the SuggestTile that the user interacted with. Most
    Visited URLs record a URL, and Organic Repeatable Queries record a Search
    type.

    Recorded every time the user selects the tile to initiate navigation, even
    if the navigation could not be completed (eg. target site did not load).
  </summary>
</histogram>

<histogram name="NewTabPage.TabResumption.ClickIndex" units="count"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the position of the tab that was clicked on the NTP Tab Resumption
    module. Only logged on the 1P NTP and when the Tab Resumption module is
    enabled.
  </summary>
</histogram>

<histogram name="NewTabPage.TabResumption.ResultStatus"
    enum="NtpTabResumeResultStatus" expires_after="2025-01-12">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records result status of the fetcher. Only logged on the 1P NTP and when the
    Tab Resumption module is enabled.
  </summary>
</histogram>

<histogram name="NewTabPage.TabResumption.TabCount" units="count"
    expires_after="2025-01-12">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the number of tabs shown in the Tab Resumption module. Only logged
    on the 1P NTP and when the Tab Resumption module is enabled.
  </summary>
</histogram>

<histogram name="NewTabPage.TabResumption.TimeElapsedSinceLastVisit" units="ms"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the time elapsed since the tab that was clicked was last visited.
    Only logged on the 1P NTP and when the Tab Resumption module is enabled.
  </summary>
</histogram>

<histogram name="NewTabPage.TabResumption.URLVisitAggregateDataTypeDisplayed"
    enum="NtpURLVisitAggregateTypes" expires_after="2025-01-12">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the data type of each entry shown in the tab resumption module.
    Logged when the module is shown on the NTP. Only logged on the 1P NTP and
    when the Tab Resumption module is enabled.
  </summary>
</histogram>

<histogram name="NewTabPage.TileTitle" enum="NTPTileTitleSource"
    expires_after="2024-07-21">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the source of the title for each most visited tiled displayed when
    an NTP is opened, e.g. a short_name from a manifest, or the page title.
  </summary>
</histogram>

<histogram name="NewTabPage.TileTitleClicked" enum="NTPTileTitleSource"
    expires_after="2024-02-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the source for the name a most visited tile showed when the user
    clicked it, e.g. a URL, or the page title.
  </summary>
</histogram>

<histogram name="NewTabPage.TileType" enum="NTPTileVisualType"
    expires_after="2024-12-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The visual type of each most visited tile displayed on the new tab page,
    e.g. actual thumbnail or placeholder thumbnail. This is recorded for each
    most visited item when the NTP is opened.
  </summary>
</histogram>

<histogram name="NewTabPage.TileTypeClicked" enum="NTPTileVisualType"
    expires_after="2024-03-17">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The visual type of the most visited item that the user clicked on, e.g.
    actual thumbnail or placeholder thumbnail.
  </summary>
</histogram>

<histogram name="NewTabPage.TimeSinceLastNTP" units="ms"
    expires_after="2024-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logged when a 1P NTP starts loading. Logs the time since the last time a 1P
    NTP in the same profile started loading. Note the following: (a) The first
    NTP load ever is not counted. (b) This value is computed using a client-side
    clock and stored in prefs. As such, (i) it works across sessions and (ii) it
    can show strange values if a user changes their clock. (c) Even if the user
    has Google as their default search engine, Incognito and Guest mode NTPs are
    not considered 1P and don't log this histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.TimeSpent" units="ms" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time spent on the new tab page as measured from when it was loaded or
    last brought to the foreground until it was navigated away from or hidden.
    Only measured on Android and iOS.
  </summary>
</histogram>

<histogram name="NewTabPage.URLState" enum="NewTabURLState"
    expires_after="2025-01-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Records the status of the New Tab page URL when an NTP is opened.
  </summary>
</histogram>

<histogram name="NewTabPage.UserClassifier.AverageHoursToUseSuggestions"
    units="hours" expires_after="2022-01-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Android: The estimated average number of hours between two successive times
    when the user opens a content suggestion or clicks on the &quot;More&quot;
    button. Recorded after each time a suggestion or a More button is clicked
    (and after updating the model used for the estimate).
  </summary>
</histogram>

<histogram name="NewTabPage.VoiceActions" enum="NewTabPageVoiceAction"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Actions taken by users of Voice Search on the local New Tab Page on Desktop.
    These actions may navigate away from the NTP (e.g. submitting a speech
    query), but can also happen without navigating away from the NTP (e.g.
    initiating or retrying Voice Search).
  </summary>
</histogram>

<histogram name="NewTabPage.VoiceErrors" enum="NewTabPageVoiceError"
    expires_after="2025-01-31">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Errors that occur during Voice Search use on the local New Tab Page on
    Desktop. These may be user-induced (e.g. the user's utterance could not be
    recognized - no match), or resulting from external circumstances (e.g.
    offline, lack of microphone permission).
  </summary>
</histogram>

<histogram name="NewTabPage.WallpaperSearch.GetResultProcessingLatency"
    units="ms" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time, in milliseconds, it takes to process the Wallpaper
    Search results after we get the images back from the server. This tracks the
    time from server response until the images are sent to the UI.
  </summary>
</histogram>

<histogram name="NewTabPage.WallpaperSearch.SessionSetTheme"
    enum="NtpWallpaperSearchThemeType" expires_after="2025-02-22">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram that records the type of wallpaper search theme that was kept at
    the end of a wallpaper search session, if any at all. This records the type
    of wallpaper search theme set during a customize chrome side panel session
    if it is still set when the customize chrome side panel is closed.
  </summary>
</histogram>

<histogram
    name="NewTabPage.WallpaperSearch.SetInspirationThemeProcessingLatency"
    units="ms" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time, in milliseconds, it took to set an inspiration
    Wallpaper Search theme as the current theme. This tracks how long the image
    processing takes from the time image processing starts for setting an
    inspiration Wallpaper Search theme to when the profile preference is set to
    change the background image.
  </summary>
</histogram>

<histogram name="NewTabPage.WallpaperSearch.SetRecentThemeProcessingLatency"
    units="ms" expires_after="2025-02-16">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time, in milliseconds, it took to set a recent Wallpaper
    Search theme as the current theme. This tracks how long the image processing
    takes from the time image processing starts for setting a recent Wallpaper
    Search theme to when the profile preference is set to change the background
    image.
  </summary>
</histogram>

<histogram name="NewTabPage.WallpaperSearch.SetResultThemeProcessingLatency"
    units="ms" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the time, in milliseconds, it took to set a Wallpaper Search
    result as the current theme. This tracks how long the image processing takes
    from the time image processing starts for setting a Wallpaper Search result
    theme to when the profile preference is set to change the background image.
  </summary>
</histogram>

<histogram name="NewTabPage.WallpaperSearch.Status"
    enum="NtpWallpaperSearchStatus" expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Histogram of the statuses shown for Wallpaper Search within the Customize
    Chrome Side Panel. This records the status is of Wallpaper Search's UI
    whenever it loads, a search is triggered, or a search completes.
  </summary>
</histogram>

<histogram name="NewTabPage.Width" units="pixels" expires_after="2025-06-30">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Width of the NTP viewport in CSS pixels. Logged when the NTP loads. Only
    logged on the 1P NTP. Note that even if the user has Google as their default
    search engine, Incognito and Guest mode NTPs are not considered 1P and don't
    log this histogram.
  </summary>
</histogram>

</histograms>

</histogram-configuration>