blob: 341d7cf57a3dfd40d67e86456fbf147f2289e110 [file] [log] [blame]
<!--
Copyright 2020 The Chromium Authors. All rights reserved.
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 Autofill 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 send CLs to chromium-metrics-reviews@google.com rather than to specific
individuals. These CLs will be automatically reassigned to a reviewer within
about 5 minutes. This approach helps the metrics team to load-balance incoming
reviews. Googlers can read more about this at go/gwsq-gerrit.
-->
<histogram-configuration>
<histograms>
<variants name="Autofill.Ablation.FormType">
<variant name="Address" summary="The form is an address form."/>
<variant name="CreditCard" summary="The form is a credit card form."/>
</variants>
<variants name="Autofill.Ablation.Group">
<variant name="ConditionalAblation"
summary="The sample is recorded only when there was data available to
be filled and it was assigned to the ablation case."/>
<variant name="ConditionalControl"
summary="The sample is recorded only when there was data available to
be filled and it was assigned to the control case."/>
<variant name="UnconditionalAblation"
summary="The sample is recorded regardless whether data was available
to be filled and assigned to the ablation case."/>
<variant name="UnconditionalControl"
summary="The sample is recorded regardless whether data was available
to be filled and assigned to the control case."/>
</variants>
<variants name="Autofill.OfferNotification.Type">
<variant name="CardLinkedOffer"
summary="The bubble/infobar for an offer that is linked to a credit
card."/>
</variants>
<variants name="Autofill.PaymentBubble.Show">
<variant name="FirstShow" summary="The bubble is shown for the first time."/>
<variant name="Reshows" summary="The bubble is re-shown."/>
</variants>
<variants name="Autofill.PaymentsRpcCardType">
<variant name="ServerCard" summary="The card is a server card."/>
<variant name="VirtualCard" summary="The card is a virtual card."/>
</variants>
<variants name="Autofill.PaymentsRpcResult">
<variant name="Failure"
summary="Request failed during the authentication process. This is not
related to virtual cards."/>
<variant name="NetworkError"
summary="Unable to connect to Payments servers. Prompt user to check
internet connection."/>
<variant name="Success" summary="Request succeeded."/>
<variant name="VcnRetrievalFailure"
summary="Request failed in retrieving the virtual card information."/>
</variants>
<histogram
name="Autofill.Ablation.FillDurationSinceInteraction.{FormType}.{Group}"
units="ms" expires_after="M100">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-team@google.com</owner>
<summary>
Records for time from the first change to an input element (typed or
autofilled) on any form of a frame to a form submission. Note that the
change could even happen to a different form on the page than the one
submitted.
</summary>
<token key="FormType" variants="Autofill.Ablation.FormType"/>
<token key="Group" variants="Autofill.Ablation.Group"/>
</histogram>
<histogram
name="Autofill.Ablation.FormSubmissionAfterInteraction.{FormType}.{Group}"
enum="Boolean" expires_after="M100">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-team@google.com</owner>
<summary>
Records whether after changing the value of an input element (typed or
autofilled) in a frame, any form on that page is submitted.
</summary>
<token key="FormType" variants="Autofill.Ablation.FormType"/>
<token key="Group" variants="Autofill.Ablation.Group"/>
</histogram>
<histogram name="Autofill.Address.IsEnabled.PageLoad" enum="BooleanEnabled"
expires_after="2021-12-12">
<owner>jsaul@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Tracks whether Profile (Address) Autofill is enabled on page load for a page
containing forms.
</summary>
</histogram>
<histogram name="Autofill.Address.IsEnabled.Startup" enum="BooleanEnabled"
expires_after="2021-12-12">
<owner>jsaul@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Tracks whether Profile (Address) Autofill is enabled when Chrome launches.
</summary>
</histogram>
<histogram name="Autofill.AddressesDeletedForDisuse" units="addresses"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of unverified autofill addresses deleted because they have not
been used for a long time, and are not used as billing addresses of valid
credit cards. Note the deletion only happens once per major version upgrade.
</summary>
</histogram>
<histogram name="Autofill.AddressesSuppressedForDisuse" units="addresses"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of address suggestions not shown in the Autofill popup because
they have not been used recently enough. Note that suppression only applies
when the user has not typed any text into the field. If any text is in the
field, all matching addresses are displayed, regardless of how recently they
have been used.
</summary>
</histogram>
<histogram name="Autofill.AddressProfileImportCountrySpecificFieldRequirements"
enum="AutofillAddressProfileImportCountrySpecificFieldRequirement"
expires_after="2021-11-07">
<owner>koerber@google.com</owner>
<owner>battre@chromium.org</owner>
<summary>
Each country can require different fields (ZIP code, state, city) to exist
for an address to be valid. This histogram logs which mandatory fields were
missing in a submitted address form.
</summary>
</histogram>
<histogram name="Autofill.AddressProfileImportRequirements"
enum="AutofillAddressProfileImportRequirement" expires_after="2021-11-07">
<owner>koerber@google.com</owner>
<owner>battre@chromium.org</owner>
<summary>
Logs whether the individual requirements for importing an address profile
are met at form submission time.
</summary>
</histogram>
<histogram name="Autofill.AddressProfileImportStatus"
enum="AutofillAddressProfileImportStatus" expires_after="2021-11-07">
<owner>koerber@google.com</owner>
<owner>battre@chromium.org</owner>
<summary>
Logs the overall status of a profile import attempt on form submission time.
</summary>
</histogram>
<histogram name="Autofill.AddressSuggestionsCount" units="units"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of address suggestions shown in the Autofill popup.
</summary>
</histogram>
<histogram
name="Autofill.AddressTokenVerificationStatusAtProfileUsage.{AddressType}"
enum="AufofillStructuredTokenVerificationStatus" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
For each {AddressType} in a given AutofillProfile, the verification status
of the corresponding non-empty type is recorded when a profile is used to
fill a form.
</summary>
<token key="AddressType">
<variant name="Any" summary="any of the following"/>
<variant name="ApartmentNumber"
summary="the apartment number of the address"/>
<variant name="FloorNumber" summary="the floor number of the address"/>
<variant name="HouseNumber" summary="the house number of the address"/>
<variant name="Premise" summary="the premise of the address"/>
<variant name="StreetAddress" summary="the full street address"/>
<variant name="StreetName" summary="the street name of the address"/>
<variant name="SubPremise" summary="the subpremise of the address"/>
</token>
</histogram>
<histogram
name="Autofill.Autocomplete.NotOff.EditedAutofilledFieldAtSubmission"
enum="AutofilledFieldUserEditingStatus" expires_after="2021-11-07">
<owner>schwering@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Records at submission time for each autofilled field with autocomplete !=
off whether the user edited the autofilled field value or not.
</summary>
</histogram>
<histogram base="true" name="Autofill.Autocomplete.NotOff.FillingAcceptance"
enum="BooleanAutofillFillingAcceptance" expires_after="2021-11-07">
<owner>schwering@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Records for each submitted form whether the user accepted the suggestion to
fill values and the triggering field has autocomplete != off. This is
counted as 'yes' if the user accepted such a suggestion at any time,
regardless whether other suggestions were ignored or whether the accepted
suggestion was reverted afterwards.
</summary>
</histogram>
<histogram name="Autofill.Autocomplete.Off.EditedAutofilledFieldAtSubmission"
enum="AutofilledFieldUserEditingStatus" expires_after="2021-11-07">
<owner>schwering@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Records at submission time for each autofilled field with autocomplete = off
whether the user edited the autofilled field value or not.
</summary>
</histogram>
<histogram base="true" name="Autofill.Autocomplete.Off.FillingAcceptance"
enum="BooleanAutofillFillingAcceptance" expires_after="2021-11-07">
<owner>schwering@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Records for each submitted form whether the user accepted the suggestion to
fill values and the triggering field has autocomplete = off. This is counted
as 'yes' if the user accepted such a suggestion at any time, regardless
whether other suggestions were ignored or whether the accepted suggestion
was reverted afterwards.
</summary>
</histogram>
<histogram name="Autofill.AutocompleteEnabled" enum="BooleanEnabled"
expires_after="M85">
<obsolete>
Removed in June 2021.
</obsolete>
<owner>michaelbai@chromium.org</owner>
<summary>Whether autocomplete is enabled.</summary>
</histogram>
<histogram name="Autofill.AutocompleteQuery" enum="BooleanCreated"
expires_after="M85">
<owner>michaelbai@chromium.org</owner>
<summary>Whether an autocomplete query is created for a field.</summary>
</histogram>
<histogram name="Autofill.AutocompleteSuggestions" enum="BooleanHadSuggestions"
expires_after="M85">
<owner>michaelbai@chromium.org</owner>
<summary>Whether there is any suggestions for an autocomplete query.</summary>
</histogram>
<histogram name="Autofill.BetterAuth.CardUnmaskDuration.Fido" units="ms"
expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<summary>
Tracks the time it takes to fetch the full PAN of a credit card once user
successfully authenticates using WebAuthn.
</summary>
</histogram>
<histogram
name="Autofill.BetterAuth.CardUnmaskDuration.Fido.{CardType}.{Result}"
units="ms" expires_after="2021-10-04">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<summary>
Tracks the time it takes to fetch the full PAN of a credit card once user
successfully authenticates using WebAuthn.
</summary>
<token key="CardType" variants="Autofill.PaymentsRpcCardType"/>
<token key="Result" variants="Autofill.PaymentsRpcResult"/>
</histogram>
<histogram name="Autofill.BetterAuth.CardUnmaskPreflightCalled"
enum="BooleanHit" expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<summary>
Tracks the number of times Chrome made a GetDetailsForGetRealPan call. A
preflight call is only made when card suggestions are shown, and can only
happen when the user has server cards and is eligible for WebAuthn.
As a percentage of the number of times card suggestions are shown, which is
tracked under Autofill.FormEvents.CreditCard, this metric provides an
estimate for the potential reach for the Autofill Better Auth project.
Moreover, this acts as a baseline value for other metrics in this project.
</summary>
</histogram>
<histogram name="Autofill.BetterAuth.CardUnmaskPreflightDuration" units="ms"
expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<summary>
Tracking the latency of a GetDetailsForGetRealPan call to Payments servers.
This duration should be comparable to that of Autofill.UnmaskPrompt.Duration
and should ideally stay under 500 ms in order for the user to autofill their
credit card without experiencing much friction.
</summary>
</histogram>
<histogram name="Autofill.BetterAuth.CardUnmaskTypeDecision"
enum="AutofillCreditCardUnmaskDecisionMetric" expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<summary>
If the user is definitely opted-in to the new auth flow, Payments sends a
list of instrument IDs in the GDFGRP call, and Chrome makes the final call
on whether CVC or WebAuthn should be shown. Tracks which authentication
method was prompted.
</summary>
</histogram>
<histogram name="Autofill.BetterAuth.FlowEvents"
enum="AutofillCreditCardAuthenticationEvents" expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<!-- Name completed by histogram_suffixes name="AutofillCreditCardAuthenticationFlows" -->
<summary>
Tracks when a user completes each step in a card unmasking flow per
authentication type. This will provide a relative conversion rate for each
authentication type.
</summary>
</histogram>
<histogram base="true" name="Autofill.BetterAuth.OptInCalled"
enum="AutofillCreditCardWebauthnOptInParameters" expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<!-- Name completed by histogram_suffixes name="AutofillCreditCardWebauthnOptInOrigin" -->
<summary>
Tracks when users opt-in either from the settings page or from a checkout
flow, making an UpdateAutofillUserPreference call. For each call to
payments, logs if the call was made in order to verify an existing
credential, to create a new credential, or to fetch a challenge.
</summary>
</histogram>
<histogram base="true" name="Autofill.BetterAuth.OptInPromoShown"
enum="BooleanHit" expires_after="2021-10-04">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<!-- Name completed by histogram_suffixes name="AutofillCreditCardWebauthnOptInOrigin" -->
<summary>
Logs the number of times the opt-in promo to use FIDO authentication for
card unmasking has been shown. Only applicable on Desktop.
This is useful when compared to Autofill.BetterAuth.OptInPromoUserDecision,
to see what percentage of users are interacting with the dialog. Also, when
an opted-out user receives the preflight call before selecting a card (which
is recorded by the first bucket in
Autofill.BetterAuth.UserPerceivedLatencyOnCardSelection.OptedOut), then the
promo should eventually show if the user selects a masked card and
successfully authenticates through CVC.
</summary>
</histogram>
<histogram base="true" name="Autofill.BetterAuth.OptInPromoUserDecision"
enum="AutofillWebauthnOptInPromoUserDecision" expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<!-- Name completed by histogram_suffixes name="AutofillCreditCardWebauthnOptInOrigin" -->
<summary>
Tracks the user response to the opt-in promo for using FIDO authentication
for card unmasking. The user can either accept the promo and proceed to
perform user-verification, can decline the promo immediately, or first
accept the promo but then decline while the challenge is being fetched. Only
applicable on Desktop.
</summary>
</histogram>
<histogram name="Autofill.BetterAuth.OptOutCalled.FromSettingsPage"
enum="BooleanHit" expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<summary>
Tracks the number of times UpdateAutofillUserPreference has been called with
the intention of opting out from FIDO authentication using the toggle switch
on the payments section on the settings page.
This will be useful when compared to values in
Autofill.BetterAuth.OptInCalled to give an idea of what percentage of users
decide to opt-out.
</summary>
</histogram>
<histogram base="true"
name="Autofill.BetterAuth.UserPerceivedLatencyOnCardSelection"
enum="AutofillCreditCardPreflightCallEvent" expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<!-- Name completed by histogram_suffixes name="AutofillFidoAuthenticationEnabledState" -->
<summary>
The GetDetailsForGetRealPan call is made when card suggestions are shown.
This metric tracks whether the response is received before or after a card
is chosen by the user. For an opted-in user, a late response would imply
perceived latency. For an opted-out user, a late response would imply that
opt-in may not have been offered.
</summary>
</histogram>
<histogram
name="Autofill.BetterAuth.UserPerceivedLatencyOnCardSelection.OptedIn.Duration"
units="ms" expires_after="2021-10-04">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<summary>
The GetDetailsForGetRealPan call is made when card suggestions are shown.
This metric logs the duration of the perceived latency when the response for
this call is received after a card is chosen by an opted-in user. After
waiting a set number of seconds without receiving a response, Chrome will
fall back to CVC authentication.
</summary>
</histogram>
<histogram
name="Autofill.BetterAuth.UserPerceivedLatencyOnCardSelection.OptedIn.TimedOutCvcFallback"
enum="AutofillCreditCardUserPerceivedLatencyFollowUp"
expires_after="2021-10-04">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<summary>
The GetDetailsForGetRealPan call is made when card suggestions are shown. If
an opted-in user selects a card before the response is returned, latency is
perceived. Given that the user perceives latency, this metric logs whether
the request timed out and fell back to CVC or if the request was completed
and continued to WebAuthn.
</summary>
</histogram>
<histogram name="Autofill.BetterAuth.UserVerifiabilityCheckDuration" units="ms"
expires_after="2021-10-04">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<summary>
Tracks how long it takes to check that the user is verifiable through
WebAuthn's IsUserVerifiablePlatformAuthenticatorAvailable() call. This check
is done before deciding to make a GetDetailsForGetRealPan call to Payments.
</summary>
</histogram>
<histogram base="true" name="Autofill.BetterAuth.WebauthnResult"
enum="AutofillCreditCardWebauthnResultMetric" expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>manasverma@google.com</owner>
<owner>autofill-auth-team@google.com</owner>
<!-- Name completed by histogram_suffixes name="AutofillFidoUserVerificationFlow" -->
<summary>
This metric tracks the result of the WebAuthn prompt when the user attempts
to either opt-in for FIDO authentication or unmask a card using FIDO
authentication.
</summary>
</histogram>
<histogram name="Autofill.CardholderNameFixFlowPrompt.Events"
enum="AutofillCardholderNameFixFlowPromptEvent" expires_after="2021-11-30">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Events tracking the usage of the cardholder name fix flow prompt. This
prompt is triggered whenever cardholder name must be explicitly requested
from the user in order to upload the card to Google Payments.
</summary>
</histogram>
<histogram name="Autofill.CardUnmask.CvcLength" units="digits"
expires_after="2021-08-09">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<!-- Name completed by histogram_suffixes name="AutofillCreditCardUnmaskReason" -->
<summary>
Records the length of CVCs sent to Payments when making card unmask calls,
to help determine if blank or invalid length CVCs are being sent.
</summary>
</histogram>
<histogram name="Autofill.CardUploadDecisionMetric"
enum="AutofillCardUploadDecisionMetric" expires_after="2021-12-05">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Whether upload was offered upon detecting a form submission with credit card
data, a detailed reason if upload was offered even with some missing fields
and detailed reasons if it wasn't.
</summary>
</histogram>
<histogram name="Autofill.CardUploadEnabled" enum="AutofillCardUploadEnabled"
expires_after="2021-10-10">
<owner>aneeshali@google.com</owner>
<owner>jsaul@google.com</owner>
<summary>
Detailed reasons why (or why not) card upload was enabled. When a user
submits a form, this check is triggered to decide whether to ask the user if
she wants to upload the card.
</summary>
</histogram>
<histogram name="Autofill.CreditCard.IsEnabled.PageLoad" enum="BooleanEnabled"
expires_after="2021-12-12">
<owner>jsaul@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Tracks whether Credit Card Autofill is enabled on page load for a page
containing forms.
</summary>
</histogram>
<histogram name="Autofill.CreditCard.IsEnabled.Startup" enum="BooleanEnabled"
expires_after="2021-10-10">
<owner>jsaul@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Tracks whether Credit Card Autofill is enabled when Chrome launches.
</summary>
</histogram>
<histogram name="Autofill.CreditCardFillingInfoBar"
enum="AutofillCreditCardInfoBar" expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The relative frequency with which users accept, deny, or ignore the Autofill
credit card assisted filling infobar prompt.
</summary>
</histogram>
<histogram base="true" name="Autofill.CreditCardInfoBar"
enum="AutofillCreditCardInfoBar" expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>jsaul@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The relative frequency with which users accept, deny, or ignore the Autofill
credit card info bar prompt.
</summary>
</histogram>
<histogram name="Autofill.CreditCardsDeletedForDisuse" units="units"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>jsaul@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of credit card deleted during a major version upgrade because
they have not been used recently enough and are expired.
</summary>
</histogram>
<histogram name="Autofill.CreditCardsSuppressedForDisuse" units="units"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>jsaul@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of credit card suggestions not shown in the Autofill popup
because they have not been used recently enough and are expired. Note that
suppression only applies when the user has not typed any text into the
field. If any text is in the field, all matching cards are displayed,
regardless of how recently they have been used and their expiration status.
</summary>
</histogram>
<histogram name="Autofill.CreditCardUploadFeedback"
enum="AutofillCreditCardUploadFeedback" expires_after="2022-03-01">
<owner>siyua@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>
Records when credit card upload provides feedback on its status to the user.
</summary>
</histogram>
<histogram name="Autofill.DaysSinceLastUse.CreditCard" units="days"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Logs the number of days that have passed since the credit card was last
used.
</summary>
</histogram>
<histogram name="Autofill.DaysSinceLastUse.Profile" units="days"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Logged at the time of autofill address use, this histogram captures the
number of days that have passed since the address was last used. I.e., the
distribution of time between uses of an &quot;active&quot; autofill address.
</summary>
</histogram>
<histogram name="Autofill.DaysSinceLastUse.StoredCreditCard" units="days"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<!-- Name completed by histogram_suffixes name="AutofillCreditCardType" -->
<summary>
Logs the number of days that have passed since each credit card belonging to
a given Chrome Profile was last used. This is logged for each Autofill
credit card once per Chrome User Profile load.
</summary>
</histogram>
<histogram name="Autofill.DaysSinceLastUse.StoredProfile" units="days"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
This histogram captures the number of days that have passed since each
stored address profile belonging to a given Chrome Profile was last used.
This is logged for each Autofill address profile once per Chrome User
Profile load.
</summary>
</histogram>
<histogram name="Autofill.DeveloperEngagement"
enum="AutofillDeveloperEngagement" expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Measures the adoption of the HTML autocomplete type hint specification (see
http://is.gd/whatwg_autocomplete for more details). For each fillable form
detected, logs whether that form includes author-specified type hints.
</summary>
</histogram>
<histogram name="Autofill.EditedAutofilledFieldAtSubmission.Aggregate"
enum="AutofilledFieldUserEditingStatus" expires_after="2021-11-07">
<owner>koerber@google.com</owner>
<owner>battre@google.com</owner>
<summary>
Total number of fields at submission time that were autofilled and have or
have not been editing by the user afterwards.
</summary>
</histogram>
<histogram name="Autofill.EditedAutofilledFieldAtSubmission.ByFieldType"
enum="AutofilledFieldUserEditingStatusByFieldType"
expires_after="2021-11-07">
<owner>koerber@google.com</owner>
<owner>battre@google.com</owner>
<summary>
Total number of fields at submission time of a specific type that were
autofilled and have or have not been editing by the user afterwards.
</summary>
</histogram>
<histogram name="Autofill.ExpirationDateFixFlowPrompt.Events"
enum="AutofillExpirationDateFixFlowPromptEvent" expires_after="2021-10-04">
<owner>siashah@google.com</owner>
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Events tracking the usage of the expiration date fix flow prompt. This
prompt is triggered whenever expiration date must be explicitly requested
from the user in order to upload the card to Google Payments.
</summary>
</histogram>
<histogram name="Autofill.ExpirationDateFixFlowPromptShown" enum="Boolean"
expires_after="2021-10-17">
<owner>siashah@google.com</owner>
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
The number of times the expiration date fix flow prompt is shown.
</summary>
</histogram>
<histogram name="Autofill.FieldCount" units="form fields" expires_after="M95">
<owner>kolos@chromium.org</owner>
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>Number of fields in a form that Autofill encounters.</summary>
</histogram>
<histogram name="Autofill.FieldPrediction" units="units"
expires_after="2021-12-12">
<!-- Name completed by histogram_suffixes
name="AutofillFieldPredictionSource" -->
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Predicted and actual form field type. This is a computed sparse histogram
where the value is ((predicted &lt;&lt; 16)| actual). Predicted and actual
are taken from the autofill::ServerFieldType enumeration.
</summary>
</histogram>
<histogram name="Autofill.FieldPredictionQuality.Aggregate"
enum="AutofillFieldPredictionQuality" expires_after="2021-12-12">
<!-- Name completed by histogram_suffixes
name="AutofillFieldPredictionSource" -->
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Aggregate Autofill field-type prediction outcomes. See
https://en.wikipedia.org/wiki/Confusion_matrix for an explanation of the
values.
</summary>
</histogram>
<histogram name="Autofill.FieldPredictionQuality.ByFieldType"
enum="AutofillFieldPredictionQualityByFieldType" expires_after="2021-12-12">
<!-- Name completed by histogram_suffixes
name="AutofillFieldPredictionSource" -->
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Autofill field-type prediction outcomes, broken down by field type. See
https://en.wikipedia.org/wiki/Confusion_matrix for an explanation of the
values.
</summary>
</histogram>
<histogram name="Autofill.FillDuration.FromInteraction.WithAutofill"
units="units" expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Time elapsed between the user's first interaction with a form and the form's
submission, for an autofilled form. An interaction requires changing a form
control's value manually or via autofill. The interaction can happen on a
different form than the one which is submitted.
</summary>
</histogram>
<histogram name="Autofill.FillDuration.FromInteraction.WithoutAutofill"
units="units" expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Time elapsed between the user's first interaction with a form and the form's
submission, for a non-autofilled form. An interaction requires changing a
form control's value manually or via autofill. The interaction can happen on
a different form than the one which is submitted.
</summary>
</histogram>
<histogram name="Autofill.FillDuration.FromLoad.WithAutofill" units="units"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Time elapsed between form load and form submission, for an autofilled form.
</summary>
</histogram>
<histogram name="Autofill.FillDuration.FromLoad.WithoutAutofill" units="units"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Time elapsed between form load and form submission, for a non-autofilled
form.
</summary>
</histogram>
<histogram name="Autofill.FormEvents.Address" enum="AutofillFormEvent"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>
Autofill form events for address forms. These are recorded when the user
interacts with a form requesting an address.
</summary>
<details>
Important caveat about submission metrics: - Submission using autofill data
is determined by simply evaluating if there was a fill operation in this
page. So, if the user filled with local data, completed erased or modified
the data after and then submitted, we would only emit one &quot;Submitted
with server suggestion filled (once)&quot;; - The submission segmentation
works by checking what kind of data was last filled for this type of form in
the page load. So, if a user initially filled with local data and after that
filled with server, we will only emit &quot;Submitted with server suggestion
filled (once)&quot;.
</details>
</histogram>
<histogram name="Autofill.FormEvents.CreditCard" enum="AutofillFormEvent"
expires_after="2021-12-12">
<owner>jsaul@google.com</owner>
<owner>battre@chromium.org</owner>
<summary>
Autofill form events for credit card forms. These are recorded when the user
interacts with a form requesting a credit card.
</summary>
<details>
Important caveat about submission metrics: - Submission using autofill data
is determined by simply evaluating if there was a fill operation in this
page. So, if the user filled with local data, completed erased or modified
the data after and then submitted, we would only emit one &quot;Submitted
with server suggestion filled (once)&quot;; - The submission segmentation
works by checking what kind of data was last filled for this type of form in
the page load. So, if a user initially filled with local data and after that
filled with server, we will only emit &quot;Submitted with server suggestion
filled (once)&quot;.
</details>
</histogram>
<histogram name="Autofill.FormEvents.CreditCard.OnNonsecurePage"
enum="AutofillFormEvent" expires_after="M77">
<owner>estark@chromium.org</owner>
<summary>
Autofill form events for credit card forms on nonsecure pages. These are
recorded when the user interacts with a form requesting a credit card.
</summary>
<details>
Important caveat about submission metrics: - Submission using autofill data
is determined by simply evaluating if there was a fill operation in this
page. So, if the user filled with local data, completed erased or modified
the data after and then submitted, we would only emit one &quot;Submitted
with server suggestion filled (once)&quot;; - The submission segmentation
works by checking what kind of data was last filled for this type of form in
the page load. So, if a user initially filled with local data and after that
filled with server, we will only emit &quot;Submitted with server suggestion
filled (once)&quot;.
</details>
</histogram>
<histogram name="Autofill.FormEvents.CreditCard.WithOffer"
enum="AutofillFormEvent" expires_after="M95">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Autofill form events for credit card forms. These are recorded when the user
interacts with a form requesting a credit card, a dropdown of suggestions is
shown and at least one of the suggestions has a linked credit card offer.
</summary>
</histogram>
<histogram name="Autofill.FormEvents.CreditCard.WithServerNickname"
enum="AutofillFormEvent" expires_after="2021-04-01">
<obsolete>
Removed 10/2020 as it is launched and no longer needed for analysis.
</obsolete>
<owner>sujiezhu@google.com</owner>
<owner>jsaul@google.com</owner>
<summary>
Autofill form events for credit card forms. These are recorded when the user
interacts with a form requesting a credit card, a dropdown of suggestions is
shown and at least one of the suggestions has a server nickname available.
</summary>
<details>
These metrics are used to measure the impact of the server card nickname
experiment. They are used to calculate the suggestion selection rate with
server nickname available. We will run the experiment on the same group of
user who has server cards with nicknames to compare the selection rate. For
enabled user, we will show nickname and log. For the other, we won't show
nickname in suggestion but we still log to this histogram.
</details>
</histogram>
<histogram
name="Autofill.FormEvents.CreditCard.WithServerNickname.SelectionDuration"
units="units" expires_after="2021-04-01">
<obsolete>
Removed 10/2020 as it is launched and no longer needed for analysis.
</obsolete>
<owner>sujiezhu@google.com</owner>
<owner>jsaul@google.com</owner>
<summary>
Time elapsed between when the first Autofill suggestion is shown and user
first chooses a card, for a credit card form, where the user has at least
one card with a server nickname available. Log only once per form. We will
run the experiment on the same group of user who have server cards with
nicknames to compare the selection duration. For enabled user, we will show
nickname and log. For the other, we won't show nickname in suggestion but we
still log to this histogram.
</summary>
</histogram>
<histogram name="Autofill.FormFillSuccessIOS"
enum="BooleanAutofillFormFillSuccessIOS" expires_after="2021-10-30">
<owner>kazinova@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Records whether the the form was successfully filled by Autofill on iOS.
</summary>
</histogram>
<histogram name="Autofill.FormSubmission.PerProfileType"
enum="BrowserProfileType" expires_after="2022-02-02">
<owner>rhalavati@chromium.org</owner>
<owner>chrome-privacy-core@google.com</owner>
<summary>
This histogram records the browser profile type when an autofill form is
submitted.
</summary>
</histogram>
<histogram name="Autofill.FormSubmittedState" enum="AutofillFormSubmittedState"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>The autofill state related to a submitted form.</summary>
</histogram>
<histogram base="true" name="Autofill.Funnel.FillAfterSuggestion"
enum="BooleanAutofillFillAfterSuggestion" expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts whether users accepted any autofill suggestion that was shown to them
for a given form.
This metric is only recorded if a suggestion for the given form type (see
histogram name) was shown at least once. This is recorded once per form. If
the user accepts one suggestion, this is reported as &quot;User chose to
fill&quot; once. It does not matter if the user clears the filled values nor
if the user accepts a different suggestion later.
</summary>
</histogram>
<histogram base="true" name="Autofill.Funnel.InteractionAfterParsedAsType"
enum="BooleanAutofillInteractionAfterParsedAsType"
expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts whether users interacted with a form of a certain type.
Focusing a field is sufficient to consider a form as being interacted with.
The user does not need to type anything. Note that some forms may get
focused on page load.
This metric is recorded once per form observed by Autofill, but only for
forms that Autofill classifies to be of the type indicated by the histogram
name. If a form changes dynamically, Autofill interprets the forms before
and after the change as two different forms and records two values. If a
form did not have features that classify it as a form of a certain type
(e.g. an address form or payment form), then nothing is recorded.
</summary>
</histogram>
<histogram base="true" name="Autofill.Funnel.ParsedAsType"
enum="BooleanAutofillParsedAsType" expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts whether a form was parsed/interpreted to be of the type indicated in
the histogram name.
This metric is recorded once for each form observed by Autofill. If a form
changes dynamically, then Autofill treats the different versions of the form
as different forms.
</summary>
</histogram>
<histogram base="true" name="Autofill.Funnel.SubmissionAfterFill"
enum="BooleanAutofillSubmissionAfterFill" expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts whether users submitted a form that was filled via autofill.
This metric is recorded once for each form observed by Autofill but only for
forms that the user filled via Autofill.
</summary>
</histogram>
<histogram base="true" name="Autofill.Funnel.SuggestionAfterInteraction"
enum="BooleanAutofillSuggestionAfterInteraction" expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts whether users were shown suggestions to fill the form, given that
they have already interacted with the form.
This metric is recorded only for forms that users interacted with. It is
recorded only once per form, meaning that it does not matter how often the
user sees suggestions. If a form changes dynamically, then Autofill treats
the different versions of the form as different forms.
</summary>
</histogram>
<histogram name="Autofill.HadUserOptedIn_To_WalletSyncTransportServerCards"
enum="BooleanOptedIn" expires_after="2021-11-30">
<owner>jsaul@google.com</owner>
<owner>battre@chromium.org</owner>
<summary>
Whether the user had opted-in to seeing their server cards in Wallet Sync
Transport mode. Recorded when showing the autofill dropdown for credit
cards.
</summary>
</histogram>
<histogram name="Autofill.HiddenOrPresentationalSelectFieldsFilled"
enum="BooleanHiddenPresentationalAutofilled" expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Logs when a hidden or presentational field is autofilled. The hidden or
presentational fields are only autofilled for 'select' fields to support
synthetic fields.
</summary>
</histogram>
<histogram name="Autofill.InvalidProfileData.UsedForMetrics" enum="Boolean"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Tracks whether or not autofill suppressed sending votes or calculating
quality metrics because the profile data was marked as invalid. Logged
during field-type validation if/when a field marked as invalid is found to
match the submitted data.
</summary>
</histogram>
<histogram name="Autofill.InvalidProfileData.UsedForSuggestion" enum="Boolean"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Tracks whether or not autofill suppressed offering an autofill suggestion
because the profile data was marked as invalid. Logged during autofill
suggestion generation when a suggestion is about to generated based on a
field marked as invalid.
</summary>
</histogram>
<histogram name="Autofill.IsEnabled.PageLoad" enum="BooleanEnabled"
expires_after="2021-08-09">
<owner>jsaul@google.com</owner>
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
This includes Autofill.Address.IsEnabled.PageLoad and
Autofill.CreditCard.IsEnabled.PageLoad, and tracks whether either profile
Autofill or payment Autofill is enabled on page load for a page containing
forms. It helps deduce the overlap by showing what percentage of users have
one type of Autofill enabled but not the other.
</summary>
</histogram>
<histogram name="Autofill.IsEnabled.Startup" enum="BooleanEnabled"
expires_after="2021-08-09">
<owner>jsaul@google.com</owner>
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
This includes Autofill.Address.IsEnabled.Startup and
Autofill.CreditCard.IsEnabled.Startup, and tracks whether either profile
Autofill or payment Autofill is enabled when Chrome launches. It helps
deduce the overlap by showing what percentage of users have one type of
Autofill enabled but not the other.
</summary>
</histogram>
<histogram base="true" name="Autofill.KeyMetrics.FillingAcceptance"
enum="BooleanAutofillFillingAcceptance" expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts for submitted forms whether users accepted the suggestion to fill
values. This is counted as 'yes' if the user accepted such a suggestion at
any time, regardless whether other suggestions were ignored or whether the
accepted suggestion was reverted afterwards.
</summary>
</histogram>
<histogram base="true" name="Autofill.KeyMetrics.FillingAssistance"
enum="BooleanAutofillFillingAssistance" expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts for submitted forms whether the user filled any fields via Autofill.
If the user reverts the filling, the form is still counted as filled.
This metric is different from Autofill.KeyMetrics.FillingAcceptance in the
sense that the latter is only recorded if the user has actually seen a
prompt to fill data.
</summary>
</histogram>
<histogram base="true" name="Autofill.KeyMetrics.FillingCorrectness"
enum="BooleanAutofillFillingCorrectness" expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts for submitted and autofilled forms whether users edited at least one
filled value before submitting the form.
</summary>
</histogram>
<histogram base="true" name="Autofill.KeyMetrics.FillingReadiness"
enum="BooleanAutofillFillingReadiness" expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts for submitted forms whether Chromium had any address or payments data
to fill.
It does not matter whether the user actually requested to fill the data. It
does not matter either whether the data available for filling corresponded
to the submitted data.
</summary>
</histogram>
<histogram base="true" name="Autofill.KeyMetrics.FormSubmission.Autofilled"
enum="BooleanAutofillSubmission" expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts for filled (by Autofill) forms whether users submitted those forms.
This is only recorded for forms that the user filled via Autofill. It does
not matter if the user reverted the filling afterwards.
This is recorded once Autofill stops tracking the form (e.g. due to a
navigation or due to removal from the DOM).
</summary>
</histogram>
<histogram base="true" name="Autofill.KeyMetrics.FormSubmission.NotAutofilled"
enum="BooleanAutofillSubmission" expires_after="2021-11-07">
<owner>battre@chromium.org</owner>
<owner>kolos@chromium.org</owner>
<owner>nepper@chromium.org</owner>
<summary>
Counts for not filled (by Autofill) forms whether users submitted those
forms.
This is only recorded for forms into which the user typed anything but did
not fill anything. It does not matter if the user reverted what they typed.
This is recorded once Autofill stops tracking the form (e.g. due to a
navigation or due to removal from the DOM).
</summary>
</histogram>
<histogram name="Autofill.LocalCardMigrationBubbleOffer"
enum="AutofillLocalCardMigrationBubbleOffer" expires_after="2021-11-07">
<owner>siyua@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>
Record events related to bubble showing. Logged when bubble is requested or
is actually shown to users.
</summary>
</histogram>
<histogram name="Autofill.LocalCardMigrationBubbleResult"
enum="AutofillLocalCardMigrationBubbleResult" expires_after="2021-11-07">
<owner>siyua@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>
Records whether and how the local card migration bubble was accepted or
closed.
</summary>
</histogram>
<histogram name="Autofill.LocalCardMigrationBubbleUserInteraction"
enum="AutofillLocalCardMigrationBubbleUserInteraction"
expires_after="2021-07-04">
<owner>siyua@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>Record how bubble is closed by different user interactions.</summary>
</histogram>
<histogram name="Autofill.LocalCardMigrationDecision"
enum="AutofillLocalCardMigrationDecisionMetric" expires_after="2022-03-01">
<owner>sujiezhu@google.com</owner>
<owner>siyua@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>
Record the decisions made when determining if local card migration should be
offered.
</summary>
</histogram>
<histogram name="Autofill.LocalCardMigrationDialogActiveDuration" units="ms"
expires_after="2022-03-01">
<owner>siyua@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>
Record duration of the local card migration dialog being visible to users.
</summary>
</histogram>
<histogram name="Autofill.LocalCardMigrationDialogOffer"
enum="AutofillLocalCardMigrationDialogOffer" expires_after="2022-03-01">
<owner>siyua@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>
Record events related to showing the local card migration dialog.
</summary>
</histogram>
<histogram name="Autofill.LocalCardMigrationDialogUserInteraction"
enum="AutofillLocalCardMigrationDialogUserInteraction"
expires_after="2022-03-01">
<owner>siyua@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>
Record user interactions related to local card migration dialog.
</summary>
</histogram>
<histogram name="Autofill.LocalCardMigrationDialogUserSelectionPercentage"
units="%" expires_after="2022-03-01">
<owner>siyua@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>
Record the percentage of cards selected by the user in the migration dialog.
</summary>
</histogram>
<histogram name="Autofill.LocalCardMigrationOrigin"
enum="LocalCardMigrationPrompt" expires_after="2022-03-01">
<owner>siyua@chromium.org</owner>
<owner>jsaul@google.com</owner>
<summary>
Records when local card migration prompts are shown and/or accepted.
</summary>
</histogram>
<histogram name="Autofill.ManageCardsPrompt" enum="AutofillManageCardsPrompt"
expires_after="2021-08-09">
<owner>manasverma@google.com</owner>
<owner>jsaul@google.com</owner>
<summary>
The frequency of user interactions with the Manage Cards prompt.
</summary>
</histogram>
<histogram name="Autofill.MigrateUserOptedInToWalletSync"
enum="AutofillMigrateUserOptedInToWalletSync" expires_after="2020-11-30">
<owner>msarda@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
This metric is recorded when the bit that indicates the user is opted in to
wallet sync transport is migrated (part of the migration from using email to
using Gaia ID as the account identifier).
</summary>
</histogram>
<histogram name="Autofill.NameTokenVerificationStatusAtProfileUsage.{NameType}"
enum="AufofillStructuredTokenVerificationStatus" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
For each {NameType} in a given AutofillProfile, the verification status of
the corresponding non-empty type is recorded when a profile is used to fill
a form.
</summary>
<token key="NameType">
<variant name="Any" summary="any of the following"/>
<variant name="FirstLast" summary="the first last name of the profile"/>
<variant name="Full" summary="the full name of the profile"/>
<variant name="Last" summary="the last name of the profile"/>
<variant name="Middle" summary="the middle name of the profile"/>
<variant name="SecondLast" summary="the second last name of the profile"/>
</token>
</histogram>
<histogram
name="Autofill.NumberOfAutofilledFieldsAtSubmission.{AcceptanceStatus}"
units="fields" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The {AcceptanceStatus} autofilled fields in a form after receiving a form
submission event.
</summary>
<token key="AcceptanceStatus">
<variant name="Accepted" summary="number of accepted"/>
<variant name="Corrected" summary="number of corrected"/>
<variant name="Total" summary="total number of"/>
</token>
</histogram>
<histogram name="Autofill.NumberOfEditedAutofilledFieldsAtSubmission"
units="fields" expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of autofilled fields that were subsequently edited prior to the
form being submitted.
</summary>
</histogram>
<histogram name="Autofill.NumberOfProfilesConsideredForDedupe" units="profiles"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of Autofill profiles that have been considered for deduplication.
</summary>
</histogram>
<histogram name="Autofill.NumberOfProfilesRemovedDuringDedupe" units="profiles"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of Autofill profiles that have been removed during deduplication.
</summary>
</histogram>
<histogram name="Autofill.NumElementsMatchesNumFields" enum="Boolean"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Records whether the number of fillable form elements matches the number of
fields in the form's description. Instances where this is recorded as False,
denote cases where autofill failed to preview/fill an autofill suggestion.
This can happen when a fields is filtered out of a formless form.
</summary>
</histogram>
<histogram name="Autofill.Offer.SelectedCardHasOffer"
enum="AutofillCreditCardOfferSelection" expires_after="M95">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
When at least one of the cards in the Autofill suggestions list has a linked
offer and the user selects a suggestion, this metric records whether or not
the selected suggestion had a linked offer. Nothing is recorded if none of
the cards suggested have linked offers.
</summary>
</histogram>
<histogram name="Autofill.Offer.StoredOfferCount" units="offers"
expires_after="2021-12-05">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Tracks the number of autofill offers data a user has stored, measured at
Chrome profile launch time.
</summary>
</histogram>
<histogram name="Autofill.Offer.StoredOfferRelatedCardCount" units="cards"
expires_after="2021-12-05">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Tracks the number of the credit cards an autofill card linked offer data is
related to, measured at Chrome profile launch time.
</summary>
</histogram>
<histogram name="Autofill.Offer.StoredOfferRelatedMerchantCount"
units="merchants" expires_after="2021-12-05">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Tracks the number of the merchants an autofill offer data is related to,
measured at Chrome profile launch time.
</summary>
</histogram>
<histogram name="Autofill.Offer.SubmittedCardHasOffer"
enum="AutofillCreditCardOfferSubmission" expires_after="M95">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
When at least one of the cards in the Autofill suggestions list has a linked
offer and the user submits the form, this metric records whether or not the
form was submitted using the card with a linked offer. Nothing is recorded
if none of the cards suggested have linked offers.
</summary>
</histogram>
<histogram name="Autofill.Offer.SuggestedCardsHaveOffer"
enum="AutofillCreditCardOfferSuggestion" expires_after="2021-12-12">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
When the user is shown the Autofill suggestions list, this metric records
whether or not a credit card that is linked to an offer is shown as part of
the suggestions.
</summary>
</histogram>
<histogram name="Autofill.Offer.SyncedOfferDataBeingValid" units="offers"
expires_after="2021-12-05">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Tracks whether the offer data is valid or not, measured whenever offer data
is synced down via Sync.
</summary>
</histogram>
<histogram name="Autofill.OfferNotificationBubbleOffer.{BubbleType}"
enum="BooleanPreviouslyShown" expires_after="2021-09-01">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records whether the offer notification bubble is the first such offer that
the user has been shown or is reshown due to user actions. The metric is
recorded when the bubble is shown.
</summary>
<token key="BubbleType" variants="Autofill.OfferNotification.Type"/>
</histogram>
<histogram
name="Autofill.OfferNotificationBubbleResult.{BubbleType}.{ShowType}"
enum="AutofillOfferNotificationBubbleResult" expires_after="2021-09-01">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records the reason for closing the offer notification bubble. Recorded when
the bubble is closed.
</summary>
<token key="BubbleType" variants="Autofill.OfferNotification.Type"/>
<token key="ShowType" variants="Autofill.PaymentBubble.Show"/>
</histogram>
<histogram name="Autofill.OfferNotificationInfoBarOffer.{OfferType}"
enum="BooleanShown" expires_after="2021-09-01">
<owner>siashah@chromium.org</owner>
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Emits true when the offer notification infobar is displayed and does not
emit any value otherwise.
</summary>
<token key="OfferType" variants="Autofill.OfferNotification.Type"/>
</histogram>
<histogram name="Autofill.OfferNotificationInfoBarResult.{OfferType}"
enum="AutofillOfferNotificationInfoBarResult" expires_after="2021-09-01">
<owner>siashah@chromium.org</owner>
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records the reason for closing the offer notification infobar for
{OfferType}. Recorded when the infobar is closed.
</summary>
<token key="OfferType" variants="Autofill.OfferNotification.Type"/>
</histogram>
<histogram name="Autofill.PageTranslationStatus" enum="Boolean"
expires_after="2021-10-25">
<owner>marsin@google.com</owner>
<owner>koerber@google.com</owner>
<summary>
Tracks whether the visible page language was translated or not upon form
submission.
</summary>
</histogram>
<histogram name="Autofill.ProfileActionOnFormSubmitted"
enum="AutofillProfileAction" expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The profile action that took place when a form was submitted.
</summary>
</histogram>
<histogram name="Autofill.ProfileImport.NewProfileDecision"
enum="AutofillProfileImportDecision" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>src/components/autofill/OWNERS</owner>
<summary>
Logs the user's decision for storing a new address profile observed in a
form submission. This metric is emitted at the end of an import process once
the user-provided import decision is final.
</summary>
</histogram>
<histogram name="Autofill.ProfileImport.NewProfileEditedType"
enum="AutofillSettingsVisibleTypes" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>src/components/autofill/OWNERS</owner>
<summary>
Logs that a specific type was edited in a new profile save prompt that was
shown to the user when a new address profile is observed in a form
submission. This metric is emitted once the user-provided import decision is
final.
</summary>
</histogram>
<histogram name="Autofill.ProfileImport.NewProfileNumberOfEditedFields"
units="fields" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>src/components/autofill/OWNERS</owner>
<summary>
Logs the number of fields that have been edited by the user in the process
of succesfully importing a new profile after an observed form submission.
</summary>
</histogram>
<histogram name="Autofill.ProfileImport.ProfileImportType"
enum="AutofillProfileImportType" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>src/components/autofill/OWNERS</owner>
<summary>
The type of an import of an address that is observed in a form submission.
This metric is emitted once the import decision is final. This does not
necessarily mean that the user was prompted.
</summary>
</histogram>
<histogram name="Autofill.ProfileImport.UpdateProfileAffectedType"
enum="AutofillSettingsVisibleTypes" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>src/components/autofill/OWNERS</owner>
<summary>
Logs that a specific type was changed in a profile update process that was
shown to the user when a profile similar to an already exisintg profile was
observed in a form submission. This metric is emitted only when the user
accepts the update without further edits.
</summary>
</histogram>
<histogram name="Autofill.ProfileImport.UpdateProfileDecision"
enum="AutofillProfileImportDecision" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>src/components/autofill/OWNERS</owner>
<summary>
Logs the user's decision for editing an already existing address after a
similar profile was observed in a form submission. This metric is emitted at
the end of an import process once the user-provided import decision is
final.
</summary>
</histogram>
<histogram name="Autofill.ProfileImport.UpdateProfileEditedType"
enum="AutofillSettingsVisibleTypes" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>src/components/autofill/OWNERS</owner>
<summary>
Logs that a specific type was edited in a profile update prompt that was
shown to the user when a profile similar to an already exisintg profile was
observed in a form submission. This metric is emitted once the user-provided
import decision is final.
</summary>
</histogram>
<histogram name="Autofill.ProfileImport.UpdateProfileNumberOfAffectedFields"
units="fields" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>src/components/autofill/OWNERS</owner>
<summary>
Logs the number of fields that have been changed in the process of
succesfully updating an existing profile after an observed form submission.
This metric is only collected if the profile update is accepted by the user
without further edits.
</summary>
</histogram>
<histogram name="Autofill.ProfileImport.UpdateProfileNumberOfEditedFields"
units="fields" expires_after="M96">
<owner>koerber@google.com</owner>
<owner>src/components/autofill/OWNERS</owner>
<summary>
Logs the number of fields that have been edited by the user in the process
of succesfully updating an existing profile after an observed form
submission.
</summary>
</histogram>
<histogram name="Autofill.ProfileSuggestionsMadeWithFormatter"
enum="BooleanCreated" expires_after="2020-09-30">
<owner>battre@chromium.org</owner>
<owner>src/components/autofill/OWNERS</owner>
<summary>
This metric is recorded when the autofill-use-improved-label-disambiguation
experiment is enabled and profile suggestions are available. This metric
measures how often suggestions were created with and without a formatter.
</summary>
</histogram>
<histogram name="Autofill.QueriedCreditCardFormIsSecure" enum="BooleanSecure"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
For credit card forms that are queried for Autofill, a ratio of how many are
within secure contexts (which includes mixed passive content).
</summary>
</histogram>
<histogram name="Autofill.Query.BackoffDelay" units="ms"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The delay of a network request for a query due to exponential backoff.
</summary>
</histogram>
<histogram name="Autofill.Query.FailingPayloadSize" units="bytes"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of bytes that were sent in a query that subsequently failed. This
is to help determine the appropriate threshold at which autofill queries
should switch from GET to POST, and if there are certain sizes of queries
which are prone to failure.
</summary>
</histogram>
<histogram name="Autofill.Query.HttpResponseOrErrorCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The http response code or net error code returned on a query.
</summary>
</histogram>
<histogram name="Autofill.Query.Method" enum="AutofillQueryMethod"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>The HTTP method used to query the autofill server.</summary>
</histogram>
<histogram name="Autofill.Query.RequestDuration" units="ms" expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>The duration of a network request for a query.</summary>
</histogram>
<histogram name="Autofill.Query.WasInCache" enum="BooleanCacheHit"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Was the autofill query response retrieved from the HTTP cache.
</summary>
</histogram>
<histogram name="Autofill.RationalizationQuality.PhoneNumber"
enum="AutofillRationalizationQualityMetric" expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The quality of fields rationalization, putting rationalization result into
good/ok/bad categories.
</summary>
</histogram>
<histogram name="Autofill.SaveCardCardholderNamePrefilled" enum="Boolean"
expires_after="2022-03-31">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
If the cardholder name fix flow is shown when credit card upload is offered,
records if the cardholder name textfield was prefilled with the name from
the user's Google Account.
</summary>
</histogram>
<histogram name="Autofill.SaveCardCardholderNameWasEdited" enum="Boolean"
expires_after="2022-03-31">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
If the cardholder name fix flow is shown during credit card upload and the
user accepts upload, logs whether the final cardholder name was changed from
its prefilled value or not.
</summary>
</histogram>
<histogram name="Autofill.SaveCardRequestExpirationDateReason"
enum="AutofillSaveCardRequestExpirationDateReason"
expires_after="2022-03-31">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records the reason expiration date was explicitly requested from the user
during credit card save.
</summary>
</histogram>
<histogram name="Autofill.SaveCreditCardPrompt"
enum="AutofillSaveCreditCardPrompt" expires_after="2021-07-04">
<obsolete>
Removed 02/2021 as it is replaced by Autofill.SaveCreditCardPromptOffer and
Autofill.SaveCreditCardPromptResult.
</obsolete>
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<summary>
The relative frequency with which users accept or deny the Autofill save
credit card prompt.
</summary>
</histogram>
<histogram name="Autofill.SaveCreditCardPromptOffer"
enum="AutofillSaveCreditCardPromptOfferEnum" expires_after="2021-11-07">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<summary>
The relative frequency with which the Autofill save credit card prompt is
shown or not. Logged when the flow is triggered and the prompt should be
shown.
</summary>
</histogram>
<histogram name="Autofill.SaveCreditCardPromptResult"
enum="AutofillSaveCreditCardPromptResultEnum" expires_after="2021-11-07">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<summary>
The relative frequency with which users accept or deny the Autofill save
credit card prompt. Logged when users interacted with the prompt.
</summary>
</histogram>
<histogram name="Autofill.ScanCreditCard.Completed" enum="BooleanCompleted"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>Whether a credit card scan was completed or cancelled.</summary>
</histogram>
<histogram name="Autofill.ScanCreditCard.Duration" units="ms"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>How long a credit card took to scan.</summary>
</histogram>
<histogram name="Autofill.ScanCreditCardPrompt"
enum="AutofillScanCreditCardPrompt" expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>jsaul@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>Usage of the &quot;Scan card&quot; control item.</summary>
</histogram>
<histogram name="Autofill.ServerCardLinkClicked" enum="AutofillSyncState"
expires_after="2021-08-09">
<owner>jsaul@google.com</owner>
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Logged when the user clicks on the server credit card link in the settings
page.
</summary>
</histogram>
<histogram name="Autofill.ServerQueryResponse" enum="AutofillQueryResult"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>The usefulness of Autofill server information.</summary>
</histogram>
<histogram name="Autofill.ServerResponseHasDataForForm"
enum="BooleanHadPredictions" expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Tracks whether Autofill server had at least some prediction data for a given
form at query response time.
</summary>
</histogram>
<histogram name="Autofill.StoredCreditCardCount" units="cards"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<!-- Name completed by histogram_suffixes name="AutofillCreditCardType" -->
<summary>
The number of credit cards a user has stored, measured at Chrome profile
launch time.
</summary>
</histogram>
<histogram name="Autofill.StoredCreditCardCount.Server.WithVirtualCardMetadata"
units="units" expires_after="M98">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
The number of server cards with virtual card metadata, measured at Chrome
profile launch.
</summary>
</histogram>
<histogram name="Autofill.StoredCreditCardDisusedCount" units="cards"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<!-- Name completed by histogram_suffixes name="AutofillCreditCardType" -->
<summary>
The number of disused credit cards a user has stored, measured at Chrome
profile launch time. This is only reported for users who have at least one
stored credit card.
</summary>
</histogram>
<histogram name="Autofill.StoredProfileCount" units="units"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of Autofill addresses a user has stored, measured at launch time.
</summary>
</histogram>
<histogram name="Autofill.StoredProfileCountAtAutofillableFormSubmission"
units="units" expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of Autofill addresses a user has stored, measured when an
autofillable form is submitted.
</summary>
</histogram>
<histogram name="Autofill.StoredProfileDisusedCount" units="units"
expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of stored Autofill address profiles which have not been used in a
sufficiently long time for autofill to consider them disused. Measured once
per Chrome user profile launch.
</summary>
</histogram>
<histogram
name="Autofill.StrikeDatabase.CreditCardSaveNotOfferedDueToMaxStrikes"
enum="AutofillSaveType" expires_after="2021-12-20">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records when credit card save is not offered (either at all on mobile or by
simply not showing the bubble on desktop) due to the candidate card having
too many strikes.
</summary>
</histogram>
<histogram
name="Autofill.StrikeDatabase.LocalCardMigrationNotOfferedDueToMaxStrikes"
enum="AutofillSaveType" expires_after="2021-12-20">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records when local card migration is not offered due to the candidate's
LocalCardMigration strike count reaching maximum strikes.
</summary>
</histogram>
<histogram name="Autofill.StrikeDatabase.NthStrikeAdded" units="strikes"
expires_after="2021-12-20">
<!-- Name completed by histogram_suffixes name="AutofillStrikeDatabaseProjectType" -->
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records the number of &quot;strikes&quot; a particular feature has when a
new strike is added for that feature.
</summary>
</histogram>
<histogram name="Autofill.StrikeDatabase.StrikeDatabaseInitFailed"
units="attempts" expires_after="2021-12-20">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
When a StrikeDatabase fails to initialize, records the number of consecutive
failed initialization attempts.
</summary>
</histogram>
<histogram
name="Autofill.StrikeDatabase.StrikesPresentWhenLocalCardMigrationAccepted"
units="strikes" expires_after="2021-12-20">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records the number of &quot;strikes&quot; a user has when local card
migration is accepted.
</summary>
</histogram>
<histogram name="Autofill.StrikeDatabase.StrikesPresentWhenLocalCardSaved"
units="strikes" expires_after="2021-12-20">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records the number of &quot;strikes&quot; a given card had when a user opted
to save the card to Chrome.
</summary>
</histogram>
<histogram name="Autofill.StrikeDatabase.StrikesPresentWhenServerCardSaved"
units="strikes" expires_after="2021-12-20">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records the number of &quot;strikes&quot; a given card had when a user
successfully uploaded the card to Google Payments.
</summary>
</histogram>
<histogram name="Autofill.StrikeDatabase.StrikesPresentWhenStrikeExpired"
units="strikes" expires_after="2021-12-20">
<!-- Name completed by histogram_suffixes name="AutofillStrikeDatabaseProjectType" -->
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records the number of &quot;strikes&quot; present in a StrikeDatabase entry
when a strike expires.
</summary>
</histogram>
<histogram name="Autofill.SubmittedCardState" enum="AutofillSubmittedCardState"
expires_after="2022-03-31">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Metric to measure credit card state when form is submitted, specifically if
it had a valid card number and/or expiration date.
</summary>
</histogram>
<histogram name="Autofill.SubmittedServerCardExpirationStatus"
enum="AutofillSubmittedServerCardExpirationStatus"
expires_after="2022-03-31">
<owner>jsaul@google.com</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Metric to measure if a submitted card's expiration date matches the same
server card's expiration date (unmasked or not). Cards are considered to be
the same if they have the same card number (if unmasked) or if they have the
same network and last four digits (if masked).
</summary>
</histogram>
<histogram name="Autofill.SubmittedValuePatterns" enum="AutofillValuePatterns"
expires_after="2021-11-21">
<owner>battre@chromium.org</owner>
<owner>jsaul@google.com</owner>
<owner>koerber@google.com</owner>
<summary>
Metric to measure if a submitted form contains any recognizable value
patterns (e.g., Unified Payment Interface Virtual Payment address (UPI
VPA)). Reported for every submitted non-empty visible field observed by
Autofill.
</summary>
</histogram>
<histogram name="Autofill.SuggestionAccepted.OffTheRecord" units="units"
expires_after="2021-12-05">
<owner>rhalavati@chromium.org</owner>
<owner>chrome-privacy-core@google.com</owner>
<summary>
Records acceptance of autofill suggestions in regular and off-the-record
modes.
</summary>
</histogram>
<histogram name="Autofill.SuggestionAcceptedIndex" units="position"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The index of the accepted Autofill suggestion in the popup. Due to
crbug.com/966411, the iOS data is incorrect.
</summary>
</histogram>
<histogram name="Autofill.SuggestionAcceptedIndex.Autocomplete"
units="position" expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The index of the accepted Autocomplete suggestion in the popup. Due to
crbug.com/966411, the iOS data is incorrect.
</summary>
</histogram>
<histogram name="Autofill.SuggestionShown.OffTheRecord" units="units"
expires_after="2021-12-05">
<owner>rhalavati@chromium.org</owner>
<owner>chrome-privacy-core@google.com</owner>
<summary>
Records showing of autofill suggestions in regular and off-the-record modes.
</summary>
</histogram>
<histogram name="Autofill.Timing.DetermineHeuristicTypes" units="ms"
expires_after="M95">
<owner>kenjitoyama@chromium.org</owner>
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Number of milliseconds passed between the start and end of
FormStructure::DetermineHeuristicTypes().
</summary>
</histogram>
<histogram name="Autofill.Timing.ParseForm" units="ms" expires_after="M95">
<owner>kenjitoyama@chromium.org</owner>
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Number of milliseconds passed between the start and end of parsing a single
form.
</summary>
</histogram>
<histogram name="Autofill.TranslatedPageLanguage" enum="LanguageCode"
expires_after="2021-10-25">
<owner>marsin@google.com</owner>
<owner>koerber@google.com</owner>
<summary>
The visible page language (best guess of the original or the translated
language, if translation was used) upon form submission. This is a sparse
histogram where the integer value represents the language code as described
by the ISO 639 standard.
</summary>
</histogram>
<histogram name="Autofill.UnmaskPrompt.Duration" units="ms"
expires_after="2021-10-10">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<summary>
Duration of the interaction with the UnmaskPrompt since it was shown until
it was closed. This prompt is triggered when a user selects a masked card in
an autofill dropdown.
</summary>
</histogram>
<histogram name="Autofill.UnmaskPrompt.Events" enum="AutofillUnmaskPromptEvent"
expires_after="2021-12-12">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<summary>
Events tracking the usage of the unmasking prompt. This prompt is triggered
when a user selects a masked card in a autofill dropdown.
</summary>
</histogram>
<histogram name="Autofill.UnmaskPrompt.GetRealPanDuration" units="ms"
expires_after="2022-05-01">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<summary>
Duration of the GetRealPan API call. This API call is triggered by the
unmasking prompt when the user types information to verify their ownership
of the card being fetched.
</summary>
</histogram>
<histogram name="Autofill.UnmaskPrompt.GetRealPanDuration.{CardType}.{Result}"
units="ms" expires_after="2022-05-01">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Duration of the GetRealPan API call. This API call is triggered by the
unmasking prompt when the user types information to verify their ownership
of the card being fetched. Broken down by the type of the card being fetched
and the result.
</summary>
<token key="CardType" variants="Autofill.PaymentsRpcCardType"/>
<token key="Result" variants="Autofill.PaymentsRpcResult"/>
</histogram>
<histogram name="Autofill.UnmaskPrompt.GetRealPanResult"
enum="AutofillGetRealPanResult" expires_after="2022-05-01">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<summary>
Tracks the result of the GetRealPan API call. This API call is triggered by
the unmasking prompt when the user types information to verify their
ownership of the card being fetched.
</summary>
</histogram>
<histogram name="Autofill.UnmaskPrompt.GetRealPanResult.{CardType}"
enum="AutofillGetRealPanResult" expires_after="2022-05-01">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Tracks the result of the GetRealPan API call. This API call is triggered by
the unmasking prompt when the user types information to verify their
ownership of the card being fetched. Broken down by type of the card being
fetched.
</summary>
<token key="CardType" variants="Autofill.PaymentsRpcCardType"/>
</histogram>
<histogram name="Autofill.UnmaskPrompt.TimeBeforeAbandonUnmasking" units="ms"
expires_after="2021-08-09">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<summary>
Time the user waited before abandoning an unmasking operation. In such a
scenario, the user is cancelling a pending unmasking operation (possibly
because it is taking too long). The time measured here corresponds to the
time between the user clicking the &quot;Verify&quot; button and then
clicking &quot;Cancel&quot;.
</summary>
</histogram>
<histogram name="Autofill.UnmaskPrompt.UnmaskingDuration" units="ms"
expires_after="2022-05-01">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<summary>
Duration between the user clicking the Verify button within the unmasking
prompt until we get a response back from the server. This prompt is
triggered when a user selects a masked card in an autofill dropdown.
</summary>
</histogram>
<histogram name="Autofill.UnmaskPrompt.UnmaskingDuration.{CardType}.{Result}"
units="ms" expires_after="2022-05-01">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<summary>
Duration between the user clicking the Verify button within the unmasking
prompt until we get a response back from the server. This prompt is
triggered when a user selects a masked card in an autofill dropdown. Broken
down by the type of the card being fetched and the result.
</summary>
<token key="CardType" variants="Autofill.PaymentsRpcCardType"/>
<token key="Result" variants="Autofill.PaymentsRpcResult"/>
</histogram>
<histogram name="Autofill.UnownedFieldsWereFiltered" enum="Boolean"
expires_after="M77">
<obsolete>
Removed 03/2021 as it is no longer needed for analysis.
</obsolete>
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Records incidents where an implicit (formless) form has elements filtered
out of it. This happens to unowned fields (directly embedded in the page
with no enclosing &lt;form&gt; tag) without autocomplete attributes if
formless forms are restricted to &quot;checkout&quot; pages. Logged when
parsing forms/fields.
</summary>
</histogram>
<histogram name="Autofill.Upload.BackoffDelay" units="ms" expires_after="never">
<!-- expires-never: https://crbug.com/915888 -->
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The delay of a network request for an upload due to exponential backoff.
</summary>
</histogram>
<histogram name="Autofill.Upload.FailingPayloadSize" units="bytes"
expires_after="M77">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The number of bytes that were sent in an upload that subsequently failed.
This is to help determine if there are certain upload sizes which are prone
to failure.
</summary>
</histogram>
<histogram name="Autofill.Upload.HttpResponseOrErrorCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="never">
<!-- expires-never: https://crbug.com/915888 -->
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The http response code or net error code returned on an upload.
</summary>
</histogram>
<histogram name="Autofill.Upload.MetadataConfigIsValid" enum="BooleanValid"
expires_after="M77">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Tracks whether or not the configuration fo metadata upload encoding is valid
or invalid. Note that if the configuration is invalid, the client will fall
back to a default configuration that sends 4 bits per byte (i.e., either the
even or odd bits encoding).
</summary>
</histogram>
<histogram name="Autofill.Upload.MetadataEncodingType"
enum="AutofillMetadataEncodingType" expires_after="M77">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
The metadata encoding scheme used by the client to encode rich uploads.
</summary>
</histogram>
<histogram name="Autofill.Upload.RequestDuration" units="ms"
expires_after="never">
<!-- expires-never: https://crbug.com/915888 -->
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>The duration of a network request for an upload.</summary>
</histogram>
<histogram name="Autofill.UploadAcceptedCardOrigin"
enum="UploadAcceptedCardOrigin" expires_after="never">
<!-- expires-never: https://crbug.com/975713 -->
<owner>jsaul@google.com</owner>
<summary>
Measures if a card for which upload was accepted is already stored as a
local card on the device or if it has not yet been seen.
</summary>
</histogram>
<histogram name="Autofill.UploadEvent" enum="BooleanSent"
expires_after="2021-12-12">
<!-- Name completed by histogram_suffixes name="AutofillUploadEvents" -->
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Whether or not an upload was sent after having been triggered by a form
submission or proxy-form-submission.
</summary>
</histogram>
<histogram name="Autofill.UploadOfferedCardOrigin"
enum="UploadOfferedCardOrigin" expires_after="never">
<!-- expires-never: https://crbug.com/975713 -->
<owner>jsaul@google.com</owner>
<summary>
Measures if a card for which upload was offered is already stored as a local
on the device or if it has not yet been seen.
</summary>
</histogram>
<histogram name="Autofill.UsedCachedServerCard" units="uses"
expires_after="2021-12-20">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records the number of times that the cache for unmasked server cards has
been accessed for a given card. For example, if the cache is being accessed
and it has already been accessed for the card twice before, then
&quot;3&quot; is recorded.
</summary>
</histogram>
<histogram name="Autofill.UsedCachedVirtualCard" units="uses"
expires_after="2021-12-20">
<owner>jsaul@google.com</owner>
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
Records the number of times that the cache for virtual cards has been
accessed for a given card. For example, if the cache is being accessed and
it has already been accessed for the card twice before, then &quot;3&quot;
is recorded.
</summary>
</histogram>
<histogram name="Autofill.UserHappiness" enum="AutofillUserHappiness"
expires_after="2021-12-12">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Measures the frequency of various events in the Autofill user interaction
flow. By comparing frequencies, we can compute several interesting
&quot;user happiness&quot; metrics.
</summary>
</histogram>
<histogram name="Autofill.VirtualCard.MetadataSynced" enum="BooleanExists"
expires_after="M98">
<owner>siyua@chromium.org</owner>
<owner>payments-autofill-team@google.com</owner>
<summary>
The number of times that virtual card metadata is propagated via Chrome
Sync. It is logged based on whether the metadata is for an existing card or
a new card.
</summary>
</histogram>
<histogram name="Autofill.WalletAddressConversionType"
enum="AutofillWalletAddressConversionType" expires_after="M95">
<owner>battre@chromium.org</owner>
<owner>chrome-autofill-alerts@google.com</owner>
<summary>
Tracks how the different wallet addresses are converted to local autofill
profiles.
</summary>
</histogram>
<histogram name="Autofill.WebOTP.OneTimeCode.FromAutocomplete" units="Boolean"
expires_after="2021-11-07">
<owner>yigu@chromium.org</owner>
<owner>battre@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records whether a frame has ever used autocomplete=&quot;one-time-code&quot;
during its lifecycle. i.e. it's only recorded once per frame. In addition,
we only record it if the frame has parsed forms.
</summary>
</histogram>
<histogram name="Autofill.WebOTP.PhoneNumberCollection.ParseResult"
units="Boolean" expires_after="2021-11-07">
<owner>yigu@chromium.org</owner>
<owner>battre@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records whether a frame collects phone number based on the field
classification. It records once per frame only if it has parsed forms.
Note that the field types may not be calculated if there are less than 3
fields in the form unless an autocomplete attribute is provided. e.g. if the
form has only a single field regarding phone number without specifiying
autocomplete=&quot;phone&quot;, a sample with &quot;false&quot; will be
reported.
</summary>
</histogram>
<histogram name="Autofill.WebOTP.PhonePlusWebOTPPlusOTC"
enum="PhoneCollectionState" expires_after="2021-11-07">
<owner>yigu@chromium.org</owner>
<owner>madjivp@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records whether a document collected phone number, and/or used WebOTP,
and/or used OneTimeCode (OTC) during its lifecycle. i.e. it's recorded in
the browser process when a document is destroyed.
</summary>
</histogram>
<histogram name="Autofill.WebView.AutofillSession" enum="AutofillSessionStates"
expires_after="2022-06-08">
<owner>michaelbai@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>Records the state of an autofill session.</summary>
</histogram>
<histogram name="Autofill.WebView.AwGIsCurrentService" enum="BooleanYesNo"
expires_after="2022-06-08">
<owner>michaelbai@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>
Records whether Autofill with Google is the current Android autofill
service. It is recorded on AutofillProvider initialization. Only recorded in
Android P and beyond.
</summary>
</histogram>
<histogram name="Autofill.WebView.CreatedByActivityContext"
enum="BooleanEnabled" expires_after="2022-06-08">
<owner>michaelbai@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>Whether the autofill is created by activity context.</summary>
</histogram>
<histogram name="Autofill.WebView.Enabled" enum="BooleanEnabled"
expires_after="2022-06-08">
<owner>michaelbai@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>
Whether the autofill service is enabled in Android platform.
</summary>
</histogram>
<histogram name="Autofill.WebView.ServerPrediction.AwGSuggestionAvailability"
enum="AutofillAwGSuggestionAvailability" expires_after="2022-06-08">
<owner>michaelbai@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>
Records whether Autofill with Google has suggestions and if the user selects
any suggestion. It is recorded when the form is submitted. Only recorded in
Android P and beyond.
</summary>
</histogram>
<histogram name="Autofill.WebView.ServerPredicton.HasValidServerPrediction"
enum="BooleanYesNo" expires_after="2022-06-08">
<owner>michaelbai@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>
Records whether the server prediction of any field isn't NO_SERVER_DATA.
This histogram is recorded when the server prediction is available for the
current form, and only if AndroidAutofillQueryServerFieldTypes feature is
enabled.
</summary>
</histogram>
<histogram name="Autofill.WebView.ServerPredicton.PredictionAvailability"
enum="AutofillServerPredictionAvailability" expires_after="2022-06-08">
<owner>michaelbai@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>
Records whether and when the server prediction response of current autofill
session is available even if query failed or there is no server data. This
histogram is recorded when the prediction becomes available or the new
session starts, and only if AndroidAutofillQueryServerFieldTypes feature is
enabled.
</summary>
</histogram>
<histogram name="Autofill.WebView.SubmissionSource"
enum="AutofillSubmissionSource" expires_after="2022-06-08">
<owner>michaelbai@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>Records the source of form submission.</summary>
</histogram>
<histogram name="Autofill.WebView.SuggestionTime" units="ms"
expires_after="2022-06-08">
<owner>michaelbai@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>The time taken to display suggestion.</summary>
</histogram>
<histogram name="Autofill.WebView.UserChangedAutofilledField"
enum="BooleanEnabled" expires_after="2022-06-08">
<owner>michaelbai@chromium.org</owner>
<owner>src/android_webview/OWNERS</owner>
<summary>Whether the user changed autofilled field.</summary>
</histogram>
</histograms>
</histogram-configuration>