| <!-- |
| Copyright 2020 The Chromium Authors |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <!-- |
| This file is used to generate a comprehensive list of 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 follow the instructions in the OWNERS file in this directory to find a |
| reviewer. If no OWNERS file exists, please consider signing up at |
| go/reviewing-metrics (Googlers only), as all subdirectories are expected to |
| have an OWNERS file. As a last resort you can send the CL to |
| chromium-metrics-reviews@google.com. |
| --> |
| |
| <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.Actor.FillingComposition"> |
| <variant name="Any" |
| summary="Emitted regardless of the accepted suggestion type."/> |
| <variant name="WithoutPaymentInformation" |
| summary="Emmitted only if none of the accepted suggestions contains |
| payment information."/> |
| <variant name="WithPaymentInformation" |
| summary="Emitted only if at least one of the accepted suggestions |
| contains payment information."/> |
| </variants> |
| |
| <!-- LINT.IfChange(Autofill.Ai.EntityRecordType) --> |
| |
| <variants name="Autofill.Ai.EntityRecordType"> |
| <variant name=".AccessibilityAnnotator" |
| summary="Emitted for Accessibility Annotator entities only."/> |
| <variant name=".Local" summary="Emitted for local entities only."/> |
| <variant name=".ServerWallet" |
| summary="Emitted for Wallet server entities only."/> |
| </variants> |
| |
| <!-- LINT.ThenChange(//components/autofill/core/browser/integrators/autofill_ai/metrics/autofill_ai_metrics.cc:EntityRecordTypeToMetricsString) --> |
| |
| <!-- LINT.IfChange(Autofill.Ai.EntityType) --> |
| |
| <variants name="Autofill.Ai.EntityType"> |
| <variant name=".DriversLicense" |
| summary="Emitted for driver's license forms or entities only."/> |
| <variant name=".FlightReservation" |
| summary="Emitted for flight reservation forms or entities only."/> |
| <variant name=".KnownTravelerNumber" |
| summary="Emitted for Known Traveler Number forms or entities only."/> |
| <variant name=".NationalIdCard" |
| summary="Emitted for national id card forms or entities only."/> |
| <variant name=".Order" summary="Emitted for order forms or entities only."/> |
| <variant name=".Passport" |
| summary="Emitted for passport forms or entities only."/> |
| <variant name=".RedressNumber" |
| summary="Emitted for redress number forms or entities only."/> |
| <variant name=".Shipment" |
| summary="Emitted for shipment forms or entities only."/> |
| <variant name=".Vehicle" |
| summary="Emitted for vehicle information forms or entities only."/> |
| </variants> |
| |
| <!-- LINT.ThenChange(//components/autofill/core/browser/integrators/autofill_ai/metrics/autofill_ai_metrics.cc:EntityTypeToMetricsString) --> |
| |
| <!-- LINT.IfChange(Autofill.Ai.PromptTypes) --> |
| |
| <variants name="Autofill.Ai.PromptTypes"> |
| <variant name="MigratePrompt" |
| summary="The prompt is asking users to migrate an existing local |
| entity."/> |
| <variant name="SavePrompt" |
| summary="The prompt is asking users to save a new entity."/> |
| <variant name="UpdatePrompt" |
| summary="The prompt is asking users to update an existing entity."/> |
| </variants> |
| |
| <!-- LINT.ThenChange(//components/autofill/core/browser/integrators/autofill_ai/metrics/autofill_ai_metrics.cc:EntityPromptTypeToMetricsString) --> |
| |
| <variants name="Autofill.BetterAuthFlowType"> |
| <variant name="Cvc" summary="CVC authentication only"/> |
| <variant name="CvcFallbackFromFido" |
| summary="CVC fallback from FIDO authentication"/> |
| <variant name="CvcThenFido" summary="CVC followed by FIDO authentication"/> |
| <variant name="Fido" summary="FIDO authentication only"/> |
| <variant name="Otp" summary="OTP auth only"/> |
| <variant name="OtpFallbackFromFido" |
| summary="OTP fallback from FIDO authentication"/> |
| <variant name="ThreeDomainSecure" |
| summary="3DS (Three Domain Secure) authentication only"/> |
| </variants> |
| |
| <variants name="Autofill.BnplIssuer"> |
| <variant name="Affirm" summary="Buy-now-pay-later issued by Affirm"/> |
| <variant name="Afterpay" summary="Buy-now-pay-later issued by Afterpay"/> |
| <variant name="Klarna" summary="Buy-now-pay-later issued by Klarna"/> |
| <variant name="Zip" summary="Buy-now-pay-later issued by Zip"/> |
| </variants> |
| |
| <variants name="Autofill.CardMetadataVisible"> |
| <variant name="ArtImageShown" summary="Only art image was visible"/> |
| <variant name="MetadataNotShown" summary="No metadata was visible"/> |
| <variant name="ProductDescriptionAndArtImageShown" |
| summary="Both product description and art image were visible"/> |
| <variant name="ProductDescriptionShown" |
| summary="Only product description was visible"/> |
| </variants> |
| |
| <variants name="Autofill.CreditCardBenefitSource"> |
| <variant name="Amex" summary="American Express"/> |
| <variant name="Bmo" summary="BMO"/> |
| <variant name="Curinos" summary="Curinos"/> |
| </variants> |
| |
| <variants name="Autofill.CreditCardIssuerId"> |
| <variant name="Amex" summary="card issued by American Express"/> |
| <variant name="Anz" summary="card issued by ANZ"/> |
| <variant name="Bmo" summary="card issued by BMO"/> |
| <variant name="CapitalOne" summary="card issued by Capital One"/> |
| <variant name="Chase" summary="card issued by JP Morgan Chase"/> |
| <variant name="Citi" summary="card issued by Citibank"/> |
| <variant name="Discover" summary="card issued by Discover"/> |
| <variant name="Lloyds" summary="card issued by American Express"/> |
| <variant name="Marqeta" summary="card issued by Marqeta"/> |
| <variant name="Nab" summary="card issued by National Australia Bank"/> |
| <variant name="Natwest" summary="card issued by Natwest"/> |
| </variants> |
| |
| <variants name="Autofill.CreditCardNetwork"> |
| <variant name="Mastercard" summary="card with the Mastercard network."/> |
| <variant name="Visa" summary="card with the Visa network."/> |
| </variants> |
| |
| <variants name="Autofill.DialogError"> |
| <variant name="WithNoTemporaryError" |
| summary="No temporary error has been shown in the dialog"/> |
| <variant name="WithPreviousTemporaryError" |
| summary="A temporary error has been shown in the dialog"/> |
| </variants> |
| |
| <variants name="Autofill.FeaturePreviousStrikes"> |
| <variant name="" summary="previous strikes are not considered"/> |
| <variant name=".WithNoPreviousStrike" |
| summary="no strike has been logged under the key used for the feature"/> |
| <variant name=".WithPreviousStrikes" |
| summary="at least one strike has been logged under the key for the |
| feature"/> |
| </variants> |
| |
| <!-- LINT.IfChange(Autofill.FillingProduct) --> |
| |
| <variants name="Autofill.FillingProduct"> |
| <variant name="Address" |
| summary="User chose to fill a form or field with an address profile."/> |
| <variant name="AtMemory" |
| summary="User chose to fill a field with @memory search pop-up."/> |
| <variant name="Autocomplete" |
| summary="User chose to fill a field with autocomplete."/> |
| <variant name="AutofillAi" |
| summary="User chose to fill a field with Autofill AI."/> |
| <variant name="Compose" |
| summary="User chose to fill a field with a compose suggestion."/> |
| <variant name="CreditCard" |
| summary="User chose to fill a form or field with a credit card profile."/> |
| <variant name="DataList" |
| summary="User chose to fill a field with a datalist suggestion."/> |
| <variant name="Iban" summary="User chose to fill a field with an iban."/> |
| <variant name="IdentityCredential" |
| summary="User chose to fill a field with an identity credential."/> |
| <variant name="LoyaltyCard" |
| summary="User chose to fill a field with a loyalty card."/> |
| <variant name="MerchantPromoCode" |
| summary="User chose to fill a field with a merchant promo code."/> |
| <variant name="None" summary="No filling product matches."/> |
| <variant name="OneTimePassword" |
| summary="User chose to fill a field with a one time password |
| suggestion."/> |
| <variant name="Passkey" |
| summary="User chose to not fill a form but continue with a passkey."/> |
| <variant name="Password" |
| summary="User chose to fill a form or field with password credentials."/> |
| </variants> |
| |
| <!-- LINT.ThenChange(/components/autofill/core/browser/filling/filling_product.cc:FillingProductToString) --> |
| |
| <variants name="Autofill.FormEventWithMetadata"> |
| <variant name="FilledWithMetadata" summary="A card with metadata was filled"/> |
| <variant name="FilledWithMetadataOnce" |
| summary="A card with metadata was filled, logged once per page load"/> |
| <variant name="SelectedWithMetadata" |
| summary="A card with metadata was selected"/> |
| <variant name="SelectedWithMetadataOnce" |
| summary="A card with metadata was selected, logged once per page load"/> |
| <variant name="ShownWithMetadata" summary="A card with metadata was shown"/> |
| <variant name="ShownWithMetadataOnce" |
| summary="A card with metadata was shown, logged once per page load"/> |
| <variant name="SubmittedWithMetadataOnce" |
| summary="A form was submitted after a card with metadata was filled. |
| This event can only be triggered once per page load"/> |
| <variant name="WillSubmitWithMetadataOnce" |
| summary="A form was about to be submitted after a card with metadata |
| was filled. This event can only be triggered once per page |
| load"/> |
| </variants> |
| |
| <variants name="Autofill.MandatoryReauth.AuthenticationMethod"> |
| <variant name="Biometric" summary="biometric auth"/> |
| <variant name="ScreenLock" summary="screen lock"/> |
| <variant name="UnknownMethod" summary="an unknown auth type"/> |
| <variant name="UnsupportedMethod" summary="an unsupported auth type"/> |
| </variants> |
| |
| <variants name="Autofill.MandatoryReauth.ChangingStatus"> |
| <variant name="OptIn" summary="Feature is trying to be opted in"/> |
| <variant name="OptOut" summary="Feature is trying to be opted out"/> |
| </variants> |
| |
| <variants name="Autofill.MandatoryReauth.Source"> |
| <variant name="CheckoutFullServerCard" |
| summary="Feature is trying to be updated from full server card checkout"/> |
| <variant name="CheckoutLocalCard" |
| summary="Feature is trying to be updated from local card checkout"/> |
| <variant name="CheckoutLocalIban" |
| summary="Feature is trying to be updated from local IBAN checkout"/> |
| <variant name="CheckoutMaskedServerCard" |
| summary="Feature is trying to be updated from masked server card |
| checkout"/> |
| <variant name="CheckoutServerIban" |
| summary="Feature is trying to be updated from server IBAN checkout"/> |
| <variant name="CheckoutVirtualCard" |
| summary="Feature is trying to be updated from virtual card checkout"/> |
| <variant name="SettingsPage" |
| summary="Feature is trying to be updated from the Settings page"/> |
| <variant name="Unknown" |
| summary="Feature is trying to be updated from an unknown source"/> |
| </variants> |
| |
| <variants name="Autofill.NonInteractivePaymentMethodType"> |
| <variant name="LocalCard" summary="local card"/> |
| <variant name="LocalIban" summary="local IBAN"/> |
| <variant name="ServerCard" summary="server card"/> |
| <variant name="ServerIban" summary="server IBAN"/> |
| <variant name="UnknownCard" summary="unknown card type"/> |
| <variant name="VirtualCard" summary="virtual card"/> |
| </variants> |
| |
| <variants name="Autofill.OtpAuth.Type"> |
| <variant name="EmailOtp" summary="The OTP authentication with an email."/> |
| <variant name="SmsOtp" summary="The OTP authentication with a SMS OTP."/> |
| </variants> |
| |
| <variants name="Autofill.PaymentsRequestType"> |
| <variant name="UpdateVirtualCardEnrollment_Enroll" summary="VCN enrollment"/> |
| <variant name="UploadCardRequest" summary="credit card upload"/> |
| </variants> |
| |
| <!-- TODO(crbug.com/40926801): Rename PaymentsRpcCardType since we add LocalCard here. --> |
| |
| <variants name="Autofill.PaymentsRpcCardType"> |
| <variant name="LocalCard" summary="local card"/> |
| <variant name="ServerCard" summary="server card"/> |
| <variant name="UnknownCard" summary="unknown card type"/> |
| <variant name="VirtualCard" summary="virtual card"/> |
| </variants> |
| |
| <variants name="Autofill.PaymentsRpcResult"> |
| <variant name="ClientSideTimeout" |
| summary="Request took longer time to finish than the set client-side |
| timeout. The request may still have completed on the server |
| side."/> |
| <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> |
| |
| <variants name="Autofill.PaymentsSigninState"> |
| <variant name="SignedIn" summary="The user is signed in to Chromium"/> |
| <variant name="SignedInAndSyncFeatureEnabled" |
| summary="The user is signed in, has enabled the sync feature and has |
| not disabled Wallet sync"/> |
| <variant name="SignedInAndWalletSyncTransportEnabled" |
| summary="The user is signed in to Chromium and sync transport is active |
| for Wallet data"/> |
| <variant name="SignedOut" summary="The user is not signed in to Chromium"/> |
| <variant name="SyncPaused" |
| summary="The user has enabled the sync feature, but has then signed |
| out, so sync is paused"/> |
| <variant name="Unknown" summary="Unknown state"/> |
| </variants> |
| |
| <variants name="Autofill.ProgressDialog.FlowType"> |
| <variant name="3dsFetchVirtualCard" |
| summary="Progress dialog after the VCN 3DS pop-up has closed"/> |
| <variant name="CardInfoRetrievalEnrolledUnmask" |
| summary="Progress dialog for for cards enrolled in CardInfoRetrieval |
| unmask flow"/> |
| <variant name="ServerCardUnmask" |
| summary="Progress dialog for the credit card risk-based unmask flow"/> |
| <variant name="ServerIbanUnmask" |
| summary="Progress dialog for the server IBAN unmask flow"/> |
| <variant name="VirtualCardUnmask" |
| summary="Progress dialog for the VCN Card Unmask Flow"/> |
| </variants> |
| |
| <variants name="Autofill.RequestResult"> |
| <variant name="" |
| summary="there is no result specified and it is logged as an aggregated |
| histogram"/> |
| <variant name=".Failure" summary="the request failed"/> |
| <variant name=".Success" |
| summary="the request succeeded and returned valid response"/> |
| </variants> |
| |
| <variants name="Autofill.ServerCardUnmaskFlowType"> |
| <variant name="DeviceUnlock" summary="Device unlock authentication"/> |
| <variant name="Fido" summary="FIDO authentication only"/> |
| <variant name="Otp" summary="OTP auth only"/> |
| <variant name="OtpFallbackFromFido" |
| summary="OTP fallback from FIDO authentication"/> |
| <variant name="RiskBased" summary="Risk-based authentication"/> |
| <variant name="ThreeDomainSecure" |
| summary="3DS (Three Domain Secure) authentication"/> |
| <variant name="UnspecifiedFlowType" summary="No authentication specified"/> |
| </variants> |
| |
| <variants name="Autofill.SettingsPage.VirtualCardDialogType"> |
| <variant name="SettingsPageEnrollment" |
| summary="the virtual card enrollment dialog"/> |
| <variant name="SettingsPageUnenrollment" |
| summary="the virtual card unenrollment dialog"/> |
| </variants> |
| |
| <variants name="Autofill.Snackbar.Type"> |
| <variant name="BnplVirtualCard" |
| summary="Snackbar shown after BNPL virtual card is autofilled."/> |
| <variant name="MandatoryReauth" |
| summary="Snackbar shown after opting into mandatory reauth."/> |
| <variant name="SaveCardSuccess" |
| summary="Snackbar shown after card has been successfully saved."/> |
| <variant name="SaveServerIbanSuccess" |
| summary="Snackbar shown after a server IBAN has been successfully |
| saved."/> |
| <variant name="VirtualCard" |
| summary="Snackbar shown after virtual card is autofilled."/> |
| <variant name="VirtualCardEnrollSuccess" |
| summary="Snackbar shown after virtual card has been successfully |
| enrolled."/> |
| </variants> |
| |
| <variants name="Autofill.TimingPrecise.Callee"> |
| <variant name="ExtractFormData"/> |
| <variant name="UpdateFormCache"/> |
| </variants> |
| |
| <variants name="Autofill.TimingPrecise.Caller"> |
| <variant name="ApplyFieldsAction"/> |
| <variant name="BatchSelectOptionChange"/> |
| <variant name="DidChangeScrollOffsetImpl"/> |
| <variant name="DidDispatchDomContentLoadedEvent"/> |
| <variant name="EmitFormIssuesToDevtools"/> |
| <variant name="ExtractForm"/> |
| <variant name="ExtractForms"/> |
| <variant name="ExtractFormsAndNotifyPasswordAutofillAgent"/> |
| <variant name="FocusedElementChanged"/> |
| <variant name="GetFormDataFromUnownedInputElements"/> |
| <variant name="GetFormDataFromWebForm"/> |
| <variant name="GetSubmittedForm"/> |
| <variant name="HandleCaretMovedInFormField"/> |
| <variant name="JavaScriptChangedValue"/> |
| <variant name="NotifyPasswordManagerAboutClearedForm"/> |
| <variant name="OnDevToolsSessionConnectionChanged"/> |
| <variant name="OnProvisionallySaveForm"/> |
| <variant name="OnTextFieldValueChanged"/> |
| <variant name="QueryAutofillSuggestions"/> |
| <variant name="ShowSuggestionPopup"/> |
| <variant name="UpdateFormCache"/> |
| <variant name="UpdateLastInteractedElement"/> |
| </variants> |
| |
| <variants name="Autofill.VirtualCard.RequestSource"> |
| <variant name="Downstream" |
| summary="The enrollment change happens after an Autofill Downstream |
| retrieving the actual card information"/> |
| <variant name="SettingsPage" |
| summary="The enrollment change comes from the Chrome payments settings |
| page"/> |
| <variant name="Unknown" summary="Unknown source, should not be used"/> |
| <variant name="Upstream" |
| summary="The enrollment change happens after an Autofill Upstream |
| saving the actual card to Google Payments"/> |
| </variants> |
| |
| <variants name="Autofill.VirtualCardEnrollmentLinkType"> |
| <variant name="GoogleLegalMessageLink" |
| summary="The user selected the Google Payments terms of service link."/> |
| <variant name="IssuerLegalMessageLink" |
| summary="The user selected the Issuer's terms of service link."/> |
| <variant name="LearnMoreLink" |
| summary="The user selected the learn more about virtual cards link."/> |
| </variants> |
| |
| <variants name="Autofill.VirtualCardEnrollmentSource"> |
| <variant name="Downstream" summary="credit card unmasking enrollment flow"/> |
| <variant name="SettingsPage" summary="settings page enrollment flow"/> |
| <variant name="Unknown" summary="uncategorized enrollment source"/> |
| <variant name="Upstream" summary="credit card uploading enrollment flow"/> |
| </variants> |
| |
| <variants name="AutofillCreditCardSaveType"> |
| <variant name="" summary="aggregated across all situations"/> |
| <variant name=".RequestingCardholderName" |
| summary="explicitly requesting cardholder name"/> |
| <variant name=".RequestingExpirationDate" |
| summary="explicitly requesting expiration date"/> |
| <variant name=".SavingWithCvc" |
| summary="saved security code at the same time"/> |
| </variants> |
| |
| <variants name="AutofillCreditCardType"> |
| <variant name=".Local" summary="Local"/> |
| <variant name=".Server" summary="Server (Google Payments)"/> |
| </variants> |
| |
| <variants name="AutofillFidoAuthenticationEnabledState"> |
| <variant name="OptedIn" summary="FIDO authentication enabled"/> |
| <variant name="OptedOut" summary="FIDO authentication disabled"/> |
| </variants> |
| |
| <variants name="AutofillFieldPredictionSource"> |
| <variant name=".Heuristic" |
| summary="Field type predictions using local heuristics."/> |
| <variant name=".Overall" |
| summary="Field type prediction as seen by the user after combining the |
| heuristic and crowd sourced predictions."/> |
| <variant name=".Server" |
| summary="Field types based on crowd-sourced prediction fetched from the |
| Autofill Server"/> |
| </variants> |
| |
| <variants name="AutofillFieldPredictionSubmissionEvent"> |
| <variant name=""/> |
| <variant name=".BasedOnAutocomplete" |
| summary="Quality metrics based on autocomplete attributes."/> |
| <variant name=".NoSubmission" summary="No observed submission."/> |
| </variants> |
| |
| <!-- Generated from components/autofill/core/browser/field_types.h. |
| Called by update_autofill_enums.py. This is a manual comment.--> |
| |
| <variants name="AutofillFieldType"> |
| <variant name="ACCOUNT_CREATION_PASSWORD"/> |
| <variant name="ADDRESS_HOME_ADDRESS"/> |
| <variant name="ADDRESS_HOME_ADDRESS_WITH_NAME"/> |
| <variant name="ADDRESS_HOME_ADMIN_LEVEL2"/> |
| <variant name="ADDRESS_HOME_APT"/> |
| <variant name="ADDRESS_HOME_APT_NUM"/> |
| <variant name="ADDRESS_HOME_APT_TYPE"/> |
| <variant name="ADDRESS_HOME_BETWEEN_STREETS"/> |
| <variant name="ADDRESS_HOME_BETWEEN_STREETS_1"/> |
| <variant name="ADDRESS_HOME_BETWEEN_STREETS_2"/> |
| <variant name="ADDRESS_HOME_BETWEEN_STREETS_OR_LANDMARK"/> |
| <variant name="ADDRESS_HOME_CITY"/> |
| <variant name="ADDRESS_HOME_COUNTRY"/> |
| <variant name="ADDRESS_HOME_DEPENDENT_LOCALITY"/> |
| <variant name="ADDRESS_HOME_DEPENDENT_LOCALITY_AND_LANDMARK"/> |
| <variant name="ADDRESS_HOME_FLOOR"/> |
| <variant name="ADDRESS_HOME_HOUSE_NUMBER"/> |
| <variant name="ADDRESS_HOME_HOUSE_NUMBER_AND_APT"/> |
| <variant name="ADDRESS_HOME_LANDMARK"/> |
| <variant name="ADDRESS_HOME_LINE1"/> |
| <variant name="ADDRESS_HOME_LINE2"/> |
| <variant name="ADDRESS_HOME_LINE3"/> |
| <variant name="ADDRESS_HOME_OTHER_SUBUNIT"/> |
| <variant name="ADDRESS_HOME_OVERFLOW"/> |
| <variant name="ADDRESS_HOME_OVERFLOW_AND_LANDMARK"/> |
| <variant name="ADDRESS_HOME_SORTING_CODE"/> |
| <variant name="ADDRESS_HOME_STATE"/> |
| <variant name="ADDRESS_HOME_STREET_ADDRESS"/> |
| <variant name="ADDRESS_HOME_STREET_LOCATION"/> |
| <variant name="ADDRESS_HOME_STREET_LOCATION_AND_LANDMARK"/> |
| <variant name="ADDRESS_HOME_STREET_LOCATION_AND_LOCALITY"/> |
| <variant name="ADDRESS_HOME_STREET_NAME"/> |
| <variant name="ADDRESS_HOME_SUBPREMISE"/> |
| <variant name="ADDRESS_HOME_ZIP"/> |
| <variant name="ADDRESS_HOME_ZIP_AND_CITY"/> |
| <variant name="ADDRESS_HOME_ZIP_PREFIX"/> |
| <variant name="ADDRESS_HOME_ZIP_SUFFIX"/> |
| <variant name="ALTERNATIVE_FAMILY_NAME"/> |
| <variant name="ALTERNATIVE_FULL_NAME"/> |
| <variant name="ALTERNATIVE_GIVEN_NAME"/> |
| <variant name="AMBIGUOUS_TYPE"/> |
| <variant name="COMPANY_NAME"/> |
| <variant name="CONFIRMATION_PASSWORD"/> |
| <variant name="CREDIT_CARD_EXP_2_DIGIT_YEAR"/> |
| <variant name="CREDIT_CARD_EXP_4_DIGIT_YEAR"/> |
| <variant name="CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR"/> |
| <variant name="CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR"/> |
| <variant name="CREDIT_CARD_EXP_MONTH"/> |
| <variant name="CREDIT_CARD_NAME_FIRST"/> |
| <variant name="CREDIT_CARD_NAME_FULL"/> |
| <variant name="CREDIT_CARD_NAME_LAST"/> |
| <variant name="CREDIT_CARD_NUMBER"/> |
| <variant name="CREDIT_CARD_STANDALONE_VERIFICATION_CODE"/> |
| <variant name="CREDIT_CARD_TYPE"/> |
| <variant name="CREDIT_CARD_VERIFICATION_CODE"/> |
| <variant name="DELIVERY_INSTRUCTIONS"/> |
| <variant name="DRIVERS_LICENSE_EXPIRATION_DATE"/> |
| <variant name="DRIVERS_LICENSE_ISSUE_DATE"/> |
| <variant name="DRIVERS_LICENSE_NUMBER"/> |
| <variant name="DRIVERS_LICENSE_REGION"/> |
| <variant name="EMAIL_ADDRESS"/> |
| <variant name="EMAIL_OR_LOYALTY_MEMBERSHIP_ID"/> |
| <variant name="EMPTY_TYPE"/> |
| <variant name="FLIGHT_RESERVATION_CONFIRMATION_CODE"/> |
| <variant name="FLIGHT_RESERVATION_DEPARTURE_DATE"/> |
| <variant name="FLIGHT_RESERVATION_FLIGHT_NUMBER"/> |
| <variant name="FLIGHT_RESERVATION_TICKET_NUMBER"/> |
| <variant name="IBAN_VALUE"/> |
| <variant name="KNOWN_TRAVELER_NUMBER"/> |
| <variant name="KNOWN_TRAVELER_NUMBER_EXPIRATION_DATE"/> |
| <variant name="LOYALTY_MEMBERSHIP_ID"/> |
| <variant name="LOYALTY_MEMBERSHIP_PROGRAM"/> |
| <variant name="LOYALTY_MEMBERSHIP_PROVIDER"/> |
| <variant name="MERCHANT_EMAIL_SIGNUP"/> |
| <variant name="MERCHANT_PROMO_CODE"/> |
| <variant name="NAME_FIRST"/> |
| <variant name="NAME_FULL"/> |
| <variant name="NAME_HONORIFIC_PREFIX"/> |
| <variant name="NAME_LAST"/> |
| <variant name="NAME_LAST_CONJUNCTION"/> |
| <variant name="NAME_LAST_FIRST"/> |
| <variant name="NAME_LAST_SECOND"/> |
| <variant name="NAME_MIDDLE"/> |
| <variant name="NAME_MIDDLE_INITIAL"/> |
| <variant name="NAME_SUFFIX"/> |
| <variant name="NATIONAL_ID_CARD_EXPIRATION_DATE"/> |
| <variant name="NATIONAL_ID_CARD_ISSUE_DATE"/> |
| <variant name="NATIONAL_ID_CARD_ISSUING_COUNTRY"/> |
| <variant name="NATIONAL_ID_CARD_NUMBER"/> |
| <variant name="NEW_PASSWORD"/> |
| <variant name="NO_SERVER_DATA"/> |
| <variant name="NOT_ACCOUNT_CREATION_PASSWORD"/> |
| <variant name="NOT_NEW_PASSWORD"/> |
| <variant name="NOT_PASSWORD"/> |
| <variant name="NOT_USERNAME"/> |
| <variant name="NUMERIC_QUANTITY"/> |
| <variant name="ONE_TIME_CODE"/> |
| <variant name="ORDER_DATE"/> |
| <variant name="ORDER_ID"/> |
| <variant name="ORDER_MERCHANT_NAME"/> |
| <variant name="PASSPORT_EXPIRATION_DATE"/> |
| <variant name="PASSPORT_ISSUE_DATE"/> |
| <variant name="PASSPORT_ISSUING_COUNTRY"/> |
| <variant name="PASSPORT_NUMBER"/> |
| <variant name="PASSWORD"/> |
| <variant name="PHONE_HOME_CITY_AND_NUMBER"/> |
| <variant name="PHONE_HOME_CITY_AND_NUMBER_WITHOUT_TRUNK_PREFIX"/> |
| <variant name="PHONE_HOME_CITY_CODE"/> |
| <variant name="PHONE_HOME_CITY_CODE_WITH_TRUNK_PREFIX"/> |
| <variant name="PHONE_HOME_COUNTRY_CODE"/> |
| <variant name="PHONE_HOME_EXTENSION"/> |
| <variant name="PHONE_HOME_NUMBER"/> |
| <variant name="PHONE_HOME_NUMBER_PREFIX"/> |
| <variant name="PHONE_HOME_NUMBER_SUFFIX"/> |
| <variant name="PHONE_HOME_WHOLE_NUMBER"/> |
| <variant name="PRICE"/> |
| <variant name="PROBABLY_NEW_PASSWORD"/> |
| <variant name="REDRESS_NUMBER"/> |
| <variant name="SEARCH_TERM"/> |
| <variant name="SHIPMENT_TRACKING_NUMBER"/> |
| <variant name="SINGLE_USERNAME"/> |
| <variant name="SINGLE_USERNAME_FORGOT_PASSWORD"/> |
| <variant name="SINGLE_USERNAME_WITH_INTERMEDIATE_VALUES"/> |
| <variant name="UNKNOWN_TYPE"/> |
| <variant name="USERNAME"/> |
| <variant name="USERNAME_AND_EMAIL_ADDRESS"/> |
| <variant name="VEHICLE_LICENSE_PLATE"/> |
| <variant name="VEHICLE_MAKE"/> |
| <variant name="VEHICLE_MODEL"/> |
| <variant name="VEHICLE_PLATE_STATE"/> |
| <variant name="VEHICLE_VIN"/> |
| <variant name="VEHICLE_YEAR"/> |
| </variants> |
| |
| <variants name="AutofillFormType"> |
| <variant name=".Address" summary="Address form"/> |
| <variant name=".CreditCard" summary="Credit card form"/> |
| <variant name=".Password" summary="Password form"/> |
| <variant name=".StandaloneCvc" |
| summary="Standalone CVC form for a card saved on file"/> |
| <variant name=".Unknown" summary="Unknown form type"/> |
| </variants> |
| |
| <!-- Subset of variants "AutofillFormType.Fillable". Keep in sync. --> |
| |
| <variants name="AutofillFormType.Address"> |
| <variant name="Address" summary="Address form"/> |
| <variant name="EmailOnly" summary="Email-only form"/> |
| <variant name="PostalAddress" summary="Postal address form"/> |
| </variants> |
| |
| <variants name="AutofillFormType.CreditCard"> |
| <variant name="CreditCard" summary="Credit card form"/> |
| <variant name="StandaloneCvc" |
| summary="Standalone CVC form for a card saved on file"/> |
| </variants> |
| |
| <!-- Superset of variants "AutofillFormType.Address/CreditCard". Keep in sync. --> |
| |
| <variants name="AutofillFormType.Fillable"> |
| <variant name="Address" summary="Address form"/> |
| <variant name="CreditCard" summary="Credit card form"/> |
| <variant name="EmailOnly" summary="Email-only form"/> |
| <variant name="LoyaltyCard" summary="Loyalty card form"/> |
| <variant name="OneTimePassword" |
| summary="A form containing a one time password"/> |
| <variant name="PostalAddress" summary="Postal address form"/> |
| <variant name="StandaloneCvc" |
| summary="Standalone CVC form for a card saved on file"/> |
| </variants> |
| |
| <variants name="AutofillImage"> |
| <variant name="CreditCardArt" summary="credit card art image"/> |
| <variant name="PixAccountImage" summary="Pix account image"/> |
| <variant name="ValuableImage" summary="Google Wallet valuable image"/> |
| </variants> |
| |
| <variants name="AutofillPopupInteractionLevel"> |
| <variant name="0" |
| summary="a root popup suggestion(s) was either shown or interacted with |
| by the user (selected or accepted)"/> |
| <variant name="1" |
| summary="a second level popup suggestion(s) was either shown or |
| interacted with by the user (selected or accepted)"/> |
| <variant name="2" |
| summary="a third level popup suggestion(s) was either shown or |
| interacted with by the user (selected or accepted)"/> |
| </variants> |
| |
| <variants name="AutofillProfile.StorableTypes"> |
| <variant name="ADDRESS_HOME_ADMIN_LEVEL2"/> |
| <variant name="ADDRESS_HOME_APT"/> |
| <variant name="ADDRESS_HOME_APT_NUM"/> |
| <variant name="ADDRESS_HOME_APT_TYPE"/> |
| <variant name="ADDRESS_HOME_BETWEEN_STREETS"/> |
| <variant name="ADDRESS_HOME_BETWEEN_STREETS_1"/> |
| <variant name="ADDRESS_HOME_BETWEEN_STREETS_2"/> |
| <variant name="ADDRESS_HOME_BETWEEN_STREETS_OR_LANDMARK"/> |
| <variant name="ADDRESS_HOME_CITY"/> |
| <variant name="ADDRESS_HOME_COUNTRY"/> |
| <variant name="ADDRESS_HOME_DEPENDENT_LOCALITY"/> |
| <variant name="ADDRESS_HOME_FLOOR"/> |
| <variant name="ADDRESS_HOME_HOUSE_NUMBER"/> |
| <variant name="ADDRESS_HOME_LANDMARK"/> |
| <variant name="ADDRESS_HOME_OTHER_SUBUNIT"/> |
| <variant name="ADDRESS_HOME_OVERFLOW"/> |
| <variant name="ADDRESS_HOME_OVERFLOW_AND_LANDMARK"/> |
| <variant name="ADDRESS_HOME_SORTING_CODE"/> |
| <variant name="ADDRESS_HOME_STATE"/> |
| <variant name="ADDRESS_HOME_STREET_ADDRESS"/> |
| <variant name="ADDRESS_HOME_STREET_LOCATION"/> |
| <variant name="ADDRESS_HOME_STREET_NAME"/> |
| <variant name="ADDRESS_HOME_SUBPREMISE"/> |
| <variant name="ADDRESS_HOME_ZIP"/> |
| <variant name="ADDRESS_HOME_ZIP_PREFIX"/> |
| <variant name="ADDRESS_HOME_ZIP_SUFFIX"/> |
| <variant name="ALTERNATIVE_FAMILY_NAME"/> |
| <variant name="ALTERNATIVE_FULL_NAME"/> |
| <variant name="ALTERNATIVE_GIVEN_NAME"/> |
| <variant name="COMPANY_NAME"/> |
| <variant name="EMAIL_ADDRESS"/> |
| <variant name="NAME_FIRST"/> |
| <variant name="NAME_FULL"/> |
| <variant name="NAME_LAST"/> |
| <variant name="NAME_LAST_CONJUNCTION"/> |
| <variant name="NAME_LAST_FIRST"/> |
| <variant name="NAME_LAST_SECOND"/> |
| <variant name="NAME_MIDDLE"/> |
| <variant name="NAME_SUFFIX"/> |
| <variant name="PHONE_HOME_WHOLE_NUMBER"/> |
| </variants> |
| |
| <!-- LINT.IfChange(ProfileRecordTypeSuffix) --> |
| |
| <variants name="AutofillProfileRecordTypes"> |
| <variant name="Account" summary="Synced cross-device account profile"/> |
| <variant name="AccountHome" summary="Read-only home address from account"/> |
| <variant name="AccountNameEmail" |
| summary="Read-only profile using account name and email"/> |
| <variant name="AccountWork" summary="Read-only work address from account"/> |
| <variant name="LocalOrSyncable" summary="Local or legacy-synced profile"/> |
| </variants> |
| |
| <!-- LINT.ThenChange(/components/autofill/core/browser/metrics/autofill_metrics_utils.cc:ProfileRecordTypeSuffix) --> |
| |
| <variants name="AutofillSaveCardDestination"> |
| <variant name="Local" summary="local"/> |
| <variant name="Server" summary="server"/> |
| </variants> |
| |
| <variants name="AutofillSaveCardPromptOverlayTypeForIos"> |
| <variant name="Banner" summary="Infobar Banner"/> |
| <variant name="BottomSheet" summary="BottomSheet"/> |
| <variant name="Modal" summary="Infobar Modal"/> |
| </variants> |
| |
| <variants name="AutofillSaveCardSituation"> |
| <variant name="RequestingCardHolderName" |
| summary="explicitly requesting cardholder name"/> |
| <variant name="RequestingExpirationDate" |
| summary="explicitly requesting expiration date"/> |
| <variant name="SavingWithCvc" |
| summary="saving security code at the same time"/> |
| </variants> |
| |
| <variants name="AutofillSaveCardWithCvcSituation"> |
| <variant name="SavingWithCvc" summary="saved with CVC"/> |
| <variant name="SavingWithoutCvc" summary="not saved with CVC"/> |
| </variants> |
| |
| <!-- TODO(crbug.com/430588721): Replace use of AutofillSaveCreditCardPromptDestination with AutofillSaveCardDestination. --> |
| |
| <variants name="AutofillSaveCreditCardPromptDestination"> |
| <variant name="Local" summary="locally"/> |
| <variant name="Upload" summary="to server"/> |
| </variants> |
| |
| <variants name="AutofillSeamlessnessFillability"> |
| <variant name="Fillable" |
| summary="Recorded under the assumption of a complete profile (i.e., the |
| profile holds data for all present fields)."/> |
| <variant name="Fills" |
| summary="Recorded taking only the actually filled fields into account."/> |
| </variants> |
| |
| <variants name="AutofillSeamlessnessMeasurementTime"> |
| <variant name="AtFillTimeAfterSecurityPolicy" |
| summary="Recorded after applying restrictions due to the cross-frame |
| security policy."/> |
| <variant name="AtFillTimeBeforeSecurityPolicy" |
| summary="Recorded before applying restrictions due to the cross-frame |
| security policy."/> |
| <variant name="AtSubmissionTime" |
| summary="Recorded at submission time. May be missed due to submission |
| detection problems."/> |
| </variants> |
| |
| <variants name="AutofillSeamlessnessVisibility"> |
| <variant name="" |
| summary="Recorded for all detected fields, including those that may be |
| invisible to the user."/> |
| <variant name=".Visible" |
| summary="Recorded only for fields that are visible to the user as per |
| Autofill's visibility detection (IsWebElementVisible())."/> |
| </variants> |
| |
| <variants name="AutofillServerSaveCardSituation"> |
| <variant name="WithMultipleLegalLines" |
| summary="has a legal message with multiple lines"/> |
| <variant name="WithSameLastFourButDifferentExpiration" |
| summary="has the same last four digits as an existing server card but |
| different expiratation date"/> |
| </variants> |
| |
| <variants name="AutofillStrikeDatabaseProjectType"> |
| <variant name="CreditCardSave" summary="Credit card save"/> |
| <variant name="CvcStorage" summary="CVC save"/> |
| <variant name="FidoAuthentication" |
| summary="Fido authentication (Better Auth Project)"/> |
| <variant name="IBANSave" summary="IBAN save"/> |
| <variant name="SaveAndFill" summary="save and fill"/> |
| <variant name="VirtualCardEnrollment" summary="virtual card enrollment"/> |
| </variants> |
| |
| <variants name="CreditCardDataAvailability"> |
| <variant name="WithBothServerAndLocalData" |
| summary="both server and local autofill data"/> |
| <variant name="WithNoData" summary="no autofill data"/> |
| <variant name="WithOnlyLocalData" summary="only local autofill data"/> |
| <variant name="WithOnlyServerData" summary="only server autofill data"/> |
| </variants> |
| |
| <variants name="FirstShowOrReshow"> |
| <variant name="FirstShow" summary="first-show"/> |
| <variant name="Reshows" summary="re-show"/> |
| </variants> |
| |
| <variants name="IbanRecordType"> |
| <variant name="Local" summary="Local IBAN"/> |
| <variant name="Server" summary="Server IBAN"/> |
| </variants> |
| |
| <variants name="IbanTypeToBeSaved"> |
| <variant name="Local" summary="Local IBAN save"/> |
| <variant name="Upload" summary="Server IBAN save"/> |
| </variants> |
| |
| <variants name="StoredProfileCategories"> |
| <variant name="AccountChrome" |
| summary="kAccount profiles originating from Chrome"/> |
| <variant name="AccountHome" summary="kAccountHome profile"/> |
| <variant name="AccountNameEmail" summary="kAccountNameEmail profile"/> |
| <variant name="AccountNonChrome" |
| summary="kAccount profiles originating from outside Chrome"/> |
| <variant name="AccountWork" summary="kAccountWork profile"/> |
| <variant name="Legacy" summary="kLegacyOrSyncable profiles"/> |
| </variants> |
| |
| <variants name="Vcn3ds.ConsentAlreadyGiven"> |
| <variant name="ConsentAlreadyGiven" |
| summary="The consent for a pop-up was already given prior to the flow |
| starting"/> |
| <variant name="ConsentNotGivenYet" |
| summary="The consent for a pop-up was not given prior to the flow |
| starting and needs to be requested"/> |
| </variants> |
| |
| <histogram name="Autocomplete.DaysSinceLastUse" units="days" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged when users select Autocomplete entries in the dropdown, this |
| histogram captures the number of days that have passed since the selected |
| autocomplete entry was last submitted on a website. I.e., the distribution |
| of time between uses of an "active" autocomplete entry. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autocomplete.Events2" enum="AutocompleteEvents" |
| expires_after="M144"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| THIS METRIC IS DEPRECRATED BECAUSE THE SHOWN BUCKET IS INFLATED, USE |
| Autocomplete.Events3 INSTEAD. Autocomplete events which are recorded when |
| the user interacts with suggestions served from Autocomplete. The histogram |
| is recorded when an autocomplete suggestion is shown, selected or deleted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autocomplete.Events3" enum="AutocompleteEvents" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Autocomplete events which are recorded when the user interacts with |
| suggestions served from Autocomplete. The histogram is recorded when an |
| autocomplete suggestion is shown, selected or deleted. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Ablation.FillDurationSinceInteraction.{FormType}.{Group}" |
| units="ms" expires_after="2026-12-14"> |
| <expired_intentionally> |
| This is for an ablation study that we may want to reactivate at some points |
| in the future. |
| </expired_intentionally> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@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="2026-12-14"> |
| <expired_intentionally> |
| This is for an ablation study that we may want to reactivate at some points |
| in the future. |
| </expired_intentionally> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@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="AutofillFormType.Fillable"/> |
| <token key="Group" variants="Autofill.Ablation.Group"/> |
| </histogram> |
| |
| <histogram name="Autofill.AcceptedSuggestionDesktopRowViewVisibleEnough" |
| enum="Boolean" expires_after="2026-02-07"> |
| <owner>sygiet@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| This metric is emitted by the desktop autofill popup row view just before |
| accepting the suggestion. This indicates that at least 50% of the popup were |
| visible for at least 500ms and serves as a safeguard against quick (and |
| potentially deceptive, which can lead to revealing user's data) accepts. |
| This metric serves as a sanity check for the guarding logic (the number of |
| `false`s is expected to be extremly low) and will be removed with the |
| `kAutofillPopupDontAcceptNonVisibleEnoughSuggestion` feature. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.AttemptFormFillingToolEvent" |
| enum="AttemptFormFillingToolEvent" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>slobodan@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the `AttemptFormFillingToolEvent` events. Emitted in the |
| `AttemptFormFillingTool` callbacks. Each event is recorded maximum once per |
| tool lifetime. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.AutofillAttentionDialogsPerTask" |
| units="dialogs" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>slobodan@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of autofill attention dialogs presented in the UI to the |
| user for a given task. Recorded in `ActionTrackerForMetrics`'s destructor. |
| The metric is incremented by one for every UI dialog (even if it contains |
| more than 1 suggestion dropdowns). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.AutofillSuggestionAccepted.RecordType" |
| enum="ActorFormFillingRequestedData" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>slobodan@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the `RecordType` for a suggestion accepted in |
| `AttemptFormFillingTool::OnFormSubmitted`. Emitted whenever the callback is |
| executed. The callback will be called at least once per suggestions being |
| requested. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.AutofillSuggestionPresented.RecordType" |
| enum="ActorFormFillingRequestedData" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>slobodan@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the `RecordType` for a suggestion presented in |
| `AttemptFormFillingTool::OnFormPresented`. Emitted whenever the callback is |
| executed. The callback will be called at least once per suggestions being |
| requested. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.AutofillSuggestionsPerDialog" |
| units="suggestion_dropdowns" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>slobodan@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of autofill suggestion dropdowns presented in the UI to |
| the user for a given dialog. Recorded in `AttemptFormFillingTool`. Each |
| event is recorded maximum once per suggestions retrieved. The metric is |
| incremented by one for every UI dropdown (and *not* for every item of every |
| dropdown). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.ContactInfoSplitting.RetargetTriggerField" |
| enum="ActorFormFillingRetargetTriggerFieldResult" |
| expires_after="2026-09-09"> |
| <owner>smcgruer@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the outcome of attempting to retarget the trigger field for a split |
| form section. Emitted when Autofill attempts to generate suggestions for an |
| Actor form filling request. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.ContactInfoSplitting.ShouldSplitContactInfo" |
| enum="ActorFormFillingShouldSplitOutContactInfoResult" |
| expires_after="2026-09-09"> |
| <owner>smcgruer@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the outcome of attempting to split a form section into contact |
| information and address information. Emitted when Autofill attempts to |
| generate suggestions for an Actor form filling request. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.ContactInfoSplitting.{SplitPart}FieldCount" |
| units="fields" expires_after="2026-09-09"> |
| <owner>smcgruer@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of {SplitPart} fields in a split form section. Emitted |
| when an Actor form fill of the {SplitPart} fields is triggered after the |
| user has selected which suggestion to fill. |
| </summary> |
| <token key="SplitPart"> |
| <variant name="AddressPart" summary="address"/> |
| <variant name="ContactInfoPart" summary="contact info"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.EditedAutofilledFieldAtSubmission.Aggregate" |
| enum="AutofilledFieldUserEditingStatus" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records at submission time for each field that was autofilled by actor |
| Autofill (not Autocomplete or Password Manager) whether the user edited the |
| autofilled field value or not. This metric is aggregated over all field |
| types. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.FillSuggestions.{FillingComposition}.Latency" |
| units="ms" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>slobodan@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Measures the time between the call to FillSuggestions and the execution of |
| the callback. Emitted whenever the callback is executed (which is guaranteed |
| to always happen once for every call). |
| |
| {FillingComposition} |
| </summary> |
| <token key="FillingComposition" variants="Autofill.Actor.FillingComposition"/> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.FillSuggestions.{FillingComposition}.Outcome" |
| enum="ActorFormFillingOutcome" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>slobodan@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Measures the outcome of a call to FillSuggestions. Emitted whenever the |
| callback is executed (which is guaranteed to always happen once for every |
| call). |
| |
| {FillingComposition} |
| </summary> |
| <token key="FillingComposition" variants="Autofill.Actor.FillingComposition"/> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.GetSuggestions.Latency" units="ms" |
| expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>slobodan@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Measures the time between the call to |
| ActorFormFillingService::GetSuggestions and the execution of the callback. |
| Emitted whenever the callback is executed (which is guaranteed to always |
| happen once for every call). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.GetSuggestions.Outcome" |
| enum="ActorFormFillingOutcome" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>slobodan@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Measures the outcome of a call to ActorFormFillingService::GetSuggestions. |
| Emitted whenever the callback is executed (which is guaranteed to always |
| happen once for every call). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.KeyMetrics.FillingAssistance.{FormType}" |
| enum="BooleanAutofillFillingAssistance" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records, at form submission, whether the actor was used to fill the form or |
| not. Only recorded if the user has data available to fill the form. |
| </summary> |
| <token key="FormType"> |
| <variant name="Address" summary="Address form"/> |
| <variant name="CreditCard" summary="Credit card form"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.KeyMetrics.FillingCorrectness.{FormType}" |
| enum="BooleanAutofillFillingCorrectness" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records, at form submission, whether any of the fields filled by the actor |
| were modified by the user. Only recorded if the actor was used to fill the |
| form. |
| </summary> |
| <token key="FormType"> |
| <variant name="Address" summary="Address form"/> |
| <variant name="CreditCard" summary="Credit card form"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.KeyMetrics.FillingReadiness.{FormType}" |
| enum="BooleanAutofillFillingReadiness" expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Counts for submitted forms whether Chromium had any address or payments |
| suggestions to fill. It does not matter whether the actor actually requested |
| to fill the data. |
| </summary> |
| <token key="FormType"> |
| <variant name="Address" summary="Address form"/> |
| <variant name="CreditCard" summary="Credit card form"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Actor.PerfectFilling.{FormType}" enum="Boolean" |
| expires_after="2026-11-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| For a form of type {FormType}, log at submission time if the filling |
| experience was perfect. In a perfect filling experience, the user must have |
| not edited any field, meaning that the filed must either be autofilled |
| without prefix-matching and without further corrections, empty, have the |
| same value as pageload or have its value set by JavaScript. |
| |
| Note that the {FormType} is not mutually exclusive. If a single form |
| contains both address and credit card information, the metric is recorded |
| for each {FormType}. In such a combined form, both the address and the |
| credit card information needs to be filled perfectly, in order to record |
| perfect filling. |
| |
| Is is no different from Autofill.PerfectFilling.* metrics, except that it is |
| only recorded for forms that are filled by the actor, and followup filling |
| by standard Autofill is not considered an actor perfect filling experience. |
| </summary> |
| <token key="FormType"> |
| <variant name="Address" summary="Form contains address information."/> |
| <variant name="CreditCard" |
| summary="Form contains credit card information."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.AddedNewAddress" |
| enum="AutofillManuallyAddedAddressSurface" expires_after="2026-06-07"> |
| <owner>brunobraga@google.com</owner> |
| <owner>vykochko@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the surface from which the user manually added an address. Emitted |
| every time the user adds an address manually. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Address.DisabledReason.PageLoad" |
| enum="AutofillPreferenceSetter" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>bwolfgang@google.com</owner> |
| <owner>mlerman@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| If the pref autofill.profile_enabled is disabled, this metric records the |
| source. Emitted on page load for a page containing forms. The corresponding |
| metric tracking the activation rate of autofill.profile_enabled is |
| Autofill.Address.IsEnabled.PageLoad. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Address.DisabledReason.Startup" |
| enum="AutofillPreferenceSetter" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>bwolfgang@google.com</owner> |
| <owner>mlerman@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| If the pref autofill.profile_enabled is disabled, this metric records the |
| source. Emitted on startup. The corresponding metric tracking the activation |
| rate of autofill.profile_enabled is Autofill.Address.IsEnabled.Startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Address.IsEnabled.Change" |
| enum="AutofillAddressOptInChange" expires_after="2026-12-12"> |
| <owner>jkeitel@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Recorded whenever the user explicitly changes the address autofill opt-in |
| status in settings. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Address.IsEnabled.PageLoad" enum="BooleanEnabled" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</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="2026-12-12"> |
| <owner>battre@chromium.org</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="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Log the number of kLocalOrSyncable Autofill addresses that were deleted |
| because they have not been used for `kDisusedDataModelDeletionTimeDelta`. |
| Emitted once on browser startup, if the user has at least one address. |
| </summary> |
| </histogram> |
| |
| <!-- TODO(crbug.com/491115361): Remove note after YourSavedInfo rename --> |
| |
| <histogram name="Autofill.AddressesSettingsPage.VisitReferrer" |
| enum="AutofillSettingsReferrer" expires_after="2026-09-15"> |
| <owner>ireneuszszulc@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the entry point (referrer) every time the user visits the |
| 'Addresses' settings page from a tracked entry point. This metric is emitted |
| on navigation to the page, with the enum values distinguishing the entry |
| points (different ways of reaching the page). |
| |
| Note: With YourSavedInfoSettingsPage experiment on this metric is recorded |
| under `Autofill.YourSavedInfo.VisitReferrer` instead. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AddressesSuppressedForDisuse" units="addresses" |
| expires_after="2026-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="2026-12-12"> |
| <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="2026-12-12"> |
| <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="2026-12-12"> |
| <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.AddressSuggestionOnTyping.AddressFieldTypeUsed" |
| enum="AutofillFieldType" expires_after="2026-06-19"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged when the users accepts an Autofill on typing suggestion, records the |
| field type used in the suggestion generation. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.AddressSuggestionOnTypingAcceptance.FieldClassication" |
| enum="BooleanFieldClassificationType" expires_after="2026-10-25"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Recorded at the acceptance moment, this metric keeps track of whether the |
| field where Autofill on typing suggestion was accepted was classified or |
| not. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.AddressSuggestionOnTypingAcceptance.NumberOfCharactersTyped" |
| units="units" expires_after="2026-10-26"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of characters a user typed before accepting an address autofill |
| on typing suggestion. Emited every time a user accepts an autofill on typing |
| suggestion. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AddressSuggestionOnTypingAcceptance.PerFieldType" |
| enum="FillingAcceptanceByFieldType" expires_after="2026-12-12"> |
| <owner>brunobraga@google.com</owner> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| During navigation, for each field where an autofill address suggestion on |
| typing is displayed, logs per field type whether the user has accepted it or |
| not. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.AddressSuggestionOnTypingAcceptance.{ClassificationTypes}" |
| enum="BooleanAutofillAddressSuggestionOnTypingAcceptance" |
| expires_after="2026-10-25"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| During navigation, for each field where an autofill address suggestion on |
| typing is displayed, logs whether the user has accepted it or not. |
| </summary> |
| <token key="ClassificationTypes"> |
| <variant name="Any" summary="any of the following"/> |
| <variant name="Classified" |
| summary="the triggering field where the suggestion was shown was |
| classified"/> |
| <variant name="Unclassified" |
| summary="the triggering field where the suggestion was shown was not |
| classified"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.AddressSuggestionOnTypingAccepted.DaysSinceLastUse.Profile" |
| units="days" expires_after="2026-10-26"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged at submission/navigation time, specifies the last time in days a |
| profile that was used to build Autofill on typing suggestions (and later |
| accepted) was accepted before by a previous suggestion (such as a regular |
| address suggestion). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.AddressSuggestionOnTypingFieldTypeAddedToStrikeDatabase" |
| enum="AutofillFieldType" expires_after="2026-10-29"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged when an address on typing suggestion is not accepted for a field type |
| repetitive times, leading this type to the added to the strike database. |
| Emitted during frame destruction. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.AddressSuggestionOnTypingShown.DaysSinceLastUse.Profile" |
| units="days" expires_after="2026-10-26"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged at submission/navigation time, specifies the last time in days a |
| profile that was used to build Autofill on typing suggestions was accepted |
| before by a previous suggestion (such as a regular address suggestion). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.AddressTokenVerificationStatusAtProfileUsage.{AddressType}" |
| enum="AufofillStructuredTokenVerificationStatus" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>vizcay@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.Ai.Deduplication.NumberOfLocalEntitiesConsidered.AllEntities" |
| units="entities" expires_after="2026-10-04"> |
| <owner>brunobraga@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of Autofill AI entities that have been considered for |
| deduplication. Emitted once per major version if there are at least more |
| than two entities of a certain type. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Ai.Deduplication.NumberOfLocalEntitiesConsidered{EntityType}" |
| enum="Boolean" expires_after="2026-08-30"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of Autofill AI {EntityType} entities that have been considered |
| for deduplication. Emitted once per major version if the user has at least |
| two {EntityType} entities. |
| </summary> |
| <token key="EntityType" variants="Autofill.Ai.EntityType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Ai.Deduplication.NumberOfLocalEntitiesDeduped.AllEntities" |
| units="entities" expires_after="2026-10-04"> |
| <owner>brunobraga@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of Autofill AI entities that have been deduped. Emitted once per |
| major version only. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Ai.Deduplication.NumberOfLocalEntitiesDeduped{EntityType}" |
| enum="Boolean" expires_after="2026-10-04"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of Autofill AI {EntityType} entities that have been deduped. |
| Emitted once per major version. |
| </summary> |
| <token key="EntityType" variants="Autofill.Ai.EntityType"/> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.EditedAutofilledFieldAtSubmission" |
| enum="AutofilledFieldUserEditingStatus" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| On submission time, this metric emits for every field that was autofilled |
| with Autofill AI, if the filling was accepted or subsequently corrected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.EditedAutofilledFieldAtSubmission.ByFieldType" |
| enum="AutofilledFieldUserEditingStatusByFieldType" |
| expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| On submission time, this metric emits for every field that was autofilled |
| with Autofill AI, if the filling was accepted or subsequently corrected, and |
| also split the buckets by the Autofill AI type of the field. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.EntityAddedFromSettings{EntityType}{RecordType}" |
| enum="AutofillAiEntityType" expires_after="2026-12-12"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Emitted when an Autofill AI entity is added from the settings page. This |
| metric is logged with granularity for the entity type and the record type. |
| </summary> |
| <token key="EntityType" variants="Autofill.Ai.EntityType"> |
| <variant name="" summary="Emitted for any kind of entities."/> |
| </token> |
| <token key="RecordType" variants="Autofill.Ai.EntityRecordType"> |
| <variant name="" summary="Emitted for all entity record types."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.EntityDeletedFromSettings{EntityType}{RecordType}" |
| enum="AutofillAiEntityType" expires_after="2026-12-12"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Emitted when an Autofill AI entity is deleted by the user in the settings |
| page. This metric is logged with granularity for the entity type and the |
| record type. |
| </summary> |
| <token key="EntityType" variants="Autofill.Ai.EntityType"> |
| <variant name="" summary="Emitted for any kind of entities."/> |
| </token> |
| <token key="RecordType" variants="Autofill.Ai.EntityRecordType"> |
| <variant name="" summary="Emitted for all entity record types."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.EntityTable.DecryptStatus2" |
| enum="AutofillAiDecryptStatus" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether the decryption stage of reading from the EntityTable was |
| successful or not (and in that case whether it was a permanent failure (key |
| was lost or data was corrupted) or a temporary failure (e.g. the decryption |
| service was unavailable). Emitted every time autofill tries to decrypt a |
| value to read/write to the table. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.EntityTable.{EncryptionStage}Status" |
| enum="Boolean" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether the {EncryptionStage} stage of reading/writing into the |
| EntityTable was successful or not. Emitted every time autofill tries to |
| {EncryptionStage} a value to read/write to the table. |
| </summary> |
| <token key="EncryptionStage"> |
| <variant name="Decrypt" summary="decrypt"/> |
| <variant name="Encrypt" summary="encrypt"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.EntityUpdatedFromSettings{EntityType}{RecordType}" |
| enum="AutofillAiEntityType" expires_after="2026-12-12"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Emitted when an Autofill AI entity is updated from the settings page. This |
| metric is logged with granularity for the entity type and the record type. |
| </summary> |
| <token key="EntityType" variants="Autofill.Ai.EntityType"> |
| <variant name="" summary="Emitted for any kind of entities."/> |
| </token> |
| <token key="RecordType" variants="Autofill.Ai.EntityRecordType"> |
| <variant name="" summary="Emitted for all entity record types."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.Funnel.{SubmissionState}.Eligibility2" |
| enum="AutofillAiEntityType" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the EntityType's for which a form is eligible for filling. Emitted |
| once per form submission/abandonment. |
| </summary> |
| <token key="SubmissionState"> |
| <variant name="Abandoned"/> |
| <variant name="Aggregate"/> |
| <variant name="Submitted"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Ai.Funnel.{SubmissionState}.{FunnelStage}{EntityGranularity}" |
| enum="Boolean" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records various stages of the Autofill AI funnel. The same metric is logged |
| for submitted and for abandoned forms, with an additional metric aggregating |
| both. The metric is recorded once per form per submission/abandonment. |
| |
| Note that the variant aggregated over all EntityTypes was emitted |
| differently before M140 and then not emitted at all in M141, so data is most |
| accurate starting from M142. |
| |
| {FunnelStage} |
| |
| {EntityGranularity} |
| </summary> |
| <token key="SubmissionState"> |
| <variant name="Abandoned"/> |
| <variant name="Aggregate"/> |
| <variant name="Submitted"/> |
| </token> |
| <token key="FunnelStage"> |
| <variant name="CorrectionAfterFill" |
| summary="Given a form where the user filled an Autofill AI |
| suggestion, records whether the filling was corrected or |
| not."/> |
| <variant name="FillAfterSuggestion" |
| summary="Given a form where the user saw Autofill AI filling |
| suggestions, records whether the suggestion was filled or |
| not."/> |
| <variant name="ReadinessAfterEligibility" |
| summary="Given an Autofill-AI-eligible form, this metric records |
| whether the user has stored data to fill the form."/> |
| <variant name="SuggestionAfterReadiness" |
| summary="Given an Autofill-AI-eligible form where the user has data |
| stored to fill it, this metric records whether the user saw |
| an Autofill AI suggestion or not."/> |
| </token> |
| <token key="EntityGranularity" variants="Autofill.Ai.EntityType"> |
| <variant name="" summary="Emitted for any kind of entities."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Ai.Funnel.{SubmissionState}.{FunnelStage}{EntityGranularity}{EntityRecordType}" |
| enum="Boolean" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records various stages of the Autofill AI funnel. The same metric is logged |
| for submitted and for abandoned forms, with an additional metric aggregating |
| both. The metric is recorded once per form per submission/abandonment. |
| |
| {FunnelStage} |
| |
| {EntityGranularity} |
| |
| {EntityRecordType} |
| </summary> |
| <token key="SubmissionState"> |
| <variant name="Abandoned"/> |
| <variant name="Aggregate"/> |
| <variant name="Submitted"/> |
| </token> |
| <token key="FunnelStage"> |
| <variant name="CorrectionAfterFill" |
| summary="Given a form where the user filled an Autofill AI |
| suggestion, records whether the filling was corrected or |
| not."/> |
| <variant name="FillAfterSuggestion" |
| summary="Given a form where the user saw Autofill AI filling |
| suggestions, records whether the suggestion was filled or |
| not."/> |
| <variant name="ReadinessAfterEligibility" |
| summary="Given an Autofill-AI-eligible form, this metric records |
| whether the user has stored data to fill the form."/> |
| <variant name="SuggestionAfterReadiness" |
| summary="Given an Autofill-AI-eligible form where the user has data |
| stored to fill it, this metric records whether the user saw |
| an Autofill AI suggestion or not."/> |
| </token> |
| <token key="EntityGranularity" variants="Autofill.Ai.EntityType"/> |
| <token key="EntityRecordType" variants="Autofill.Ai.EntityRecordType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Ai.KeyMetrics{KeyMetric}{EntityGranularity}{EntityRecordType}{Profile}" |
| enum="Boolean" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Similar to Autofill.KeyMetrics.*. Emitted only for users who have AutofillAi |
| enabled in settings. |
| |
| {KeyMetric} |
| |
| {EntityGranularity} |
| |
| {EntityRecordType} |
| |
| {Profile} |
| </summary> |
| <token key="KeyMetric"> |
| <variant name=".FillingAcceptance" |
| summary="Records, at form submission, and given that the user saw an |
| Autofill AI prompt, whether the user used AutofillAI to fill |
| the form or not."/> |
| <variant name=".FillingAssistance" |
| summary="Records, at form submission, whether the user used Autofill |
| AI to fill the form or not."/> |
| <variant name=".FillingCorrectness" |
| summary="Records, at form submission, and given that the user filled |
| an Autofill AI suggestion, whether the user manually edited |
| an autofilled field filled by Autofill AI or not."/> |
| <variant name=".FillingReadiness" |
| summary="Records, at form submission, whether the user had Autofill |
| AI data to fill the form or not."/> |
| </token> |
| <token key="EntityGranularity" variants="Autofill.Ai.EntityType"/> |
| <token key="EntityRecordType" variants="Autofill.Ai.EntityRecordType"/> |
| <token key="Profile" variants="ProfileIndex"/> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.KeyMetrics{KeyMetric}{EntityGranularity}{Profile}" |
| enum="Boolean" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Similar to Autofill.KeyMetrics.*. Emitted only for users who have AutofillAi |
| enabled in settings. |
| |
| {KeyMetric} |
| |
| {EntityGranularity} |
| |
| {Profile} |
| </summary> |
| <token key="KeyMetric"> |
| <variant name=".FillingAcceptance" |
| summary="Records, at form submission, and given that the user saw an |
| Autofill AI prompt, whether the user used AutofillAI to fill |
| the form or not."/> |
| <variant name=".FillingAssistance" |
| summary="Records, at form submission, whether the user used Autofill |
| AI to fill the form or not."/> |
| <variant name=".FillingCorrectness" |
| summary="Records, at form submission, and given that the user filled |
| an Autofill AI suggestion, whether the user manually edited |
| an autofilled field filled by Autofill AI or not."/> |
| <variant name=".FillingReadiness" |
| summary="Records, at form submission, whether the user had Autofill |
| AI data to fill the form or not."/> |
| </token> |
| <token key="EntityGranularity" variants="Autofill.Ai.EntityType"> |
| <variant name="" summary="Emitted for any kind of entities."/> |
| </token> |
| <token key="Profile" variants="ProfileIndex"/> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.ModelExecutionStatus" |
| enum="AutofillAiModelExecutionStatus" expires_after="2026-11-30"> |
| <owner>jkeitel@google.com</owner> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Describes the outcome of an AutofillAI (server-side) model run. Recorded |
| whenever the client receives the result of a model execution or the model |
| execution times out. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.NumberOfFilledFields.{FillType}.{SplitCriteria}" |
| units="fields" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records, at form submission, the number of fields filled in a form. Only |
| emitted for forms that can be filled by Autofill AI. |
| |
| {FillType} |
| |
| {SplitCriteria} |
| </summary> |
| <token key="FillType"> |
| <variant name="AutofillAi" |
| summary="Only counts fields filled by Autofill AI and nothing else."/> |
| <variant name="Total" |
| summary="Counts fields filled by any Autofill source, except |
| Autocomplete and Compose."/> |
| </token> |
| <token key="SplitCriteria"> |
| <variant name=".HasDataToFill" |
| summary="Only emitted for users who have some Autofill AI entity |
| saved and can therefore fill using Autofill AI."/> |
| <variant name=".NoDataToFill" |
| summary="Only emitted for users with no entities saved."/> |
| <variant name="OptedIn" |
| summary="Only emitted for users opted in to Autofill AI."/> |
| <variant name="OptedOut" |
| summary="Only emitted for users not opted in to Autofill AI."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.OptIn.Change" enum="AutofillAiOptInStatus" |
| expires_after="2026-11-01"> |
| <owner>jkeitel@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records changes to the user's opt-in status to Autofill with AI. The |
| recorded value is the opt-in status after the change. Recorded whenever the |
| user explicitly triggers a change to the opt-in status (i.e., during the |
| first run experience or in settings). Not recorded during implicit changes |
| to the effective opt-in status (e.g., if the user signs out or changes their |
| locale). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.OptIn.Funnel" enum="AutofillAiOptInFunnelEvents" |
| expires_after="2026-11-01"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records events related to the surfaces available for users to find out and |
| opt in Autofill AI. These educational surfaces are the IPH and the FFR |
| dialog. Logged when any of them are shown and when the FFR (final step in |
| the funnel) is accepted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.OptIn.PrefMigration." |
| enum="AutofillAiPrefMigrationStatus" expires_after="2026-12-12"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the Autofill AI syncable pref migration result, which depends on the |
| its initial value and the account keyed pref. Emitted during startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.OptIn.Status.{EmissionStrategy}" |
| enum="AutofillAiOptInStatus" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether the user is opted into the Autofill AI feature or not. |
| |
| {EmissionStrategy}. |
| </summary> |
| <token key="EmissionStrategy"> |
| <variant name="Startup" summary="Emitted on startup of the profile."/> |
| <variant name="Submission" |
| summary="Emitted each time a form fillable by Autofill AI is |
| submitted."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.PromptSuppression.{PromptType}{EntityType}" |
| enum="Boolean" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records for each entity observed at form submission that qualified for a |
| prompt whether it was suppressed or not. |
| |
| {EntityType} |
| |
| {PromptType} |
| </summary> |
| <token key="PromptType" variants="Autofill.Ai.PromptTypes"/> |
| <token key="EntityType" variants="Autofill.Ai.EntityType"/> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.ReauthToFill" enum="DeviceReauth.ReauthResult" |
| expires_after="2026-10-25"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Recorded whenever the user interacts with reauthentication in order to fill |
| an Autofill AI entity that contains sensitive data, or when such |
| reauthentication is skipped for a well-defined reason. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.ReauthToFill.ResultPerFieldType" |
| enum="AutofillAiReauthResultByFieldType" expires_after="2026-12-12"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Recorded whenever the user interacts with reauthentication in order to fill |
| an Autofill AI entity that contains sensitive data. The result is logged per |
| field type of the triggering field. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.StoredEntitiesCount{EntityType}{RecordType}" |
| units="units" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of entities stored by the user. Emitted on startup after |
| the initial loading of data. |
| |
| {EntityType} |
| |
| {RecordType} |
| </summary> |
| <token key="EntityType" variants="Autofill.Ai.EntityType"/> |
| <token key="RecordType" variants="Autofill.Ai.EntityRecordType"> |
| <variant name="" summary="Emitted for all entity record types."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Ai.Timing.GetEntityUpstreamCandidateFromSubmittedForm" |
| units="ms" expires_after="2026-09-06"> |
| <owner>brunobraga@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <summary> |
| Number of milliseconds passed between the start and end of the method that |
| returns a local entity candidates to be migrated to the Wallet server. |
| Emitted during form submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.WalletContextualSurfacingEnabled" enum="Boolean" |
| expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records, at browser startup, whether a user has the Wallet setting regarding |
| contextual surfacing enabled or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.{PromptType}.AllEntities" |
| enum="AutofillAiBubbleResult" expires_after="2026-08-30"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records events related to the save or update prompt dialog for all entity |
| types. Emitted when the dialog its closed, regardless of whether it was done |
| so by an user action or not. |
| </summary> |
| <token key="PromptType" variants="Autofill.Ai.PromptTypes"/> |
| </histogram> |
| |
| <histogram name="Autofill.Ai.{PromptType}{EntityType}{RecordType}" |
| enum="AutofillAiBubbleResult" expires_after="2026-08-30"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records events related to the save or update prompt dialog for each entity |
| type. Emitted when the dialog its closed, regardless of whether it was done |
| so by an user action or not. |
| |
| {RecordType} |
| </summary> |
| <token key="PromptType" variants="Autofill.Ai.PromptTypes"/> |
| <token key="EntityType" variants="Autofill.Ai.EntityType"/> |
| <token key="RecordType" variants="Autofill.Ai.EntityRecordType"> |
| <variant name="" summary="Emitted for all entity record types."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.AiAmountExtraction.ApcFetchResult" |
| enum="BooleanSuccess" expires_after="2027-04-30"> |
| <owner>jamessun@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records whether the Annotated Page Content (APC) fetch was successful during |
| the AI-based amount extraction process. Recorded once per page load, when |
| the APC fetch attempt completes (successfully or with failure). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AiAmountExtraction.InvalidResponseReason" |
| enum="AiAmountExtractionInvalidResponseReason" expires_after="2027-04-30"> |
| <owner>jamessun@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the specific reason why the AI-generated checkout amount response |
| failed validation, when the response is present and it is an error. This |
| provides a diagnostic breakdown for the 'Invalid response' bucket of |
| Autofill.AiAmountExtraction.Result. Recorded once per page load when the |
| model execution completes but the output data does not meet requirements |
| (e.g., the amount is negative, the currency is missing, or the currency is |
| unsupported). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.AiAmountExtraction.Latency.{AiAmountExtractionLatencyResult}" |
| units="ms" expires_after="2027-04-30"> |
| <owner>jamessun@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the duration from when the AI-based amount extraction is initialized |
| to when a response is received from the model. Recorded once per page load, |
| when the model execution completes (successfully, with failure, or with |
| invalid data). |
| </summary> |
| <token key="AiAmountExtractionLatencyResult"> |
| <variant name="Failure" summary="AI amount extraction failure latency"/> |
| <variant name="InvalidResponse" |
| summary="AI amount extraction invalid response latency"/> |
| <variant name="Success" summary="AI amount extraction success latency"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.AiAmountExtraction.Result" |
| enum="AiAmountExtractionResult" expires_after="2027-04-30"> |
| <owner>jamessun@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the final result of the AI-based checkout amount extraction process. |
| Recorded once per page load, either when the model execution completes |
| (successfully, with failure, or with invalid data) or when the client-side |
| timeout is reached. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.AmountExtraction.HeuristicRegexesComponentInstallationResult" |
| enum="AmountExtractionComponentInstallationResult" |
| expires_after="2027-04-30"> |
| <owner>longsheng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The result from Amount Extraction Heuristic Regexes component installation. |
| This metric is recorded every time when a new regexes version is installed. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.AmountExtraction.Latency2.{AmountExtractionLatencyResult}" |
| units="ms" expires_after="2027-04-30"> |
| <owner>yiwenqian@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the latency of amount extraction process. This latency is measured |
| from the moment amount extraction is initiated in the browser process to |
| when a response is received. Logged when the search is finished. |
| </summary> |
| <token key="AmountExtractionLatencyResult"> |
| <variant name="Failure" |
| summary="Labeled amount extraction latency when amount extraction |
| failed"/> |
| <variant name="Success" |
| summary="Labeled amount extraction latency when amount extraction |
| succeeded"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.AmountExtraction.Result2" |
| enum="AmountExtractionResult" expires_after="2027-04-30"> |
| <owner>yiwenqian@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the result of amount extraction process. Amount extraction process |
| is initiated once user clicks on the credit card form on Desktop. The result |
| is recorded upon receiving the response in the browser process or the |
| extraction timeout is reached before a response is received. This metric |
| records three types of amount extraction results: success, amount not found |
| and timeout. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AndroidAutofillAvailabilityStatus" |
| enum="AndroidAutofillAvailabilityStatus" expires_after="2026-09-30"> |
| <owner>friedrichh@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Clank only. Logs whether Android Autofill was available. If not, it splits |
| the reasons why. Only one reason is recorded (e.g. the pref isn't checked if |
| a policy makes it impossible to set the pref). The reasons are not ordered. |
| Emitted only once per cold start of Chrome when the first tab is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AndroidAutofillManagerErrors" |
| enum="AutofillManagerMethod" expires_after="2026-06-21"> |
| <owner>friedrichh@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Clank and WebView only. Logs failures when calling Android Autofill's |
| AutofillManager. All logged failures are caught and silently ignores since |
| they are RuntimeExceptions neither the user nor the browser can affect and |
| may be recoverable with later invocations. This includes but is not limited |
| to timeouts. Emitted for every failed API call. No success metric exists |
| since the call volume is quite high but the expected error volume is not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AtMemory.Funnel.PopupDisplayed" |
| enum="AutofillAtMemoryTriggerSource" expires_after="2027-03-09"> |
| <owner>rahimis@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the trigger source of the Autofill @memory popup. Emitted once per |
| popup display. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AtMemory.Funnel.QuerySubmitted" enum="Boolean" |
| expires_after="2027-03-09"> |
| <owner>rahimis@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether at least one search query was submitted while the @memory |
| popup was displayed. Emitted when the popup is hidden, provided it was |
| successfully shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AtMemory.Funnel.SuggestionAccepted" enum="Boolean" |
| expires_after="2027-03-09"> |
| <owner>rahimis@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether a suggestion was accepted while the @memory popup was |
| displayed. Emitted when the popup is hidden, provided it was successfully |
| shown. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Autocomplete.NotOff.EditedAutofilledFieldAtSubmission2{AutofillFormType}" |
| enum="AutofilledFieldUserEditingStatus" expires_after="2027-04-12"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records at submission time for each field that (a) was autofilled by |
| Autofill (not Autocomplete or Password Manager) and (b) has `autocomplete != |
| off` whether the user edited the autofilled field value or not. |
| {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"> |
| <variant name=""/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Autocomplete.NotOff.FillingAcceptance.{FormType}" |
| enum="BooleanAutofillFillingAcceptance" expires_after="2027-04-12"> |
| <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. {FormType} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Autocomplete.Off.EditedAutofilledFieldAtSubmission2{AutofillFormType}" |
| enum="AutofilledFieldUserEditingStatus" expires_after="2027-04-12"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records at submission time for each field that (a) was autofilled by |
| Autofill (not Autocomplete or Password Manager) and (b) has `autocomplete == |
| off` whether the user edited the autofilled field value or not. |
| {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"> |
| <variant name=""/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Autocomplete.Off.FillingAcceptance.{FormType}" |
| enum="BooleanAutofillFillingAcceptance" expires_after="2027-04-12"> |
| <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. {FormType} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram name="Autofill.Autocomplete.PredictionCollisionState" |
| enum="PredictionStateAutocompleteStatePair" expires_after="2026-09-27"> |
| <owner>koerber@google.com</owner> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records a pair of (PredictionState, AutocompleteState) for each field in a |
| submitted form. PredictionState indicates if server and/or heuristic type |
| prediction were available. AutocompleteState indicates if the autocomplete |
| attribute was present and whether it was valid. Emitted on form submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Autocomplete.PredictionCollisionType.Heuristics" |
| enum="AutofillFieldType" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the heuristic type of each field with autocomplete=garbage in a |
| submitted form. Emitted on form submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Autocomplete.PredictionCollisionType.Server" |
| enum="AutofillFieldType" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the server type of each field with autocomplete=garbage in a |
| submitted form. Emitted on form submission. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Autocomplete.PredictionCollisionType.ServerOrHeuristics" |
| enum="AutofillFieldType" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the server type of each field with autocomplete=garbage in a |
| submitted form. If no server type is available, the heuristics type is |
| logged instead. Emitted on form submission. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Autocomplete.PredictionCollisionType2.{PredictionType}.{AutocompleteState}" |
| enum="AutofillFieldType" expires_after="2026-08-30"> |
| <owner>koerber@google.com</owner> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the PredictionType of each field in a submitted form, depending on |
| the field's AutocompleteState. Emitted on form submission. |
| </summary> |
| <token key="PredictionType"> |
| <variant name="Heuristics"/> |
| <variant name="Server"/> |
| <variant name="ServerOrHeuristics" |
| summary="If available, the server type. Otherwise the heuristic type."/> |
| </token> |
| <token key="AutocompleteState"> |
| <variant name="Garbage"/> |
| <variant name="None"/> |
| <variant name="Off"/> |
| <variant name="Valid"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Autocomplete.SingleEntryRemovalMethod" |
| enum="AutofillSingleEntryRemovalMethod" expires_after="2026-09-06"> |
| <owner>jkeitel@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records how a user removed a single Autocomplete entry (i.e. via the |
| keyboard or via a delete button in the Autofill popup). Emitted on |
| Autocomplete entry deletion. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AutocompleteUnrecognized.FieldFillingStats2" |
| enum="FieldFillingStatus" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records for every field with autocomplete unrecognized, whether it was |
| filled, corrected, manually filled, or left empty. Recorded at submission |
| time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AutofillAi.ModelCache.InitSuccess" enum="Boolean" |
| expires_after="2026-09-06"> |
| <owner>jkeitel@google.com</owner> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records initializing the AutofillAI model cache was successful. Recorded |
| when the model cache is created, i.e., at profile creation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AutofillAndPasswordsSettingsPage.VisitReferrer" |
| enum="AutofillSettingsReferrer" expires_after="2026-09-15"> |
| <owner>ireneuszszulc@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the entry point (referrer) every time the user visits the 'Autofill |
| and Passwords' settings page from a tracked entry point. This metric is |
| emitted on navigation to the page, with the enum values distinguishing the |
| entry points (different ways of reaching the page). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.AutomationRate.{FormType}" units="%" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>bwolfgang@google.com</owner> |
| <owner>mlerman@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the percentage of input text field characters that were autofilled. |
| This function measures text input as a number of UTF-16 code points. Fields |
| with more than 150 code points input are ignored. Emitted on form |
| submission. {FormType} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram name="Autofill.BetterAuth.CardUnmaskDuration.Fido" units="ms" |
| expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-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.CardUnmaskPreflightCalledWithFidoOptInStatus" |
| enum="Boolean" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The total count of this histogram tracks the number of times Chrome made a |
| preflight 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. For every log in this histogram, it also |
| tracks whether the user is opted-in to WebAuthn or opted-out of WebAuthn. A |
| log of true indicates the user is opted-in, and a log of false indicates the |
| user is opted-out. |
| |
| 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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-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.CardUnmaskPreflightInitiated" |
| enum="Boolean" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the number of times that we initiate the card unmask preflight flow. |
| This will log both when the user is eligible for WebAuthn as well as when |
| the user is not eligible for WebAuthn, as it is logged before we check this |
| status. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.BetterAuth.CardUnmaskTypeDecision" |
| enum="AutofillCreditCardUnmaskDecisionMetric" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-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.EnrollmentPromptOffered" enum="Boolean" |
| expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records whether the Better Auth (FIDO) enrollment prompt was offered. Logged |
| at the time of showing the prompt, or if not shown, when the prompt would |
| have been shown. This metric can only be logged from the checkout flow, |
| after a CVC authentication has completed. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.BetterAuth.FlowEvents.{BetterAuthFlowType}.{CardType}" |
| enum="AutofillCreditCardAuthenticationEvents" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks when a user completes each step in a card unmasking flow per |
| authentication flow type, with an additional breakdown for if it was a |
| server card or virtual card. |
| </summary> |
| <token key="BetterAuthFlowType" variants="Autofill.BetterAuthFlowType"/> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.BetterAuth.FlowEvents{AutofillCreditCardAuthenticationFlows}" |
| enum="AutofillCreditCardAuthenticationEvents" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <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. {AutofillCreditCardAuthenticationFlows} |
| </summary> |
| <token key="AutofillCreditCardAuthenticationFlows"> |
| <variant name=""/> |
| <variant name=".Cvc" summary="CVC authentication only"/> |
| <variant name=".CvcFallbackFromFido" |
| summary="CVC fallback from FIDO authentication"/> |
| <variant name=".CvcThenFido" summary="CVC followed by FIDO authentication"/> |
| <variant name=".Fido" summary="FIDO authentication only"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.BetterAuth.OptInCalled.FromCheckoutFlow" |
| enum="AutofillCreditCardWebauthnOptInParameters" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks when users opt-in 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 name="Autofill.BetterAuth.OptInPromoNotOfferedReason" |
| enum="WebauthnOptInPromoNotOfferedReason" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>shgar@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records when the Better Auth (FIDO) opt-in promo could have been offered on |
| Desktop, but wasn't. Logged at the time of the promo not being shown. This |
| metric can only be logged from the checkout flow, as we do not block opting |
| in to FIDO from the settings page. It logs the enum reason of what caused |
| the promo to not be shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.BetterAuth.OptInPromoShown.FromCheckoutFlow" |
| enum="BooleanHit" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <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 name="Autofill.BetterAuth.OptInPromoUserDecision.FromCheckoutFlow" |
| enum="AutofillWebauthnOptInPromoUserDecision" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <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.PreflightCallResponseReceivedOnCardSelection.{AutofillFidoAuthenticationEnabledState}.{CardType}" |
| enum="AutofillCreditCardPreflightCallEvent" expires_after="2027-04-30"> |
| <owner>junhuihe@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <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 |
| FIDO registration/authentication for the selected card will not be offered. |
| For an opted-out user, a late response would imply that opt-in may not have |
| been offered. This metric is split by whether the user is opted-out or |
| opted-in, and by the type of card used. |
| </summary> |
| <token key="AutofillFidoAuthenticationEnabledState" |
| variants="AutofillFidoAuthenticationEnabledState"/> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.BetterAuth.UserPerceivedLatencyOnCardSelection.OptedIn.Duration" |
| units="ms" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-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.UserPerceivedLatencyOnCardSelection.{AutofillFidoAuthenticationEnabledState}" |
| enum="AutofillCreditCardPreflightCallEvent" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <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. {AutofillFidoAuthenticationEnabledState} |
| </summary> |
| <token key="AutofillFidoAuthenticationEnabledState" |
| variants="AutofillFidoAuthenticationEnabledState"/> |
| </histogram> |
| |
| <histogram name="Autofill.BetterAuth.UserVerifiabilityCheckDuration" units="ms" |
| expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-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 |
| name="Autofill.BetterAuth.WebauthnResult.{AutofillFidoUserVerificationFlow}" |
| enum="AutofillCreditCardWebauthnResultMetric" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <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. {AutofillFidoUserVerificationFlow} |
| </summary> |
| <token key="AutofillFidoUserVerificationFlow"> |
| <variant name="AuthenticationAfterCVC" summary="WebAuthn after CVC"/> |
| <variant name="CheckoutOptIn" |
| summary="Registering for WebAuthn on checkout"/> |
| <variant name="ImmediateAuthentication" |
| summary="WebAuthn for card downstream"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.AiAmountExtraction.AmountInIssuerRange.{Issuer}" |
| enum="Boolean" expires_after="2027-04-30"> |
| <owner>jamessun@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records whether the AI-based checkout amount is within the issuer's |
| transaction range. Recorded once per page load when AI amount extraction |
| completes. |
| </summary> |
| <token key="Issuer" variants="Autofill.BnplIssuer"/> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.IssuersSyncedCount.Startup" units="issuers" |
| expires_after="2027-04-30"> |
| <owner>yiwenqian@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The number of BNPL issuers that were successfully synced at startup, |
| measured at Chrome profile launch time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.PopupWindowLatency.{Issuer}.{Result}" units="ms" |
| expires_after="2027-04-30"> |
| <owner>longsheng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logged when the pop-up is closed. Broken down by issuer and result, because |
| each issuer should be looked at separately, and each result should also be |
| looked at separately to understand user behavior better inside of the pop-up |
| flow. |
| </summary> |
| <token key="Issuer" variants="Autofill.BnplIssuer"/> |
| <token key="Result"> |
| <variant name="Failure"/> |
| <variant name="Success"/> |
| <variant name="UserClosed"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.PopupWindowResult.{Issuer}" |
| enum="BnplPopupWindowResult" expires_after="2027-04-30"> |
| <owner>wilsonlow@google.com</owner> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the result of the BNPL pop-up window for {Issuer}, i.e. Success, |
| Failure, or NotFinished. Logged once when the pop-up window is closed. |
| </summary> |
| <token key="Issuer" variants="Autofill.BnplIssuer"/> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.PopupWindowShown.{Issuer}" enum="BooleanShown" |
| expires_after="2027-04-30"> |
| <owner>wilsonlow@google.com</owner> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The count for the number of times the BNPL popup window for {Issuer} is |
| shown. Records true every time the popup window is shown. |
| </summary> |
| <token key="Issuer" variants="Autofill.BnplIssuer"/> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.SelectionDialogIssuerSelected" |
| enum="BnplIssuerId" expires_after="2027-04-30"> |
| <owner>yishuil@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The count of BNPL issuer selection per issuer. Records when an issuer is |
| selected from the select BNPL issuer dialog. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.SelectionDialogResult" |
| enum="SelectBnplIssuerDialogResult" expires_after="2027-04-30"> |
| <owner>yishuil@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The result of the select BNPL issuer Dialog. Records when an action is taken |
| on the dialog. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.SelectionDialogShown" enum="BooleanShown" |
| expires_after="2027-04-30"> |
| <owner>wilsonlow@google.com</owner> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The count for the number of times the BNPL Issuer Selection Dialog is shown. |
| Records true every time the dialog is shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.SuggestionUnavailableReason" |
| enum="BnplSuggestionUnavailableReason" expires_after="2027-04-30"> |
| <owner>wilsonlow@google.com</owner> |
| <owner>vinnypersky@google.com</owner> |
| <owner>viplavkadam@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the reason why a BNPL suggestion was unavailable, i.e. Amount |
| extraction failure or Checkout amount not supported. Logged once per page |
| load when a BNPL suggestion is unavailable on an eligible BNPL merchant's |
| website when suggestions were shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.TosDialogResult.{Issuer}" |
| enum="BnplTosDialogResult" expires_after="2027-04-30"> |
| <owner>longsheng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The result of the BNPL ToS Dialog, broken down by result. Records when an |
| action was taken on the dialog. |
| </summary> |
| <token key="Issuer" variants="Autofill.BnplIssuer"/> |
| </histogram> |
| |
| <histogram name="Autofill.Bnpl.TosDialogShown.{Issuer}" enum="BooleanShown" |
| expires_after="2027-04-30"> |
| <owner>longsheng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The count for the number of times the BNPL ToS Dialog is shown for {Issuer}. |
| Records true every time the dialog is shown. |
| </summary> |
| <token key="Issuer" variants="Autofill.BnplIssuer"/> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.HideDueToTabHide" enum="AutofillBubbleType" |
| expires_after="2026-10-22"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the type of the active bubble that is hidden and moved to the |
| pending queue because its tab was deactivated (moved to the background). |
| Recorded when a tab is about to be hidden. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.Queue.AddedDueToActiveBubble" |
| enum="AutofillBubbleType" expires_after="2026-10-25"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged when a bubble is added to the queue because another bubble was |
| active. It counts the bubbles that were queued because of a higher priority |
| bubble that is currently showing. This metric is recorded when a bubble |
| requests to show. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.Queue.AddedDueToHover" |
| enum="AutofillBubbleType" expires_after="2026-10-25"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged when a bubble is added to the queue because the user was hovering |
| over the active bubble. This metric is recorded when a bubble requests to |
| show. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.Queue.Discarded" enum="AutofillBubbleType" |
| expires_after="2026-10-22"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the count of bubbles that are not added to the queue because a |
| non-timed-out, non-preemptible bubble of the same type is already pending. |
| This metric is recorded when a bubble requests to show. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.Queue.Replaced" enum="AutofillBubbleType" |
| expires_after="2026-10-22"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged when a bubble in the queue is replaced by a new bubble of the same |
| type due to the bubble type's immediate preemption policy (e.g., for |
| passwords), not due to a timeout. This metric is recorded once a bubble is |
| hidden and the pending queue of bubbles is cleaned up. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.Queue.ShownFromQueue" |
| enum="AutofillBubbleType" expires_after="2026-10-25"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs, per bubble type, when a bubble from the queue is shown to the user. |
| This metric is recorded when the bubble is shown after the user acted upon |
| another bubble. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.Queue.ShownFromQueueOnTabVisible" |
| enum="AutofillBubbleType" expires_after="2026-10-25"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs, per bubble type, when a bubble from the queue is shown to the user |
| when the tab became visible. This metric is recorded when the bubble is |
| shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.Queue.TimedOut" enum="AutofillBubbleType" |
| expires_after="2026-10-25"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged when a bubble is erased from the queue because it has exceeded its |
| timeout. This can occur during general queue cleanup or when a new bubble of |
| the same type replaces the timed-out one. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.Queue.TimeInQueue.{BubbleType}" units="ms" |
| expires_after="2026-10-25"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged for bubbles from the queue, tracking the time from being queued to |
| being shown for each bubble type when they are shown. This metric is |
| recorded when a bubble is shown from the queue. |
| </summary> |
| <!-- LINT.IfChange(Autofill.Bubble.Queue.TimeInQueue.BubbleType) --> |
| |
| <token key="BubbleType"> |
| <variant name="FilledCardInformation" |
| summary="Filled card information bubble."/> |
| <variant name="MandatoryReauth" summary="Mandatory reauth bubble."/> |
| <variant name="OfferNotification" summary="Offer notification bubble."/> |
| <variant name="Password" summary="Password bubble."/> |
| <variant name="SaveIban" summary="Save IBAN bubble."/> |
| <variant name="SaveUpdateAddress" summary="Save/update address bubble."/> |
| <variant name="SaveUpdateAutofillAi" |
| summary="Save/update Autofill AI data bubble."/> |
| <variant name="SaveUpdateCard" summary="Save/update card bubble."/> |
| <variant name="VirtualCardEnrollConfirmation" |
| summary="Virtual card enroll confirmation bubble."/> |
| <variant name="WalletablePassConsent" |
| summary="Walletable pass consent bubble."/> |
| <variant name="WalletablePassSave" summary="Walletable pass save bubble."/> |
| </token> |
| <!-- LINT.ThenChange(//chrome/browser/ui/autofill/bubble_manager_impl.cc:BubbleTypeToMetricSuffix) --> |
| |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.RequestShow" enum="AutofillBubbleType" |
| expires_after="2026-10-25"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| This metric tracks the count all bubble-show attempts per bubble type. |
| Logged when the bubble requests to show and recorded when a bubble requests |
| to show. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.RequestShow.ForceShow" |
| enum="AutofillBubbleType" expires_after="2026-10-25"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| This metric tracks the count of all bubble force show attempts bypassing the |
| priority logic of the BubbleManager. Recorded when a bubble requests to |
| show. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.Show.NoActiveBubble" enum="AutofillBubbleType" |
| expires_after="2026-10-22"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged when the bubble requests to be shown but no other bubble is active, |
| leading to the bubble being shown immediately. This metric tracks the count |
| of bubbles that were directly shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.Show.Preemption" enum="AutofillBubbleType" |
| expires_after="2026-10-22"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logged when a new bubble successfully hides and replaces an active bubble. |
| It tells the count of bubbles that were shown while hiding another actively |
| shown bubble per bubble type. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Bubble.WasPreempted" enum="AutofillBubbleType" |
| expires_after="2026-10-22"> |
| <owner>vidhanj@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the type of a bubble that was actively showing but was hidden due to |
| preemption by a higher-priority bubble. Recorded at the moment an active |
| bubble is preempted by a new bubble is requested to be shown that has a |
| higher priority or was requested with the force_show flag. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CardholderNameFixFlowPrompt.Events" |
| enum="AutofillCardholderNameFixFlowPromptEvent" expires_after="2027-04-30"> |
| <owner>osaul@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.CardInfoRetrievalEnrolled.Result" |
| enum="CardInfoRetrievalEnrolledUnmaskResult" expires_after="2027-04-30"> |
| <owner>jialihuang@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the result of a card info retrieval enrolled card unmasking process |
| when the unmasking is finished (whether it succeeded or otherwise reason of |
| the failure). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CardUnmask.ScreenLockCheckBox.InitialState" |
| enum="CheckBoxStatus" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siashah@chromium.org</owner> |
| <owner>longsheng@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the initial state of the ScreenLockCheckBox. The ScreenLockCheckBox |
| is the checkbox shown to the user as part of the CardUnmaskPrompt. This |
| histogram will be logged only when the CardUnmaskPrompt is initialized. This |
| is only available on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CardUnmask.ScreenLockCheckBox.UserChecked" |
| enum="Boolean" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siashah@chromium.org</owner> |
| <owner>longsheng@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the check/uncheck action from users on the ScreenLockCheckBox. The |
| ScreenLockCheckBox is the checkbox shown to the user as part of the |
| CardUnmaskPrompt. This histogram will be updated whenever the user |
| clicks/unclicks the checkbox. This is only available on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CardUnmaskAuthenticationSelectionDialog.Result" |
| enum="AutofillCardUnmaskAuthenticationSelectionDialogResult" |
| expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>osaul@google.com</owner> |
| <owner>siashah@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the result of the Card Unmask Authentication Selection Dialog, such |
| as user cancelation before/after selecting a challenge option, or automatic |
| dismissal after a server success/failure for a selected option was returned. |
| The metric is recorded any time the dialog is dismissed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CardUnmaskAuthenticationSelectionDialog.Shown2" |
| units="challenge_options" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>osaul@google.com</owner> |
| <owner>siashah@chromium.org</owner> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| On every show of the card unmask challenge option selection dialog, this |
| histogram records a count (with a maximum of 10) for the number of challenge |
| options that were shown. This dialog is shown when a user needs to select a |
| challenge option to authenticate a card for payments autofill. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CardUploadDecisionMetric" |
| enum="AutofillCardUploadDecisionMetric" expires_after="2027-04-30"> |
| <owner>osaul@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.CardUploadEnabled2" enum="AutofillCardUploadEnabled" |
| expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Detailed reasons why (or why not) card upload was enabled. When a user |
| submits a form from which a card was extracted, this check is triggered to |
| decide whether to ask the user if they want to upload the card. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ConditionalPasskeysFlow.PasskeysState" |
| enum="WebAuthnCredManDelegateState" expires_after="2026-11-01"> |
| <owner>friedrichh@chromium.org</owner> |
| <owner>izuzic@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Clank only. Logs the state of passkeys in a conditional passkey flow. It |
| could be that the passkeys were not ready, there were no saved passkeys or |
| there were passkeys. Emitted when the CredMan UI was closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCard.DisabledReason.PageLoad" |
| enum="AutofillPreferenceSetter" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| If the pref autofill.credit_card_enabled is disabled, this metric records |
| the source. Emitted on page load for a page containing forms. The |
| corresponding metric tracking the activation rate of |
| autofill.credit_card_enabled is Autofill.CreditCard.IsEnabled.PageLoad. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCard.DisabledReason.Startup" |
| enum="AutofillPreferenceSetter" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| If the pref autofill.credit_card_enabled is disabled, this metric records |
| the source. Emitted on browser startup when a new Chrome profile is loaded. |
| The corresponding metric tracking the activation rate of |
| autofill.credit_card_enabled is Autofill.CreditCard.IsEnabled.Startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCard.IsEnabled.PageLoad" enum="BooleanEnabled" |
| expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks whether Credit Card Autofill is enabled when Chrome launches. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.CreditCard.Seamless{AutofillSeamlessnessFillability}.{AutofillSeamlessnessMeasurementTime}{AutofillSeamlessnessVisibility}" |
| enum="CreditCardSeamlessFill" expires_after="2026-09-27"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records for each credit card form the quality of the fill. |
| {AutofillSeamlessnessFillability} {AutofillSeamlessnessMeasurementTime} |
| {AutofillSeamlessnessVisibility} |
| |
| The fields in question are: cardholder name (full, or first and last), |
| credit card number, expiration date (MM/YY, MM/YYYY, MM and YY, or MM and |
| YYYY), and CVC. |
| |
| Each bucket represents a minimal set of fields that must be autofilled. |
| Lower numbers are better: |
| |
| Bucket 0 = name & number & exp. date & CVC = Full fill :-D |
| |
| Bucket 1 = number & exp. date & CVC = Optional name missing :-) |
| |
| Bucket 2 = name & number & exp. date = Optional CVC missing :-) |
| |
| Bucket 3 = number & exp. date = Optional name and CVC missing :-) |
| |
| Bucket 4 = name & number & CVC = Full fill but exp. date missing :-| |
| |
| Bucket 5 = all other scenarios = Partial fill :-( |
| |
| Any form that contains at least one credit card field counts as credit card |
| form. |
| |
| Note that the Fillable.AtFillTimeAfterSecurityPolicy variant is not recorded |
| because at the time of recording the available information are not enough to |
| infer this metric. |
| </summary> |
| <token key="AutofillSeamlessnessFillability" |
| variants="AutofillSeamlessnessFillability"/> |
| <token key="AutofillSeamlessnessMeasurementTime" |
| variants="AutofillSeamlessnessMeasurementTime"/> |
| <token key="AutofillSeamlessnessVisibility" |
| variants="AutofillSeamlessnessVisibility"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.CreditCard.Seamless{AutofillSeamlessnessFillability}.{AutofillSeamlessnessMeasurementTime}{AutofillSeamlessnessVisibility}.Bitmask" |
| enum="AutofillCreditCardSeamlessnessBitmask" expires_after="2026-09-27"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records for each credit card form the quality of the fill. |
| {AutofillSeamlessnessFillability} {AutofillSeamlessnessMeasurementTime} |
| {AutofillSeamlessnessVisibility} |
| |
| The emitted value is a non-zero bitmask whose bits have the following |
| meaning, from highest to lowest bit: |
| |
| Bit #4 is true iff a cardholder name was filled. |
| |
| Bit #3 is true iff a card number was filled. |
| |
| Bit #2 is true iff an expiraton date was filled. |
| |
| Bit #1 is true iff a CVC name was filled. |
| |
| Note that the Fillable.AtFillTimeAfterSecurityPolicy variant is not recorded |
| because at the time of recording the available information are not enough to |
| infer this metric. |
| </summary> |
| <token key="AutofillSeamlessnessFillability" |
| variants="AutofillSeamlessnessFillability"/> |
| <token key="AutofillSeamlessnessMeasurementTime" |
| variants="AutofillSeamlessnessMeasurementTime"/> |
| <token key="AutofillSeamlessnessVisibility" |
| variants="AutofillSeamlessnessVisibility"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.CreditCard.SelectionLatencySinceShown.CardWithIssuerId.{CardMetadataVisible}.{CardIssuerId}" |
| units="ms" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The latency between an Autofill credit card suggestion being shown, and when |
| it was selected, in milliseconds. Logged immediately when a card is selected |
| by the user if the card has an issuer id, and it is broken down by whether |
| the selected card has card metadata available. This is also broken down by |
| card issuer id. This helps identify whether showing the card metadata has |
| potential impact on latency for selecting a particular card. |
| </summary> |
| <token key="CardMetadataVisible" variants="Autofill.CardMetadataVisible"/> |
| <token key="CardIssuerId" variants="Autofill.CreditCardIssuerId"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.CreditCard.SelectionLatencySinceShown.{CardMetadataVisible}" |
| units="ms" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The latency between Autofill credit card suggestion dropdown being shown, |
| and when a suggestion was selected, in milliseconds. Logged immediately when |
| a card suggestion is selected by the user. Broken down by whether any card |
| (not necessarily the selected card) in the suggestion list has card metadata |
| available. This helps identify whether showing the card metadata has |
| potential impact on assisting card selection in general. |
| </summary> |
| <token key="CardMetadataVisible" variants="Autofill.CardMetadataVisible"/> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCard.SyncDisabledReason" |
| enum="AutofillSyncDisabledReason" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| When a credit card form is submitted and Chrome extracted a card from the |
| form, Chrome runs a sequence of checks to see if it should offer upload of |
| the card to Google Payments. The result of these checks are logged in the |
| "Autofill.CardUploadEnabled2" histogram. If it results in the |
| "SyncServiceMissingAutofillWalletDataActiveType" bucket, denoting |
| that Chrome Sync was missing an active kPayments sync type, this metric |
| additionally records the reason the sync type was deemed inactive. Logged at |
| the time these checks happen. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.CreditCard.{CardIssuer}.SelectedWithIssuerMetadataPresentOnce" |
| enum="Boolean" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true if a {CardIssuer} was selected in the suggestions. Emits false if |
| a {CardIssuer} with metadata existed in the suggestions list but was not |
| selected from the suggestions. Logged at the time a card selection was made. |
| Logged only once per page load. |
| </summary> |
| <token key="CardIssuer" variants="Autofill.CreditCardIssuerId"/> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCard.{CardIssuer}.{FormEventWithMetadata}" |
| enum="Boolean" expires_after="2027-04-30"> |
| <owner>viplavkadam@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true if a {CardIssuer}: |
| |
| 1. shown in Autofill suggestions had metadata |
| |
| 2. selected from Autofill suggestions had metadata |
| |
| Emits false if: |
| |
| 1. every {CardIssuer} shown in Autofill suggestions did not have metadata |
| |
| 2. a {CardIssuer} selected from Autofill suggestions did not have metadata |
| |
| Histograms without "Once" are logged every time Autofill |
| suggestions that are shown or selected have an issuer id. Histograms with |
| "Once" are logged once per page load. |
| </summary> |
| <token key="CardIssuer" variants="Autofill.CreditCardIssuerId"/> |
| <token key="FormEventWithMetadata" variants="Autofill.FormEventWithMetadata"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.CreditCard.{CardNetwork}.SelectedWithIssuerMetadataPresentOnce" |
| enum="Boolean" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true if a {CardNetwork} was selected in the suggestions. Emits false |
| if a {CardNetwork} with metadata existed in the suggestions list but was not |
| selected from the suggestions. Logged at the time a card selection was made. |
| Logged only once per page load. |
| </summary> |
| <token key="CardNetwork" variants="Autofill.CreditCardNetwork"/> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCard.{CardNetwork}.{FormEventWithMetadata}" |
| enum="Boolean" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true if a {CardNetwork}: |
| |
| 1. shown in Autofill suggestions had metadata |
| |
| 2. selected from Autofill suggestions had metadata |
| |
| Histograms without `Once` are logged every time Autofill suggestions that |
| are shown or selected have an issuer id. Histograms with `Once` are logged |
| once per page load. |
| </summary> |
| <token key="CardNetwork" variants="Autofill.CreditCardNetwork"/> |
| <token key="FormEventWithMetadata" variants="Autofill.FormEventWithMetadata"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.CreditCardInfoBar.{AutofillCreditCardInfoBarSaveType}{SaveType}" |
| enum="AutofillCreditCardInfoBar" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which users accept, deny, or ignore the Autofill |
| credit card info bar prompt. {AutofillCreditCardInfoBarSaveType}, |
| {SaveType}. |
| </summary> |
| <token key="AutofillCreditCardInfoBarSaveType"> |
| <variant name="Local" summary="Local credit card save"/> |
| <variant name="Server" summary="Server/upload credit card save"/> |
| </token> |
| <token key="SaveType" variants="AutofillCreditCardSaveType"/> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardSaveFlowResult.{SaveDestination}{SaveType}" |
| enum="AutofillCreditCardSaveFlowResult" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which users accept, deny, or ignore the Autofill |
| credit card prompt when card is saved to for a {SaveDestination} save, |
| {SaveType}. Note that this metric concerns the result of final save, rather |
| than the CTR of the prompt, and this metric should record when a decision of |
| whether card will be saved or not is made. |
| </summary> |
| <token key="SaveDestination"> |
| <variant name="Local" summary="local"/> |
| <variant name="Server" summary="server"/> |
| </token> |
| <token key="SaveType" variants="AutofillCreditCardSaveType"/> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardScanner.CandidatesCount" units="count" |
| expires_after="2027-04-01"> |
| <owner>yiwenqian@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records how many unique potential card numbers were detected during the |
| scan. A high number suggests "noisy" detection or a difficult |
| environment, which helps evaluate if the minimum confidence count is |
| filtering effectively. Recorded when a credit card is successfully |
| recognized by the scanner. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardScanner.FramesToSuccess" units="count" |
| expires_after="2027-04-01"> |
| <owner>yiwenqian@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the number of frames processed before a credit card is successfully |
| recognized. This helps distinguish between slow devices (low FPS) and |
| recognition difficulty. Recorded when a credit card is successfully |
| recognized by the scanner. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardScanner.MaxFrameLatency" units="ms" |
| expires_after="2027-04-01"> |
| <owner>yiwenqian@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the maximum latency observed for processing a single frame during a |
| credit card scan. Recorded when a credit card is successfully recognized by |
| the scanner. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardScanner.SlowFramesCount" units="count" |
| expires_after="2027-04-01"> |
| <owner>yiwenqian@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the number of frames that took longer than 33ms to process during a |
| credit card scan. Recorded when a credit card is successfully recognized by |
| the scanner. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardScanner.TimeToSuccess" units="ms" |
| expires_after="2027-04-01"> |
| <owner>yiwenqian@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the time elapsed from the first frame processed until a credit card |
| is successfully recognized. Recorded when a credit card is successfully |
| recognized by the scanner. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardsDeletedForDisuse" units="units" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>koerber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of local credit cards 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="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>koerber@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.CreditCardUpload.ConfirmationResult.{IsCardUploaded}" |
| enum="AutofillSavePaymentMethodPromptResultEnum" expires_after="2026-09-13"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the reason for closing the save card confirmation bubble which is |
| shown after the credit card upload is completed. IsCardUploaded |
| ({IsCardUploaded}) indicates whether the bubble shown was for a successful |
| credit card upload or not. Recorded when the confirmation bubble is closed. |
| </summary> |
| <token key="IsCardUploaded"> |
| <variant name="CardNotUploaded" |
| summary="Credit card failed to be uploaded to the server."/> |
| <variant name="CardUploaded" |
| summary="Credit card was successfully uploaded to the server."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardUpload.ConfirmationShown.{IsCardUploaded}" |
| enum="Boolean" expires_after="2026-09-13"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records if the save card confirmation bubble is shown after credit card |
| upload is completed. IsCardUploaded ({IsCardUploaded}) indicates whether the |
| confirmation bubble is for a successfull credit card upload or not. Recorded |
| after the confirmation bubble is shown or after the decision to not show the |
| confirmation bubble. |
| </summary> |
| <token key="IsCardUploaded"> |
| <variant name="CardNotUploaded" |
| summary="Credit card failed to be uploaded to the server."/> |
| <variant name="CardUploaded" |
| summary="Credit card was successfully uploaded to the server."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardUpload.LoadingResult" |
| enum="AutofillSavePaymentMethodPromptResultEnum" expires_after="2026-09-13"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the reason for closing the save card loading bubble which is shown |
| during the credit card upload. Recorded when the loading bubble is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardUpload.LoadingShown" enum="Boolean" |
| expires_after="2026-09-13"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records if the save card loading bubble is shown during credit card upload. |
| Recorded after the loading bubble is shown or after the decision to not show |
| the loading bubble. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CreditCardUpload.RanLocalSaveFallback" enum="Boolean" |
| expires_after="2026-09-13"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records if a new card is locally added during a local card save fallback on |
| credit card upload failures. This is true when the card being saved is a new |
| addition to the local cards and false when the card is identified as an |
| existing local card and so isn't added to the local cards. The value is |
| recorded immediately after running the local card save fallback. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.CvcAuth.{CardType}.Attempt" enum="BooleanAttempted" |
| expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true when a CVC authentication starts and does not emit any value |
| otherwise. Broken down into sub-histograms based on the type of the card, |
| for example virtual card or server card. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram name="Autofill.CvcAuth.{CardType}.Result" |
| enum="AutofillCvcAuthEvent" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the result of the OTP authentication, broken down into sub-histograms |
| by card type. The different possible results can be found in the |
| AutofillCvcAuthEvent enum, with the exception of any retriable failure, |
| which is logged in a separate histogram. This histogram is 1:1 with |
| Autofill.CvcAuth.{CardType}.Attempt |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram name="Autofill.CvcAuth.{CardType}.RetryableError" |
| enum="AutofillCvcAuthEvent" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs any retryable failure that occurs during the CVC authentication flow. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram name="Autofill.CvcInfoBar.{AutofillSaveCreditCardPromptDestination}" |
| enum="AutofillCreditCardInfoBar" expires_after="2027-04-30"> |
| <owner>yishuil@google.com</owner> |
| <owner>sujiezhu@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which users accept, deny, or ignore the Autofill |
| info bar prompt for saving card CVC |
| {AutofillSaveCreditCardPromptDestination}. |
| </summary> |
| <token key="AutofillSaveCreditCardPromptDestination" |
| variants="AutofillSaveCreditCardPromptDestination"/> |
| </histogram> |
| |
| <histogram name="Autofill.CvcStorage.CvcFilling.{CardType}" |
| enum="CvcFillingFlowType" expires_after="2027-04-30"> |
| <owner>jialihuang@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the authentication method used to fill a card that has a saved CVC. |
| Logged when CVC was filled in the form. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram name="Autofill.DataList.Events" enum="AutofillDataListEvents" |
| expires_after="2026-04-05"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records different events about datalist suggestions and the parsing of data |
| list options. It is emitted at different times, including during parsing |
| (for the respective event), suggestion generation and popup being displayed |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.DataUtilization.ByPossibleType" |
| enum="AutofillDataUtilizationByFieldType" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>bwolfgang@google.com</owner> |
| <owner>mlerman@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records, for fields that were submitted with values that were found in the |
| user's stored address profiles / credit cards, whether the field value was |
| autofilled or manually entered by the user. Note that fields that were |
| autofilled and then edited by the user or JavaScript count as "manually |
| entered". Note that fields that were submitted with a prefilled value |
| don't get recorded. Emitted on form submission. Broken down by the field's |
| possible types. Possible types are the field types that correspond to stored |
| values which matched the field value on form submission. A field can have |
| multiple possible types. This metric is recorded for every possible type. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.DataUtilization.{FieldState}.ByPossibleType" |
| enum="AutofillDataUtilizationByFieldType" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>bwolfgang@google.com</owner> |
| <owner>mlerman@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Split between fields that had predictions and fields that did not, records |
| whether they were submitted with values that were found in the user's stored |
| address profiles / credit cards, whether the field value was autofilled or |
| manually entered by the user. Note that fields that were autofilled and then |
| edited by the user or JavaScript count as "manually entered". Note |
| that fields that were submitted with a prefilled value don't get recorded. |
| Emitted on form submission. Broken down by the field's possible types. |
| Possible types are the field types that correspond to stored values which |
| matched the field value on form submission. A field can have multiple |
| possible types. This metric is recorded for every possible type. |
| </summary> |
| <token key="FieldState"> |
| <variant name="AutocompleteOffHadPrediction" |
| summary="Metrics are recorded if AutofillField::Type() returns a |
| known type and the autocomplete value is off."/> |
| <variant name="AutocompleteOffNoPrediction" |
| summary="Metrics are recorded if AutofillField::Type() returns an |
| unknown type and the autocomplete value is off."/> |
| <variant name="GarbageHadPrediction" |
| summary="Metrics are recorded if AutofillField::Type() returns a |
| known type and the autocomplete value is unrecognized."/> |
| <variant name="GarbageNoPrediction" |
| summary="Metrics are recorded if AutofillField::Type() returns an |
| unknown type and the autocomplete value is unrecognized."/> |
| <variant name="HadPrediction" |
| summary="Metrics are recorded if AutofillField::Type() returns a |
| known type."/> |
| <variant name="NoPrediction" |
| summary="Metrics are recorded if AutofillField::Type() returns an |
| unknown type."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.DataUtilization.{FieldTypesSelection}.{FieldState}" |
| enum="AutofillDataUtilization" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>bwolfgang@google.com</owner> |
| <owner>mlerman@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records, for fields that were submitted with values that were found in the |
| user's stored address profiles / credit cards, whether the field value was |
| autofilled or manually entered by the user. Note that fields that were |
| autofilled and then edited by the user or JavaScript count as "manually |
| entered". Note that fields that were submitted with a prefilled value |
| don't get recorded. Emitted on form submission. |
| </summary> |
| <token key="FieldTypesSelection"> |
| <variant name="AllFieldTypes" |
| summary="Metrics are recorded for all field types."/> |
| <variant name="SelectedFieldTypes" |
| summary="Metrics are recorded for field types whose associated values |
| typically are not small numbers, i.e. less than 100."/> |
| </token> |
| <token key="FieldState"> |
| <variant name="Aggregate" |
| summary="Aggregated data of all fields (within in the selection of |
| field types)."/> |
| <variant name="Garbage" |
| summary="Metrics are recorded if the autocomplete attribute is |
| unrecognized."/> |
| <variant name="GarbageHadPrediction" |
| summary="Metrics are recorded if the autocomplete attribute is |
| unrecognized and if AutofillField::Type() returns a known |
| type."/> |
| <variant name="HadPrediction" |
| summary="Metrics are recorded if AutofillField::Type() returns a |
| known type."/> |
| <variant name="NoPrediction" |
| summary="Metrics are recorded if AutofillField::Type() returns an |
| unknown type."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.DaysSinceLastUse.CreditCard" units="days" |
| expires_after="2026-12-12"> |
| <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="2026-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 "active" autofill address. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.DaysSinceLastUse.StoredCreditCard{AutofillCreditCardType}" |
| units="days" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <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. {AutofillCreditCardType} |
| </summary> |
| <token key="AutofillCreditCardType" variants="AutofillCreditCardType"> |
| <variant name=""/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.DaysSinceLastUse.StoredIban.{IbanRecordType}" |
| units="days" expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the number of days that have passed since each IBAN belonging to a |
| given Chrome Profile was last used. This is logged for each Autofill IBAN |
| once per Chrome User Profile load. |
| </summary> |
| <token key="IbanRecordType" variants="IbanRecordType"/> |
| </histogram> |
| |
| <histogram name="Autofill.DaysSinceLastUse.StoredProfile.{Category}" |
| units="days" expires_after="2026-12-12"> |
| <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 of the given category once |
| per Chrome User Profile load. |
| </summary> |
| <token key="Category" variants="StoredProfileCategories"/> |
| </histogram> |
| |
| <histogram name="Autofill.DaysUntilFirstUsage.Profile" units="day" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>bwolfgang@google.com</owner> |
| <owner>mlerman@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of days from saving an Autofill profile until using it |
| for the first time before it got purged. Emitted on the first usage of the |
| profile for filling a form. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Deletion.Settings.ConfirmationDialogShown" |
| enum="Boolean" expires_after="2026-06-01"> |
| <owner>lwojtach@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records true when the confirmation dialog for data deletion was shown and |
| false when it failed to show up due to the host activity not being an |
| instance of ModalDialogManagerHolder. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.DOMContentLoadedInOutermostMainFrame" enum="Boolean" |
| expires_after="2027-02-22"> |
| <owner>schwering@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether the AutofillAgent receives a DOMContentLoaded event in an |
| outermost main frame. This is useful as a denominator for timing metrics to |
| see how much time is spent in a certain function per page load (where page |
| includes the subframes). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.DriverRouter.TriggerFormExtractionExcept.Duration" |
| units="microseconds" expires_after="2026-10-04"> |
| <owner>vincb@google.com</owner> |
| <owner>schwering@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records the time it takes to trigger form extraction in all frames. This |
| corresponds to the duration of FormForest::TriggerFormExtractionExcept() and |
| is emitted per each execution. Note that histogram samples for clients |
| without high-resolution clocks are dropped. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.DriverRouter.TriggerFormExtractionExcept.FrameCount" |
| units="frames" expires_after="2026-09-27"> |
| <owner>vincb@google.com</owner> |
| <owner>schwering@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records the number of frames on which to trigger form extraction on. This |
| corresponds to the number of frames that will be iterated when calling |
| FormForest::TriggerFormExtractionExcept() and is emitted per each execution. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.EditedAutofilledFieldAtSubmission.AddressOnTyping" |
| enum="AutofilledFieldUserEditingStatus" expires_after="2026-10-25"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Emitted on form submission, for each field where an autofill address |
| suggestion on typing is accepted, logs whether the filled value was changed |
| between acceptance and submission time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.EditedAutofilledFieldAtSubmission2.Aggregate" |
| enum="AutofilledFieldUserEditingStatus" expires_after="2026-11-01"> |
| <owner>koerber@google.com</owner> |
| <owner>battre@google.com</owner> |
| <summary> |
| Records at submission time for each field that was autofilled by Autofill |
| (not Autocomplete or Password Manager) whether the user edited the |
| autofilled field value or not. This metric is aggregated over all field |
| types. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.EditedAutofilledFieldAtSubmission2.ByFieldType" |
| enum="AutofilledFieldUserEditingStatusByFieldType" |
| expires_after="2026-11-01"> |
| <owner>koerber@google.com</owner> |
| <owner>battre@google.com</owner> |
| <summary> |
| Records at submission time for each field that was autofilled by Autofill |
| (not Autocomplete or Password Manager) whether the user edited the |
| autofilled field value or not. This metrics resolves the field type. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.EditedDistanceAutofilledFieldAtSubmission.AddressOnTyping" |
| units="units" expires_after="2026-10-25"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The string distance between the filled value and the value submitted. |
| Emitted on form submission for each field where an autofill address |
| suggestion on typing is accepted. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.EditedPercentageAutofilledFieldAtSubmission.AddressOnTyping" |
| units="%" expires_after="2026-10-25"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The ratio between the number of characters edited and the total length of |
| the original string filled. This metric tries to measure the feature overall |
| feature value. Emitted on form submission for each field where an autofill |
| address suggestion on typing is accepted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.EmailHeuristicOnlyAcceptance" |
| enum="BooleanAutofillFillingAcceptance" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>mreichhoff@chromium.org</owner> |
| <owner>src/components/autofill/OWNERS</owner> |
| <summary> |
| This metric is intended to mimic the Autofill.KeyMetrics.FillingAcceptance |
| metric, but is recorded when the an email heuristic only form is observed. |
| 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 of whether other suggestions were ignored or whether |
| the accepted suggestion was reverted afterwards. |
| |
| This metric is experimental and may be removed in the future. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.EmailPredictionCorrectness.Precision" |
| enum="EmailPredictionConfusionMatrix" expires_after="2026-10-11"> |
| <owner>vizcay@chromium.org</owner> |
| <owner>jkeitel@chromium.org</owner> |
| <owner>src/components/autofill/OWNERS</owner> |
| <summary> |
| Logs the precision of an EMAIL_ADDRESS field prediction. Emitted at form |
| submission time for every field predicted as EMAIL_ADDRESS type. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.EmailPredictionCorrectness.Recall" |
| enum="EmailPredictionConfusionMatrix" expires_after="2026-10-11"> |
| <owner>vizcay@chromium.org</owner> |
| <owner>jkeitel@chromium.org</owner> |
| <owner>src/components/autofill/OWNERS</owner> |
| <summary> |
| Logs the recall of an EMAIL_ADDRESS field prediction. Emitted at form |
| submission time for every field for which its value matches the email |
| format. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ErrorDialogShown" enum="AutofillErrorDialogType" |
| expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>siashah@chromium.org</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Log when an autofill error dialog is shown to the user along with its type. |
| The type here denotes the flows in which the dialog is shown. Such flows |
| include virtual card retrieval, masked server card risk based authentication |
| and etc. See "AutofillErrorDialogType" for details. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ErrorDialogShown.WithServerText" |
| enum="AutofillErrorDialogType" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs when an autofill error dialog is shown along with its type. The type |
| here denotes the flows in which the dialog is shown. Such flows include |
| virtual card retrieval, masked server card risk based authentication and |
| etc. See "AutofillErrorDialogType" for details. This is a |
| secondary histogram to the "Autofill.ErrorDialogShown" and it is |
| logged when server side returns text to override the static client-side |
| error messages to be shown in the dialog. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ExpirationDateFixFlowPrompt.Events" |
| enum="AutofillExpirationDateFixFlowPromptEvent" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siashah@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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siashah@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="2026-12-12"> |
| <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.FieldFillingStats.{FormType}" |
| enum="FieldFillingStatus" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the status (see FieldFillingStatus) of a submitted field. Emitted once |
| per field at submission time. |
| </summary> |
| <token key="FormType"> |
| <variant name="Address"/> |
| <variant name="CreditCard"/> |
| <variant name="PostalAddress"/> |
| <variant name="StandaloneCvc"/> |
| <variant name="Unknown"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FieldPrediction.AugmentedPhoneCountryCode.{PredictionSource}" |
| enum="Boolean" expires_after="2026-09-06"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs whether a select field satisfies LikelyAugmentedPhoneCountryCode(). |
| |
| Emitted at form submission once for each select field in the submitted form. |
| {PredictionSource} |
| </summary> |
| <token key="PredictionSource"> |
| <variant name="Heuristics" |
| summary="Emitted only when the select field's heuristic type is |
| PHONE_HOME_COUNTRY_CODE."/> |
| <variant name="Overall" |
| summary="Emitted only when the select field's overall type is |
| PHONE_HOME_COUNTRY_CODE."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FieldPrediction.PhoneCountryCode.CorrectPredictionSource" |
| enum="AutofillPredictionSource2" expires_after="2026-09-06"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the prediction source of a field. |
| |
| Emitted at form submission, once for each field whose overall type is |
| PHONE_HOME_COUNTRY_CODE and whose possible_types include |
| PHONE_HOME_COUNTRY_CODE. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FieldPrediction.PhoneCountryCodeRationalizedToUnknown" |
| enum="Boolean" expires_after="2026-09-06"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs whether a field was classified as PHONE_COUNTRY_CODE but later reset to |
| UNKNOWN_TYPE by rationalization because no relevant fields were found |
| alongside it. |
| |
| Emitted at form submission, once for each field whose computed type is |
| PHONE_HOME_COUNTRY_CODE. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FieldPrediction.PhoneNumberGrammarUsage2" |
| enum="PhoneNumberGrammarUsage2" expires_after="2026-12-12"> |
| <owner>battre@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the index of the phone number grammar that matched. Emitted when |
| parsing forms using local heuristics. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FieldPredictionOverlap.{PerAutocompleteAttribute}.{PerActiveSource}.{PerType}" |
| enum="AutofillSourcesSupersetEnum" expires_after="2026-12-12"> |
| <owner>doland@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Which predicted types overlapped with the submitted type. Emitted on form |
| submission. Not emitted for EMPTY_TYPE and UNKNOWN_TYPE. Not emitted when |
| there is more than one possible type. See |
| go/field-prediction-overlap-metric-design. |
| </summary> |
| <!-- LINT.IfChange(AutofillPredictionSources) --> |
| |
| <token key="PerAutocompleteAttribute"> |
| <variant name="AutocompleteAttributeAbsent"/> |
| <variant name="AutocompleteAttributeAggregate"/> |
| <variant name="AutocompleteAttributePresent"/> |
| </token> |
| <token key="PerActiveSource"> |
| <variant name="AutocompleteAttributeActive"/> |
| <variant name="HeuristicsActive"/> |
| <variant name="NoPredictionExists"/> |
| <variant name="Overall"/> |
| <variant name="RationalizationActive"/> |
| <variant name="ServerCrowdsourcingActive"/> |
| <variant name="ServerOverrideActive"/> |
| </token> |
| <token key="PerType" variants="AutofillFieldType"> |
| <variant name="AllTypes"/> |
| </token> |
| <!-- LINT.ThenChange(/components/autofill/core/browser/autofill_field.cc:PredictionSourceTranslation) --> |
| |
| </histogram> |
| |
| <histogram |
| name="Autofill.FieldPredictionQuality.Aggregate.Heuristic.{LabelSource}" |
| enum="BooleanPredictionQualityByLabelSource" expires_after="2026-12-12"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Whether or not the heuristic type is contained in the possible types at |
| submission time. Not emitted if the possible type is empty or unknown. |
| </summary> |
| <token key="LabelSource"> |
| <variant name="AriaLabel"/> |
| <variant name="Combined"/> |
| <variant name="DdTag"/> |
| <variant name="DefaultSelectText"/> |
| <variant name="DivTable"/> |
| <variant name="ForId"/> |
| <variant name="ForName"/> |
| <variant name="ForShadowHostId"/> |
| <variant name="ForShadowHostName"/> |
| <variant name="LabelTag"/> |
| <variant name="LiTag"/> |
| <variant name="NoLabel"/> |
| <variant name="OverlayingLabel"/> |
| <variant name="Placeholder"/> |
| <variant name="PTag"/> |
| <variant name="TdTag"/> |
| <variant name="Value"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FieldPredictionQuality.Aggregate{AutofillFieldPredictionSource}{AutofillFieldPredictionSubmissionEvent}" |
| enum="AutofillFieldPredictionQuality" expires_after="2026-12-12"> |
| <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. {AutofillFieldPredictionSource} |
| {AutofillFieldPredictionSubmissionEvent} |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FieldPredictionQuality.ByFieldType{AutofillFieldPredictionSource}{AutofillFieldPredictionSubmissionEvent}" |
| enum="AutofillFieldPredictionQualityByFieldType" expires_after="2026-12-12"> |
| <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. {AutofillFieldPredictionSource} |
| {AutofillFieldPredictionSubmissionEvent} |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FieldPrediction{AutofillFieldPredictionSource}{AutofillFieldPredictionSubmissionEvent}" |
| units="units" expires_after="2026-12-12"> |
| <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 << 16)| actual). Predicted and actual |
| are taken from the autofill::FieldType enumeration. |
| {AutofillFieldPredictionSource} {AutofillFieldPredictionSubmissionEvent} |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FieldTypeAtSubmission.PreferredSource.Aggregate" |
| enum="AutofillPredictionSource2" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the prediction source used to make the overall type of a field. |
| Emitted once at submission time for every submitted field with non-trivial |
| type. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FieldTypeAtSubmission.PreferredSource.ByFieldType" |
| enum="AutofillPredictionSourceByFieldType" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the prediction source used to make the overall type of a field, |
| split by the field type. Emitted once at submission time for every submitted |
| field with non-trivial type. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FieldTypeAtSubmission.{PredictionSource}Type" |
| enum="AutofillFieldType" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the type of the field as seen at submission time. |
| |
| {PredictionSource}. |
| |
| Emitted once at submission time for every submitted field with non-trivial |
| type. |
| </summary> |
| <token key="PredictionSource"> |
| <variant name="Heuristic" summary="Records the heuristic type."/> |
| <variant name="Html" summary="Records the html type."/> |
| <variant name="Overall" summary="Records the overall type."/> |
| <variant name="Server" summary="Records the server type."/> |
| <variant name="Voted" summary="Records the type to upload as a vote."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FillDuration.FromInteraction.WithAutofill{AutofillFormType}" |
| units="units" expires_after="2026-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. {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"> |
| <variant name=""/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FillDuration.FromInteraction.WithoutAutofill{AutofillFormType}" |
| units="units" expires_after="2026-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. {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"> |
| <variant name=""/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.FillDuration.FromLoad.WithAutofill" units="units" |
| expires_after="2026-12-12"> |
| <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="2026-12-12"> |
| <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.FilledCardInformationBubble.FieldClicked" |
| enum="AutofillFilledCardInformationBubbleFieldClicked" |
| expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records which field in the filled card information bubble was selected by |
| the user and had its contents copied to the clipboard. Recorded on every |
| click of a field in the bubble. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FilledCardInformationBubble.Result.{ShowType}" |
| enum="AutofillFilledCardInformationBubbleResult" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the reason for closing the filled card information bubble. Recorded |
| when the bubble is closed. |
| </summary> |
| <token key="ShowType" variants="FirstShowOrReshow"/> |
| </histogram> |
| |
| <histogram name="Autofill.FilledCardInformationBubble.Shown" |
| enum="BooleanPreviouslyShown" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| This metric is recorded whenever the filled card information bubble is |
| shown, after the user has just unmasked and autofilled a virtual card. It |
| records whether the bubble has just appeared for the first time (false) or |
| if it is being reshown due to user actions (true). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Filling.DidAlternativeNameFieldRequireConversion" |
| enum="BooleanYesNo" expires_after="2026-10-04"> |
| <owner>aayazhan@google.com</owner> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether the alternative name field requires transliteration from |
| Hiragana to Katakana. It will be true if conversion is required and false |
| otherwise. Recorded during the preview and field filling moment. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FocusedField.FieldType{Origin}" |
| enum="AutofillFieldType" expires_after="2026-09-27"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary>Recorded when a {Origin} field receives the focus.</summary> |
| <token key="Origin"> |
| <variant name="" summary=""/> |
| <variant name=".CrossOrigin" summary="cross origin"/> |
| <variant name=".SameOrigin" summary="same origin"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.FormEvents.CreditCard.Benefits" |
| enum="CardBenefitFormEvent" expires_after="2027-04-30"> |
| <owner>ferny@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Autofill form events for credit card forms that contain at least one |
| suggestion where a card benefit is available. This includes logging for when |
| card suggestions with benefits are shown, selected, filled, and submitted, |
| and logs at each of those times. Log emission pertains to all credit cards |
| with card benefits available. Each CardBenefitFormEvent metric can be |
| recorded once per page load. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormEvents.CreditCard.Benefits.{CardBenefitSource}" |
| enum="CardBenefitFormEvent" expires_after="2027-04-30"> |
| <owner>ferny@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Autofill form events for credit card forms that contain at least one |
| suggestion where a card benefit is available. This includes logging for when |
| card suggestions with benefits are shown, selected, filled, and submitted, |
| and logs at each of those times. Log emission pertains to credit cards where |
| the benefit source is {CardBenefitSource}. Each CardBenefitFormEvent metric |
| can be recorded once per page load. |
| </summary> |
| <token key="CardBenefitSource" variants="Autofill.CreditCardBenefitSource"/> |
| </histogram> |
| |
| <histogram name="Autofill.FormEvents.CreditCard.Bnpl" enum="BnplFormEvent" |
| expires_after="2027-04-30"> |
| <owner>yiwenqian@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| This histogram records events related to Buy Now Pay Later (BNPL) |
| suggestions on credit card forms of BNPL-eligible merchant sites. It tracks |
| when the BNPL suggestion is shown, selected, filled, and submitted. Each |
| event log is emitted when the action occurs (suggestion shown, selected, |
| etc.). Each BnplFormEvent metric can be recorded once per page load. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormEvents.CreditCard.Bnpl.PayLaterTab" |
| enum="PayLaterTabsFormEvent" expires_after="2027-04-30"> |
| <owner>yishuil@google.com</owner> |
| <owner>wilsonlow@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| This histogram records events related to Buy Now Pay Later (BNPL) |
| suggestions in tabbed pane. It tracks when the BNPL suggestion is shown, |
| selected, filled, and submitted from a suggestion dropdown with a tabbed |
| pane. Additionally, suggestion tab switch events are also tracked. Each |
| event log is emitted when the action occurs (suggestion shown, selected, |
| etc.). Each PayLaterTabsFormEvent metric can be recorded once per page load. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormEvents.CreditCard.CardInfoRetrievalEnrolled" |
| enum="CardInfoRetrievalEnrolledLoggingEvent" expires_after="2027-04-30"> |
| <owner>jialihuang@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| These metrics log the autofill form events for card info retrieval enrolled |
| card, such as when card info retrieval enrolled card suggestion(s) is/are |
| shown, selected, or filled for a card info retrieval enrolled card, or the |
| form is about to be submitted or submitted after a card info retrieval |
| enrolled card is autofilled. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormEvents.CreditCard.SaveAndFill" |
| enum="SaveAndFillFormEvent" expires_after="2027-04-30"> |
| <owner>averina@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| This histogram logs form events related to the Save and Fill suggestion on |
| credit card forms. Logged once per page load when the suggestion is shown. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FormEvents.CreditCard.WithBenefits.{CardBenefitSource}" |
| enum="AutofillFormEvent" expires_after="2027-04-30"> |
| <owner>yishuil@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Autofill form events for credit card forms that contain at least one |
| suggestion where a card benefit is available. This includes logging for when |
| card suggestions with benefits are shown, selected, filled, and submitted, |
| and logs at each of those times. Log emission pertains to credit cards where |
| the benefit source is {CardBenefitSource}. |
| </summary> |
| <token key="CardBenefitSource" variants="Autofill.CreditCardBenefitSource"/> |
| </histogram> |
| |
| <histogram name="Autofill.FormEvents.Iban" enum="AutofillIbanFormEvent" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| This histogram logs form events related to IBAN suggestions being shown, |
| selected, filled, and submitted on IBAN forms. Note that logging is |
| happening to the initial occurrence per page load. Specifically, if a user |
| interacts with multiple IBAN forms or triggers multiple suggestions (e.g., |
| switching from a local to a server-based IBAN), only the first sequence of |
| events is recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormEvents.{AddressFormType}" |
| enum="AutofillFormEvent" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>koerber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Autofill form events for {AddressFormType} forms. These are recorded when |
| the user interacts with a form requesting an address. |
| |
| 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 "Submitted |
| with server suggestion filled (once)"; - 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 "Submitted with server suggestion |
| filled (once)". |
| </summary> |
| <token key="AddressFormType" variants="AutofillFormType.Address"/> |
| </histogram> |
| |
| <histogram name="Autofill.FormEvents.{CreditCardFormType}" |
| enum="AutofillFormEvent" expires_after="2026-12-12"> |
| <owner>osaul@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Autofill form events for {CreditCardFormType} forms. These are recorded when |
| the user interacts with a form requesting a credit card. |
| |
| 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, then completed, erased, or |
| modified the data after and then submitted, we would only emit one |
| "Submitted with server suggestion filled (once)"; - 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 "Submitted |
| with server suggestion filled (once)". |
| </summary> |
| <token key="CreditCardFormType" variants="AutofillFormType.CreditCard"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.FormEvents.{CreditCardFormType}.{CreditCardDataAvailability}" |
| enum="AutofillFormEvent" expires_after="2026-12-12"> |
| <owner>osaul@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Autofill form events for {CreditCardFormType} forms. These are recorded when |
| the user interacts with a form requesting a credit card and has |
| {CreditCardDataAvailability}. |
| |
| 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, then completed, erased, or |
| modified the data after and then submitted, we would only emit one |
| "Submitted with server suggestion filled (once)"; - 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 "Submitted |
| with server suggestion filled (once)". |
| </summary> |
| <token key="CreditCardFormType" variants="AutofillFormType.CreditCard"/> |
| <token key="CreditCardDataAvailability" |
| variants="CreditCardDataAvailability"/> |
| </histogram> |
| |
| <histogram name="Autofill.FormFillingComplexScore{AutofillFormType}" |
| units="complex filling score" expires_after="2026-08-30"> |
| <owner>koerber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| For {AutofillFormType} logs a filling complex score on form submission that |
| is calculated as following: |
| |
| Score = 10 * number_of_accepted_fields + number_of_corrected_fields |
| |
| The score resembles a two dimensional histogram to evaluate the number of |
| accepted fields against the number of corrected ones. Both number of fields |
| used in the score are limited to 9 to guaranteed that the score will be |
| within 0 and 99 and that the significant digit corresponds to the number of |
| accepted fields while the least significant digit corresponds to the number |
| of corrected fields. |
| |
| The score is only emitted when there is at least one correct or accepted |
| field. |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"/> |
| </histogram> |
| |
| <histogram name="Autofill.FormFillingScore{AutofillFormType}" |
| units="filling score" expires_after="2026-12-12"> |
| <owner>battre@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| For {AutofillFormType} logs a filling score on form submission that is |
| calculated as following: |
| |
| Score = 2 * number_of_accepted_fields - 3 * number_of_corrected_fields + 100 |
| |
| The score is only emitted when there is at least one correct or accepted |
| field. |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"/> |
| </histogram> |
| |
| <histogram name="Autofill.FormFillSuccessIOS" |
| enum="BooleanAutofillFormFillSuccessIOS" expires_after="2026-12-12"> |
| <owner>tmartino@chromium.org</owner> |
| <owner>bling-transactions@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether the form was successfully filled by Autofill on iOS. |
| Recorded after receiving the filling results from the renderer. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormForest.GetBrowserFormOfRendererForm.Duration" |
| units="microseconds" expires_after="2026-11-01"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the time it takes to retrieve a browser form for a given renderer |
| form. (A renderer form is a single frame's form, whereas a browser form may |
| or may not transcend multiple frames.) This corresponds to the duration of |
| FormForest::GetBrowserFormOfRendererForm() and is emitted per each |
| execution. Note that histogram samples for clients without high-resolution |
| clocks are dropped. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormForest.GetRendererFormsOfBrowserForm.Duration" |
| units="microseconds" expires_after="2026-09-13"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the time it takes to retrieve the renderer forms for a given browser |
| form. (A renderer form is a single frame's form, whereas a browser form may |
| or may not transcend multiple frames.) This corresponds to the duration of |
| FormForest::GetRendererFormsOfBrowserForm() and is emitted per each |
| execution. Note that histogram samples for clients without high-resolution |
| clocks are dropped. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormForest.UpdateTreeOfRendererForm.Duration" |
| units="microseconds" expires_after="2026-09-13"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the time it takes to update Autofill's form/frame tree. This |
| corresponds to the duration of FormForest::UpdateTreeOfRendererForm() and is |
| emitted per each execution. Note that histogram samples for clients without |
| high-resolution clocks are dropped. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormForest.UpdateTreeOfRendererForm.Visits" |
| units="node-visits" expires_after="2026-11-01"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records nodes visited on a form/frame tree. This is emitted per each call of |
| FormForest::UpdateTreeOfRendererForm() that actually does an entire tree |
| traversal. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormsAiSettingsPage.VisitReferrer" |
| enum="AutofillSettingsReferrer" expires_after="2026-09-15"> |
| <owner>ireneuszszulc@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the entry point (referrer) every time the user visits the 'Forms AI' |
| settings page from a tracked entry point. This metric is emitted on |
| navigation to the page, with the enum values distinguishing the entry points |
| (different ways of reaching the page). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.FormSubmission.PerProfileType" |
| enum="BrowserProfileType" expires_after="2026-09-06"> |
| <owner>arabm@google.com</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.Funnel.ClassifiedAsTargetFilling.FillAfterSuggestion.Password" |
| enum="BooleanAutofillFillAfterSuggestion" expires_after="2026-06-05"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Counts whether users accepted any password suggestion that was shown to them |
| for a given form. This metric is conditioned to those suggestions that were |
| triggered via the context menu on a field that matches the target filling |
| product password. |
| |
| This metric is only recorded if a suggestion for the password form was |
| shown, accepted, and the suggestion was filled successfully. This is |
| recorded once per navigation. It is reported as "User chose to |
| fill" once. It does not matter if the user clears the filled values nor |
| if the user accepts a different suggestion later. |
| |
| If the accepted suggestion is not filled (e.g., if it required |
| authentication and the user cancelled or failed that step), then this metric |
| is not recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Funnel.FillAfterSuggestion.{FormType}" |
| enum="BooleanAutofillFillAfterSuggestion" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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 {FormType} was shown, |
| accepted, and the suggestion was filled successfully. This is recorded once |
| per navigation. It is reported as "User chose to fill" once. It |
| does not matter if the user clears the filled values nor if the user accepts |
| a different suggestion later. |
| |
| If the accepted suggestion is not filled (e.g., if it required |
| authentication and the user cancelled or failed that step), then this metric |
| is not recorded. |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram name="Autofill.Funnel.InteractionAfterParsedAsType.{FormType}" |
| enum="BooleanAutofillInteractionAfterParsedAsType" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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. {FormType} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.Funnel.NotClassifiedAsTargetFilling.FillAfterSuggestion.Password" |
| enum="BooleanAutofillFillAfterSuggestion" expires_after="2026-10-11"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Counts whether users accepted any password suggestion that was shown to them |
| for a given form. This metric is conditioned to those suggestions that were |
| triggered via the context menu on a field that does not match the target |
| filling product. |
| |
| This metric is only recorded if a password suggestion was shown, accepted, |
| and the suggestion was filled successfully. This is recorded once per |
| navigation. It is reported as "User chose to fill" once. It does |
| not matter if the user clears the filled values nor if the user accepts a |
| different suggestion later. |
| |
| If the accepted suggestion is not filled (e.g., if it required |
| authentication and the user cancelled or failed that step), then this metric |
| is not recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Funnel.ParsedAsType.{FormType}" |
| enum="BooleanAutofillParsedAsType" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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. {FormType} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram name="Autofill.Funnel.SubmissionAfterFill.{FormType}" |
| enum="BooleanAutofillSubmissionAfterFill" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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. {FormType} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram name="Autofill.Funnel.SuggestionAfterInteraction.{FormType}" |
| enum="BooleanAutofillSuggestionAfterInteraction" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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. {FormType} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram name="Autofill.HomeAndWork.ProfileFiltered" enum="BooleanFiltered" |
| expires_after="2026-09-06"> |
| <owner>jsobiech@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Tracks whether a Home/Work profile was filtered out due to incompleteness. |
| Emitted the moment Home/Work profiles are received or updated via sync. |
| |
| Since the server already checks completeness on a best-effort basis, this |
| metric is not representative of the total fraction of incomplete Home/Work |
| addresses. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.HomeAndWork.RemovedFromChrome.{Type}" |
| enum="BooleanAutofillHomeAndWorkRemoved" expires_after="2026-09-06"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| On browser startup, emits whether the user has chosen to remove their {Type} |
| address from Chrome. Only emitted for users with a {Type} address. |
| </summary> |
| <token key="Type"> |
| <variant name="Home"/> |
| <variant name="Work"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.HomeAndWork.SilentUpdates.Lost" units="SilentUpdates" |
| expires_after="2026-09-06"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| On sign-out, emits the total number of silent updates to Home and Work |
| addresses since the previous sign-out. Since these silent updates are not |
| synced, this corresponds to the total number of silent updates lost. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.HomeAndWork.SilentUpdates.Performed" |
| units="SilentUpdates" expires_after="2026-09-06"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Whenever a Home and Work address is updated, emits the total number of |
| silent updates that this address has received since the last sign-out. The |
| total count of this metrics puts the number of |
| Autofill.HomeAndWork.SilentUpdates.Lost into perspective. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.HomeAndWork.SilentUpdates.Usage" |
| enum="BooleanAutofillHomeAndWorkSilentUpdateUsage" |
| expires_after="2026-09-06"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Whenever a Home and Work address is filled, logs whether this address has |
| received any silent updates since the last sign-out. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.HomeAndWork.SuggestionPresent.{SuggestionType}" |
| enum="BooleanYesNo" expires_after="2026-09-06"> |
| <owner>jsobiech@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Tracks the presence of a home/work profile in address suggestions at least |
| once during the form interaction. Metric emitted at form submission time, |
| only when a user has a home/work profile set and if at least one suggestion |
| was shown. |
| </summary> |
| <token key="SuggestionType"> |
| <variant name="Home"/> |
| <variant name="Work"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Iban.CountryOfSaveAcceptedIban" enum="IbanCountry" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The country code of an IBAN that was accepted to be saved. Recorded upon the |
| user deciding to accept the offer to save the IBAN. This metric includes |
| both local and server IBANs. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Iban.CountryOfSaveOfferedIban" enum="IbanCountry" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The country code of an IBAN that was offered to be saved. Recorded upon |
| deciding whether to offer save. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Iban.CountryOfSelectedIban" enum="IbanCountry" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The country code of an IBAN suggestion that was selected. Recorded when the |
| user clicks on the IBAN suggestion. This metric includes both local and |
| server IBANs. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Iban.ShowSuggestionsBlocklistDecision" |
| enum="IbanSuggestionBlockListStatus" expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Recorded when the user has IBANs and clicks on an IBAN form field. Logs |
| whether IBAN suggestions were allowed to be shown, blocked from being shown, |
| or if the blocklist was not accessible at all. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Iban.Suggestions" enum="IbanSuggestionsEvent" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| These metrics are relevant to the IBAN suggestions popup, such as when it is |
| shown or when a suggestion is selected. The IBAN-based suggestions popup |
| gets displayed when a form's field that can be autofilled with an IBAN is |
| selected, and the user has at least one IBAN saved. The metric is recorded |
| upon each action, such as IBAN suggestions being shown or selected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Iban.UnmaskIbanDuration{UnmaskIbanResult}" units="ms" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Recorded at a successful return of an unmask server IBAN call. This metric |
| tracks the duration from the user's click on a server IBAN suggestion to the |
| successful reception of a response of unmasking a server IBAN. |
| </summary> |
| <token key="UnmaskIbanResult"> |
| <variant name="" summary="UnmaskIban request overall"/> |
| <variant name=".Failure" summary="UnmaskIban request failed"/> |
| <variant name=".Success" summary="UnmaskIban request succeeded"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Iban.UnmaskIbanResult" enum="Boolean" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Recorded upon receiving the response for an unmask server IBAN call. This |
| metric tracks whether the unmask call succeeded or failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.IbanUpload.SaveFailed" enum="Boolean" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Indicates that an IBAN upload save failed, logged at the time of failure. |
| Records true if the IBAN was able to be saved locally as a fallback, or |
| false if it was not (such as in the case of an existing local IBAN). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.IbanUploadEnabled" enum="IbanUploadEnabledStatus" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the reason why (or why not) IBAN upload was enabled. Logged when a user |
| submits a form, which triggers the check to decide whether to ask the users |
| if they want to upload the IBAN. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.IbanUploadEnabled.{AutofillPaymentsSigninState}" |
| enum="IbanUploadEnabledStatus" expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the reason why (or why not) IBAN upload was enabled. Logged when a user |
| submits a form, which triggers the check to decide whether to ask the users |
| if they want to upload the IBAN. |
| </summary> |
| <token key="AutofillPaymentsSigninState" |
| variants="Autofill.PaymentsSigninState"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.ImageFetcher.{AutofillImage}.OverallResultOnBrowserStart" |
| enum="BooleanSuccess" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>siashah@google.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the image fetching overall result for a {AutofillImage} on browser |
| startup. Logged once for each {AutofillImage} either when the fetching was |
| successful or when a preset maximum number of fetching attempts were made. |
| Logs true if the image was fetched successfully, and false if the image |
| fetching was unsuccessful after a preset maximum number of attempts. |
| </summary> |
| <token key="AutofillImage" variants="AutofillImage"/> |
| </histogram> |
| |
| <histogram name="Autofill.ImageFetcher.{AutofillImage}.Result" |
| enum="BooleanSuccess" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>siashah@google.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the image fetch result of a {AutofillImage} image. Logged every time |
| an attempt is made to fetch the {AutofillImage}, including retries. All |
| attempts are made during browser startup. If the image was fetched |
| successfully, logs true, false otherwise. |
| </summary> |
| <token key="AutofillImage" variants="AutofillImage"/> |
| </histogram> |
| |
| <histogram name="Autofill.iOS.FormActivity.SendRatio" units="%" |
| expires_after="2026-09-20"> |
| <owner>vincb@google.com</owner> |
| <owner>eic@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records the percentage of form activities that were really sent to the |
| browser from the renderer. Recorded when the browser receives the last |
| message of a batch of form activity messages. Only recorded on iOS. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.iOS.FormActivity.SubmissionDetectedBeforeProcessing.BatchSize" |
| enum="CountedSubmissionType" expires_after="2025-12-30"> |
| <owner>vincb@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records the size of the batch of form submission reports. Recorded when when |
| the browser receives a batch of reports. Only recorded on iOS. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.iOS.FormActivity.SubmissionDetectedBeforeProcessing.PerType.{Source}" |
| enum="CountedSubmissionType" expires_after="2025-12-30"> |
| <owner>vincb@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records the type of form submission detected in the renderer before |
| processing the submission (including throttling), split by {Source} of |
| reporting. Recorded when the browser receives the form submission count |
| report. Only recorded on iOS. |
| </summary> |
| <token key="Source"> |
| <variant name="FromInstant" summary="instant reporting, no throttling"/> |
| <variant name="FromScheduledTask" |
| summary="reporting done via a scheduled task"/> |
| <variant name="FromUnloadPage" summary="reporting done on page unload"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.iOS.FormActivity.{Outcome}Count" units="count" |
| expires_after="2026-09-20"> |
| <owner>vincb@google.com</owner> |
| <owner>eic@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records the number of form activies observed in the renderer where |
| {Outcome}. Recorded when the browser receives the last message of a batch of |
| form activity messages. Only recorded on iOS. |
| </summary> |
| <token key="Outcome"> |
| <variant name="Drop" summary="form activity was dropped"/> |
| <variant name="Send" summary="form activity sent to the browser"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.iOS.FormExtraction.ForScan.BatchSize" units="count" |
| expires_after="2026-08-24"> |
| <owner>vincb@google.com</owner> |
| <owner>tmartino@chromium.org</owner> |
| <owner>eic@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records the number of form extraction requests in a form extraction batch |
| done for scanning a document, when batching is enabled. Recorded when the |
| batch delayed task is run regardless of the outcome of the task (e.g. the |
| task failed because the frame disappeared somewhere between scheduling and |
| running). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.iOS.FormRemoval.RemovedUnownedFields" units="count" |
| expires_after="2027-02-01"> |
| <owner>vincb@google.com</owner> |
| <owner>eic@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records then number of removed formless fields in a form removal event. |
| Recorded when a set of html forms or formless fields are removed from the |
| page. Maximum number of fields recorded is 100. iOS only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.iOS.FormRemoval.SubmissionDetected" enum="Boolean" |
| expires_after="2027-02-01"> |
| <owner>vincb@google.com</owner> |
| <owner>eic@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records whether a form submission was inferred after html forms or formless |
| fields were removed from the page. Recorded when a set of html forms or |
| formless fields are removed from the page. iOS only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.iOS.FormSubmission.IsProgrammatic" enum="Boolean" |
| expires_after="2026-09-27"> |
| <owner>eic@google.com</owner> |
| <owner>vincb@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records whether an http form submission was triggered by a script (i.e. |
| form.submit()). On iOS, we have to modify the prototype of HtmlFormElement |
| to detect programmatic form submissions. This histogram is for tracking |
| which submissions are detected through the modified prototype. Recorded when |
| the browser process receives a form submission message from the renderer. |
| iOS only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.iOS.FormSubmission.Outcome.InvalidFormReason" |
| enum="InvalidSubmittedFormReasonIOS" expires_after="2026-09-27"> |
| <owner>eic@google.com</owner> |
| <owner>vincb@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records the reason why a submitted form data was found invalid by the |
| browser process. Recorded when the browser process receives a form |
| submission message from the renderer. iOS only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.iOS.FormSubmission.OutcomeV2" |
| enum="FormSubmissionOutcomeIOS" expires_after="2026-09-27"> |
| <owner>eic@google.com</owner> |
| <owner>vincb@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records the outcome of a form submission on iOS. This histogram tracks the |
| various reasons why a form submission message received by the browser |
| process from the renderer may be invalid or successfully handled. Recorded |
| when the browser process receives a form submission message from the |
| renderer. iOS only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.iOS.TriggeredFormExtractionFromDriver.{Range}" |
| units="count" expires_after="2026-10-12"> |
| <owner>vincb@google.com</owner> |
| <owner>tmartino@chromium.org</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| Records the number of form extractions that were triggered on a frame during |
| its driver lifetime. Covers a {Range} of possible counts to balance between |
| coverage and precision by offering different levels of granularity. Each |
| driver (aka each frame), records their count. Recorded when the driver is |
| deleted and if there was at least one extraction done. |
| </summary> |
| <token key="Range"> |
| <variant name="LargeRange" summary="large range of possible counts"/> |
| <variant name="MediumRange" summary="medium range of possible counts"/> |
| <variant name="SmallRange" summary="small range of possible counts"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.IsEnabled.PageLoad" enum="BooleanEnabled" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>osaul@google.com</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="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>osaul@google.com</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 |
| name="Autofill.KeyMetrics.FillingAcceptance.GroupedByFocusedFieldType" |
| enum="FillingAcceptanceByFieldType" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Emitted for submitted forms. For each field type, records whether the user |
| accepted a suggestion or not from a field with that type, provided that a |
| suggestion was shown for such a field. |
| |
| "Foo: Accepted" means that regardless how many times the user |
| ignored suggestions of fields with type "Foo", they accepted a |
| suggestion on such a field at least once before submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.KeyMetrics.FillingAcceptance.{FormType}{Profile}" |
| enum="BooleanAutofillFillingAcceptance" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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. {FormType} |
| |
| {Profile} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| <token key="Profile" variants="ProfileIndex"/> |
| </histogram> |
| |
| <histogram name="Autofill.KeyMetrics.FillingAssistance.{FormType}{Profile}" |
| enum="BooleanAutofillFillingAssistance" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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. {FormType} |
| |
| {Profile} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| <token key="Profile" variants="ProfileIndex"/> |
| </histogram> |
| |
| <histogram name="Autofill.KeyMetrics.FillingCorrectness.{FormType}{Profile}" |
| enum="BooleanAutofillFillingCorrectness" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Counts for submitted and autofilled forms whether users edited at least one |
| filled value before submitting the form. {FormType} |
| |
| {Profile} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| <token key="Profile" variants="ProfileIndex"/> |
| </histogram> |
| |
| <histogram name="Autofill.KeyMetrics.FillingReadiness.{FormType}{Profile}" |
| enum="BooleanAutofillFillingReadiness" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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. {FormType} |
| |
| {Profile} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| <token key="Profile" variants="ProfileIndex"/> |
| </histogram> |
| |
| <histogram name="Autofill.KeyMetrics.FormSubmission.Autofilled.{FormType}" |
| enum="BooleanAutofillSubmission" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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). {FormType} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram name="Autofill.KeyMetrics.FormSubmission.NotAutofilled.{FormType}" |
| enum="BooleanAutofillSubmission" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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). {FormType} |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram name="Autofill.LabelInference.InferredLabelSource.AtSubmission2" |
| enum="InferredLabelSource" expires_after="2026-10-25"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs how/if the label of an input was derived. Emitted at form submission |
| for every field where the data the user entered matches some stored Autofill |
| data. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Leipzig.FillingAssistanceCategory" |
| enum="AutofillCategoryResolvedFillingAssistance" expires_after="2026-09-27"> |
| <owner>koerber@chromium.org</owner> |
| <owner>fleimgruber@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Like Autofill.KeyMetrics.FillingAssistance.Address, but split by profile |
| category. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Leipzig.FillingCorrectness.{Category}" |
| enum="BooleanAutofillFillingCorrectness" expires_after="2026-09-27"> |
| <owner>koerber@chromium.org</owner> |
| <owner>fleimgruber@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Like Autofill.KeyMetrics.FillingCorrectness.Address, but split by profile |
| category. |
| </summary> |
| <token key="Category"> |
| <variant name="AccountChrome" |
| summary="Only kAccount profiles originating from Chrome were used"/> |
| <variant name="AccountHome" summary="Only a kAccountHome profile was used"/> |
| <variant name="AccountNameEmail" |
| summary="Only a kAccountNameEmail profile was used"/> |
| <variant name="AccountNonChrome" |
| summary="Only kAccount profiles originating from outside Chrome were |
| used"/> |
| <variant name="AccountWork" summary="Only a kAccountWork profile was used"/> |
| <variant name="Legacy" summary="Only kLegacyOrSyncable profiles were used"/> |
| <variant name="Mixed" |
| summary="Multiple profiles of mixed categories were used"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Leipzig.FillingReadinessCategory" |
| enum="AutofillCategoryResolvedFillingReadiness" expires_after="2026-11-01"> |
| <owner>koerber@chromium.org</owner> |
| <owner>fleimgruber@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Like Autofill.KeyMetrics.FillingReadiness.Address, but split by profile |
| category. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.LocalHeuristics.MatchedAttribute" |
| enum="AutofillMatchAttribute" expires_after="2027-02-09"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Whenever local heuristics are computed, logs the MatchAttribute that was |
| used to determine the heuristic type for each field. "None" means |
| that no parser found a classification for the field, resulting in an |
| UNKNOWN_TYPE. "Ambiguous" means that multiple MatchAttributes |
| matched for different regexes. Since local heuristics attempt to match |
| regexes against the label first, this metric is skewed towards label |
| matches. A match in the label doesn't imply that the name wouldn't have |
| matched, but a match in name means that the label did't match. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.LogEvent.{LogEventTypes}" units="units" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of log events of type {LogEventTypes} which have been recorded |
| until the FieldInfo metric is recorded into UKM at form submission or form |
| destruction time (whatever comes first). |
| </summary> |
| <token key="LogEventTypes"> |
| <variant name="AblationEvent" |
| summary="total number of AblationEvent events recorded"/> |
| <variant name="All" summary="total number of all the log events recorded"/> |
| <variant name="AskForValuesToFillEvent" |
| summary="total number of AskForValuesToFillFieldLogEvent events |
| recorded"/> |
| <variant name="AutocompleteAttributeEvent" |
| summary="total number of AutocompleteAttributeFieldLogEvent events |
| recorded"/> |
| <variant name="FillEvent" |
| summary="total number of FillFieldLogEvent events recorded"/> |
| <variant name="HeuristicPredictionEvent" |
| summary="total number of HeuristicPredictionFieldLogEvent events |
| recorded"/> |
| <variant name="RationalizationEvent" |
| summary="total number of RationalizationFieldLogEvent events recorded"/> |
| <variant name="ServerPredictionEvent" |
| summary="total number of ServerPredictionFieldLogEvent events |
| recorded"/> |
| <variant name="TriggerFillEvent" |
| summary="total number of TriggerFillFieldLogEvent events recorded"/> |
| <variant name="TypingEvent" |
| summary="total number of TypingFieldLogEvent events recorded"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.LoyaltyCard.EmailOrLoyaltyCardAcceptance" |
| enum="AutofillEmailOrLoyaltyCardAcceptanceMetricValue" |
| expires_after="2027-06-01"> |
| <owner>vizcay@google.com</owner> |
| <owner>piotrwrotniak@google.com</owner> |
| <summary> |
| Metric to measure acceptance on `EMAIL_OR_LOYALTY_MEMBERSHIP_ID` fields. |
| This metric is emitted every time user selects email or loyalty card |
| suggestion presented for `EMAIL_OR_LOYALTY_MEMBERSHIP_ID` fields as long as |
| the user has any loyalty cards available. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.LoyaltyCard.FillingAcceptance.Affiliated" |
| enum="BooleanAutofillFillingAcceptance" expires_after="2027-06-01"> |
| <owner>vizcay@google.com</owner> |
| <owner>tchudakov@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Like Autofill.KeyMetrics.FillingAcceptance.Address, but for affiliated |
| loyalty cards. |
| |
| 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 name="Autofill.LoyaltyCard.FillingAssistance.Affiliated" |
| enum="BooleanAutofillFillingAssistance" expires_after="2027-06-01"> |
| <owner>vizcay@google.com</owner> |
| <owner>tchudakov@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Like Autofill.KeyMetrics.FillingAssistance.Address, but for affiliated |
| loyalty cards. |
| |
| 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 name="Autofill.LoyaltyCard.FillingCorrectness.{Category}" |
| enum="BooleanAutofillFillingCorrectness" expires_after="2027-06-01"> |
| <owner>vizcay@google.com</owner> |
| <owner>tchudakov@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Like Autofill.KeyMetrics.FillingCorrectness.Address, but split by |
| affiliation category. |
| |
| Counts for submitted and autofilled forms whether users edited at least one |
| filled value before submitting the form. |
| </summary> |
| <token key="Category"> |
| <variant name="Affiliated" |
| summary="Only affiliated loyalty cards were used"/> |
| <variant name="Mixed" |
| summary="Multiple profiles of mixed categories were used"/> |
| <variant name="NonAffiliated" |
| summary="Only non-affiliated loyalty cards were used"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.LoyaltyCard.FillingReadinessAffiliationCategory" |
| enum="AutofillLoyaltyCardAffiliationCategoryFillingReadiness" |
| expires_after="2027-06-01"> |
| <owner>vizcay@google.com</owner> |
| <owner>tchudakov@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Like Autofill.KeyMetrics.FillingReadiness.Address, but split by affiliation |
| category. |
| |
| Counts for submitted forms whether Chromium had any loyalty card 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 name="Autofill.LoyaltyCard.StoredCardsCount" units="units" |
| expires_after="2027-06-01"> |
| <owner>vizcay@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of loyalty cards stored in Chrome, measured at Chrome profile |
| launch. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ManageCardsPrompt" enum="AutofillManageCardsPrompt" |
| expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The frequency of user interactions with the Manage Cards prompt, which is |
| shown after a successful local card save. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.ManualFallback.ExplicitlyTriggered.ClassifiedAsTargetFilling.Password" |
| enum="BooleanSelectManualFallback" expires_after="2026-04-05"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records per form type the acceptance of manual fallback suggestions on |
| fields that are classified as the target filling product password. This |
| tracks the number of times a user accepted/didn't accept the manual fallback |
| option in the context menu. Emitted on navigation (when the |
| PasswordAutofillManager is destroyed/reset), at most once per page. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.ManualFallback.ExplicitlyTriggered.NotClassifiedAsTargetFilling.Password" |
| enum="BooleanSelectManualFallback" expires_after="2026-04-05"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records per form type the acceptance of manual fallback suggestions on |
| fields that are either unclassified or classified differently than the |
| filling product password. This tracks the number of times a user |
| accepted/didn't accept the manual fallback option in the context menu. |
| Emitted on navigation (when the PasswordAutofillManager is destroyed/reset), |
| at most once per page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Message.{MessageType}.{Event}" enum="BooleanShown" |
| expires_after="2026-06-01"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Emits true when an autofill Android Message event occurs (shown, dismissed, |
| etc.) and does not emit any value otherwise. See event variants for |
| additional details on when each individual logging event happens. |
| </summary> |
| <token key="MessageType"> |
| <variant name="EntitySaveUpdateFlow" |
| summary="Autofill Android Message shown to prompt a user to save an |
| entity to Chrome (like password, driver's license, etc.)"/> |
| <variant name="SaveCardFailure" |
| summary="Autofill Android Message shown after a credit card has |
| failed to have been saved to the server."/> |
| <variant name="VirtualCardEnrollFailure" |
| summary="Autofill Android Message shown after a virtual card has |
| failed to have been enrolled."/> |
| </token> |
| <token key="Event"> |
| <variant name="ActionClicked" |
| summary="Event for when the action button on the message is clicked |
| by the user."/> |
| <variant name="Dismissed" |
| summary="Event for when the message is dismissed."/> |
| <variant name="Shown" |
| summary="Event for when the message is initially shown."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.NameTokenVerificationStatusAtProfileUsage.{NameType}" |
| enum="AufofillStructuredTokenVerificationStatus" expires_after="2026-06-28"> |
| <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.NumberOfDriversPerFactory" units="count" |
| expires_after="2026-04-26"> |
| <owner>schwering@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>vincb@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the maximum number of simultaneously existing drivers that a factory |
| saw over its lifetime. Recorded on all platforms. Recorded on destruction of |
| the factory, which happens on destruction of the WebContents / WebState. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.NumberOfFieldsPerAutofill" units="count" |
| expires_after="2026-09-20"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of autofilled fields per autofill operation. Only filling |
| operations that may affect multiple fields are logged (that is, no preview, |
| no undo, no autocomplete, no IBANs, for example, but email-only forms |
| because they are treated as address forms even if they contain a single |
| field). Recorded in Chrome on all platforms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.NumberOfFieldsPerAutofill.{FillTypeData}" |
| units="count" expires_after="2026-09-20"> |
| <owner>schwering@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of autofilled fields per {FillTypeData} autofill |
| operation. Only filling operations are logged (that is, no preview, no |
| undo). Recorded in Chrome on all platforms. |
| </summary> |
| <token key="FillTypeData"> |
| <variant name="AutofillProfile" summary="AutofillProfile (address)"/> |
| <variant name="CreditCard" summary="CreditCard"/> |
| <variant name="EntityInstance" summary="EntityInstance (Autofill AI)"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.NumberOfFramesPerFormForest" units="count" |
| expires_after="2026-11-01"> |
| <owner>schwering@google.com</owner> |
| <owner>vincb@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the maximum number of simultaneously existing |
| `FormForest::FrameData` objects that a `AutofillDriverRouter` saw over its |
| lifetime. Recorded on all platforms. Recorded on destruction of the router, |
| which happens on destruction of the WebContents. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.NumberOfNamesMigratedToAlternativeNamesDuringCleanUp" |
| units="count" expires_after="2026-09-06"> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of phonetic names that have been migrated from regular name |
| fields to alternative name fields during cleanup. Emitted on every startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.NumberOfProfilesConsideredForDedupe" units="profiles" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of Autofill profiles that have been considered for deduplication. |
| Emitted once per major version, if the user has at least two profiles. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.NumberOfProfilesPerValidCountryCodeConsideredForDedupe" |
| units="profiles" expires_after="2026-09-24"> |
| <owner>picarella@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of Autofill profiles in each group generated by bucketing |
| profiles by country code before deduplication. Emitted once per major |
| version, if the user has at least two profiles. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.NumberOfProfilesRemovedDuringDedupe" units="profiles" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of Autofill profiles that have been removed during deduplication. |
| Emitted once per major version, if the user has at least two profiles. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.NumberOfProfilesWithMissingCountryCodeConsideredForDedupe" |
| units="profiles" expires_after="2026-09-24"> |
| <owner>picarella@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of Autofill profiles with no country code that have been |
| considered for deduplication. Emitted once per major version, if the user |
| has at least two profiles. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OmniboxAutofill.ShowChipDecisionPart1" |
| enum="OmniboxShowChipDecisionPart1" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the logic flow of whether to show the Omnibox Autofill chip, up to |
| the point where the IntersectionObserver is called (at which point the flow |
| becomes async and ShowChipDecisionPart2 picks up where this one leaves off). |
| Starts when AutofillManager::Observer::OnFieldTypesDetermined is called. |
| Logs if the logic made it to the IntersectionObserver section, or if the |
| flow aborted, why it aborted. |
| |
| Note that OnFieldTypesDetermined(~) is generally called once per detected |
| form, *not* once per page load or once per Omnibox Autofill flow, so using |
| these values to analyze opportunity size is not recommended. It is highly |
| affected by the number of forms detected on a page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Gmail.AuthLatency" units="ms" |
| expires_after="2027-05-01"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/one_time_tokens/OWNERS</owner> |
| <summary> |
| Records the duration of the OAuth token fetch for the Gmail OTP backend. |
| Recorded when the access token fetch completes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Gmail.ErrorLatency" units="ms" |
| expires_after="2027-05-01"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/one_time_tokens/OWNERS</owner> |
| <summary> |
| Real-time duration of the asynchronous attempt to retrieve a Gmail one time |
| token from the backend. Recorded when the asynchronous job failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Gmail.HasActiveSubscription" |
| enum="Boolean" expires_after="2027-05-01"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/one_time_tokens/OWNERS</owner> |
| <summary> |
| Records whether a subscription was already active when a Gmail OTP |
| notification arrived. Recorded when an incoming Gmail OTP backend |
| notification is received. True if a subscription was active (immediate hit), |
| false if the notification had to wait for a subscription. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Gmail.NetworkLatency" |
| units="ms" expires_after="2027-05-01"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/one_time_tokens/OWNERS</owner> |
| <summary> |
| Records the duration of the network request to the OneTimeTokenService to |
| fetch a Gmail one time token. Recorded when the response is received. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Gmail.QueueLatency" units="ms" |
| expires_after="2027-05-01"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/one_time_tokens/OWNERS</owner> |
| <summary> |
| Records the duration a Gmail OTP notification spent in the pending queue |
| before being processed. Recorded when a notification is popped from the |
| pending queue to be processed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Gmail.QueueSize" units="count" |
| expires_after="2027-05-01"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/one_time_tokens/OWNERS</owner> |
| <summary> |
| Recorded when a notification enters the coordinator; monitors the depth of |
| the pending queue. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Gmail.SubscriptionWaitLatency" |
| units="ms" expires_after="2027-05-01"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/one_time_tokens/OWNERS</owner> |
| <summary> |
| Records the duration a Gmail OTP notification spent in the opportunistic |
| cache waiting for a subscription, from when the notification is received to |
| when it is retrieved from the cache. Recorded when a notification is |
| retrieved from the opportunistic cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Gmail.Success" enum="Boolean" |
| expires_after="2027-05-01"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/one_time_tokens/OWNERS</owner> |
| <summary> |
| Records whether the attempt to retrieve a Gmail one time token from the |
| backend succeeds. Recorded when the asynchronous job has returned. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Gmail.SuccessLatency" |
| units="ms" expires_after="2027-05-01"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/one_time_tokens/OWNERS</owner> |
| <summary> |
| Real-time duration of the asynchronous attempt to retrieve a Gmail one time |
| token from the backend. The latency is measured from when the incoming |
| notification enters the pending queue to when the response from the Gmail |
| backend is received. Recorded when the asynchronous job succeeded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Sms.APIError" |
| enum="SmsOtpRetrievalApiErrorCode" expires_after="2026-10-31"> |
| <owner>luchenpeng@google.com</owner> |
| <owner>koerber@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Records the error encountered while attempting to retrieve sms one time |
| token from the GMSCore backend. This is recorded after the asynchronous call |
| comes back with an error. This uses raw GMSCore error codes. This is |
| currently only recorded on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Sms.ErrorCode" |
| enum="OneTimeTokensBackendErrorCode" expires_after="2026-10-31"> |
| <owner>luchenpeng@google.com</owner> |
| <owner>koerber@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Records the error encountered while attempting to retrieve sms one time |
| token from the GMSCore backend. This is recorded after the asynchronous call |
| comes back with an error. This is currently only recorded on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Sms.ErrorLatency" units="ms" |
| expires_after="2026-10-31"> |
| <owner>luchenpeng@google.com</owner> |
| <owner>koerber@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Real-time duration of the asynchronous attempt to retrieve sms one time |
| token from the GMSCore backend. Recorded when the asynchronous job failed. |
| This is currently only recorded on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Sms.Success" enum="Boolean" |
| expires_after="2026-10-31"> |
| <owner>luchenpeng@google.com</owner> |
| <owner>koerber@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Records whether the attempt to retrieve sms one time token from the GMSCore |
| backend succeeds. Recorded when the asynchronous job has returned. This is |
| currently only recorded on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.Backend.Sms.SuccessLatency" units="ms" |
| expires_after="2026-10-31"> |
| <owner>luchenpeng@google.com</owner> |
| <owner>koerber@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Real-time duration of the asynchronous attempt to retrieve sms one time |
| token from the GMSCore backend. Only recorded when the asynchronous job has |
| returned successfully. This is currently only recorded on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.PhishGuard.CheckPerformed" |
| enum="Boolean" expires_after="2026-10-31"> |
| <owner>luchenpeng@google.com</owner> |
| <owner>koerber@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Whether a PhishGuard check was performed before offering to autofill |
| one-time tokens. Recorded every time a one-time token field is detected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.PhishGuard.Latency" units="ms" |
| expires_after="2026-10-31"> |
| <owner>luchenpeng@google.com</owner> |
| <owner>koerber@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| The latency of a PhishGuard check before offering to autofill one-time |
| tokens. Recorded every time a PhishGuard check is completed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OneTimeTokens.PhishGuard.Verdict" |
| enum="OneTimeTokensPhishGuardVerdict" expires_after="2026-10-31"> |
| <owner>luchenpeng@google.com</owner> |
| <owner>koerber@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| The verdict of a PhishGuard check before offering to autofill one-time |
| tokens. Recorded every time a PhishGuard check is completed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.OtpAuth.{CardType}.{OtpAuthType}.Attempt" |
| enum="BooleanAttempted" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true when an OTP authentication starts and does not emit any value |
| otherwise. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.OtpAuth.{CardType}.{OtpAuthType}.RequestLatency.SelectChallengeOptionRequest" |
| units="ms" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the roundtrip latency of the SelectChallengeOptionRequest in the OTP |
| authentication. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.OtpAuth.{CardType}.{OtpAuthType}.RequestLatency.UnmaskCardRequest" |
| units="ms" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the roundtrip latency of the UnmaskCardRequest in the OTP |
| authentication. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram name="Autofill.OtpAuth.{CardType}.{OtpAuthType}.Result" |
| enum="AutofillOtpAuthEvent" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary>Logs the result of the OTP authentication.</summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram name="Autofill.OtpAuth.{CardType}.{OtpAuthType}.RetriableError" |
| enum="AutofillOtpAuthEvent" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs any retriable failure before the OTP authentication completes. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.OtpInputDialog.{CardType}.{OtpAuthType}.ErrorMessageShown" |
| enum="AutofillOtpInputDialogError" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the type of the error when any temporary error is shown in the card |
| unmask OTP dialog. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.OtpInputDialog.{CardType}.{OtpAuthType}.NewOtpRequested" |
| enum="BooleanRequested" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true when the "Get New Code" button is clicked and a new OTP |
| is requested. Doesn't emit any other value. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram name="Autofill.OtpInputDialog.{CardType}.{OtpAuthType}.Result" |
| enum="AutofillOtpInputDialogResult" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the reason of the closure when the card unmask OTP dialog is closed. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.OtpInputDialog.{CardType}.{OtpAuthType}.Result.{WithError}" |
| enum="AutofillOtpInputDialogResult" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the reason of the closure when the card unmask OTP dialog is closed. |
| This breaks down on whether any temporary error happened before the card |
| unmask OTP dialog was closed. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| <token key="WithError" variants="Autofill.DialogError"/> |
| </histogram> |
| |
| <histogram name="Autofill.OtpInputDialog.{CardType}.{OtpAuthType}.Shown" |
| enum="BooleanShown" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true when the card unmask OTP dialog is shown. Doesn't emit any other |
| value. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram name="Autofill.OtpInputDialog.{OtpAuthType}.ErrorMessageShown" |
| enum="AutofillOtpInputDialogError" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the type of the error when any temporary error is shown in the card |
| unmask OTP dialog. |
| </summary> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram name="Autofill.OtpInputDialog.{OtpAuthType}.NewOtpRequested" |
| enum="BooleanRequested" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true when the "Get New Code" button is clicked and a new OTP |
| is requested. Doesn't emit any other value. |
| </summary> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram name="Autofill.OtpInputDialog.{OtpAuthType}.Result" |
| enum="AutofillOtpInputDialogResult" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the reason of the closure when the card unmask OTP dialog is closed. |
| </summary> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram name="Autofill.OtpInputDialog.{OtpAuthType}.Result.{WithError}" |
| enum="AutofillOtpInputDialogResult" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the reason of the closure when the card unmask OTP dialog is closed. |
| This breaks down on whether any temporary error happened before the card |
| unmask OTP dialog was closed. |
| </summary> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| <token key="WithError" variants="Autofill.DialogError"/> |
| </histogram> |
| |
| <histogram name="Autofill.OtpInputDialog.{OtpAuthType}.Shown" |
| enum="BooleanShown" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true when the card unmask OTP dialog is shown. Doesn't emit any other |
| value. |
| </summary> |
| <token key="OtpAuthType" variants="Autofill.OtpAuth.Type"/> |
| </histogram> |
| |
| <histogram name="Autofill.PaymentMethods.CardBenefitsIsEnabled.Startup" |
| enum="BooleanEnabled" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>yishuil@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks enablement of the credit card benefits toggle on the payment methods |
| settings page. This histogram will be populated during profile loadup for |
| users who have enabled autofill for payment methods. A value of true denotes |
| that credit card benefits are enabled for the user, while false denotes that |
| they are not. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethods.CheckoutFlow.ReauthUsage.{PaymentMethodType}.{AuthenticationMethod}" |
| enum="MandatoryReauthAuthEvent" expires_after="2027-04-30"> |
| <owner>sujiezhu@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the users mandatory reauth result during the checkout flow for |
| opted-in users breakdown by each card type and each authentication method. |
| Whenever a reauth opted-in user starts, succeeds or fails the mandatory |
| reauth flow during a payments autofill form fill, we will log the |
| MandatoryReauthAuthEvent to this histogram. This is logged in order to get |
| the reauth usages and corresponding success rate for each breakdown. This |
| subhistogram pertains to {PaymentMethodType}s that used |
| {AuthenticationMethod} during the checkout flow. |
| </summary> |
| <token key="PaymentMethodType" |
| variants="Autofill.NonInteractivePaymentMethodType"/> |
| <token key="AuthenticationMethod" |
| variants="Autofill.MandatoryReauth.AuthenticationMethod"/> |
| </histogram> |
| |
| <histogram name="Autofill.PaymentMethods.CvcStorageIsEnabled.Startup" |
| enum="BooleanEnabled" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the user opt-in rate for CVC storage. This histogram will be |
| populated during profile loadup for users who have enabled autofill for |
| payments. It is not reported for incognito profiles. A value of true denotes |
| that the CVC feature is enabled, while false denotes the feature is |
| disabled. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethods.MandatoryReauth.AuthEvent.SettingsPage.{ActionType}" |
| enum="MandatoryReauthAuthEvent" expires_after="2027-04-30"> |
| <owner>sujiezhu@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the auth result when the user tries to {ActionType} and mandatory |
| reauth feature is enabled. Whenever a user tries to {ActionType}, we will |
| log into the `flow started` bucket. The user would then be challenged with |
| an auth, where if the auth was successful, we will log in the `flow |
| succeded` bucket, else we will log in the `flow failed` bucket. |
| </summary> |
| <token key="ActionType"> |
| <variant name="DeleteCard" |
| summary="delete a card from the payment methods settings"/> |
| <variant name="EditCard" |
| summary="edit a card on the payment methods settings"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethods.MandatoryReauth.CheckoutFlow.ReauthOfferOptInDecision2" |
| enum="MandatoryReauthOfferOptInDecision" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>sujiezhu@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the detailed reason why (or why not) mandatory reauth opt-in was |
| offered during a credit card checkout flow. Whenever we determine whether to |
| offer the mandatory reauth opt-in prompt, we will log the decision result to |
| this histogram. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethods.MandatoryReauth.OptChangeEvent.{Source}.{ChangingStatus}" |
| enum="MandatoryReauthAuthEvent" expires_after="2027-04-30"> |
| <owner>sujiezhu@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the users auth result during the {ChangingStatus} flow for the |
| mandatory reauth feature. Whenever a user triggers to change the mandatory |
| reauth feature from the {Source}, we will log into the `flow started` |
| bucket. The user would then be challenged with an auth, where if the auth |
| was successful, we will log in the `flow succeded` bucket, else we will log |
| in the `flow failed` bucket. |
| </summary> |
| <token key="Source" variants="Autofill.MandatoryReauth.Source"/> |
| <token key="ChangingStatus" |
| variants="Autofill.MandatoryReauth.ChangingStatus"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethods.MandatoryReauth.OptInBubbleOffer.{ShowType}" |
| enum="MandatoryReauthOptInBubbleOffer" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks events related to offering the mandatory reauth opt-in feature, for |
| instance when it is shown or why it is not shown. This metric is recorded |
| when the mandatory reauth opt-in prompt is or is not displayed. Mandatory |
| reauth requires the user to unlock their device or pass a biometric auth |
| when autofilling payment method information. |
| </summary> |
| <token key="ShowType" variants="FirstShowOrReshow"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethods.MandatoryReauth.OptInBubbleResult.{ShowType}" |
| enum="MandatoryReauthOptInBubbleResult" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the reason the mandatory reauth opt-in prompt was closed. This metric |
| is recorded when the user closes the mandatory reauth opt-in prompt. |
| Mandatory reauth requires the user to unlock their device or pass a |
| biometric auth when autofilling payment method information. |
| </summary> |
| <token key="ShowType" variants="FirstShowOrReshow"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethods.MandatoryReauth.OptInConfirmationBubble" |
| enum="MandatoryReauthOptInConfirmationBubbleMetric" |
| expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks various events related to the mandatory reauth opt-in confirmation |
| prompt. These metrics are recorded when the prompt is displayed or the user |
| interacts with the prompt. Mandatory reauth requires the user to unlock |
| their device or pass a biometric auth when autofilling payment method |
| information. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethods.SettingsPage.StoredCreditCardCountBeforeCardAdded" |
| units="cards" expires_after="2026-10-01"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Tracks the number of stored credit cards (both local and server) after a |
| user adds a new local card through the Chrome payment methods settings page. |
| The number of existing cards is calculated before saving the new card, but |
| the value is recorded after saving the new card. Note that the new local |
| card is not counted towards this number (i.e. if there aren't any existing |
| cards when adding the new card, the "cards" bucket labeled 0 will |
| be incremented). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.PaymentMethodsSettingsPage.AddCardClicked2" |
| enum="Boolean" expires_after="2026-10-01"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Logs when the add card flow is started. Recorded when a user starts the flow |
| to add a new local card through the Chrome payment methods settings page. |
| |
| Note that a previous version of this histogram incorrectly measured both add |
| and edit cases, and was obsoleted in mid-June 2025. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethodsSettingsPage.AddCardClickedWithoutExistingCards2" |
| enum="Boolean" expires_after="2026-10-01"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Logs true when the add card flow is started when the user does not have any |
| existing cards. If the user has existing cards, this metric is logged as |
| false. Recorded when a user starts the flow to add a new card through the |
| Chrome payment methods settings page and they do not have any existing |
| cards. |
| |
| Note that a previous version of this histogram incorrectly measured both add |
| and edit cases, and was obsoleted in mid-June 2025. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethodsSettingsPage.CardAddedWithoutExistingCards" |
| enum="Boolean" expires_after="2026-10-01"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Logs true when a card is saved when the user does not have any existing |
| cards. If the user has existing cards, this metric is logged as false. |
| Recorded when a user adds a new card through the Chrome payment methods |
| settings page and they do not have any existing cards. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentMethodsSettingsPage.CardsViewedWithoutExistingCards" |
| enum="Boolean" expires_after="2026-10-01"> |
| <owner>darwinyang@google.com</owner> |
| <owner>smcgruer@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Logs true when the cards are viewed when the user does not have any existing |
| cards. If the user has existing cards, this metric is logged as false. |
| Recorded only if Autofill for Payment methods is enabled, when a user either |
| enters the Payment Methods Settings Page or if that page is rebuilt while |
| the user is on it (e.g., if a preference toggle is changed or new payment |
| methods are synced). |
| |
| Note that this metric does not care about the presence or absence of other |
| payment methods (e.g., IBAN, pay over time, etc). It only measures whether |
| or not there are local or server cards shown on the settings page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.PaymentMethodsSettingsPage.ScanCardResult" |
| enum="AutofillScanCreditCardResult" expires_after="2026-10-01"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Logs how (or if) the credit card scanner is used by the user in the payment |
| methods settings page. Recorded when a user hits the save button to save a |
| new credit card through the Chrome payment methods settings page and there |
| is a credit card scanner shown to the user on the payments methods settings |
| page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.PaymentMethodsSettingsPage.VisitReferrer" |
| enum="AutofillSettingsReferrer" expires_after="2026-09-15"> |
| <owner>ireneuszszulc@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the entry point (referrer) every time the user visits the 'Payment |
| methods' settings page from a tracked entry point. This metric is emitted on |
| navigation to the page, with the enum values distinguishing the entry points |
| (different ways of reaching the page). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.PaymentsDataManager.LocalCardAdded" enum="Boolean" |
| expires_after="2026-10-01"> |
| <owner>darwinyang@google.com</owner> |
| <owner>smcgruer@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Logs when a credit card is saved locally for any reason. This includes when |
| a server card upload fails, or when the user adds a new local card through |
| the Chrome payment methods settings page. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentsNetworkInterface.RequestLatency.GetCardUploadDetails{Result}" |
| units="ms" expires_after="2026-09-20"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Logs the roundtrip latency of a GetCardUploadDetailsRequest in the |
| PaymentsNetworkInterface. This is recorded when the response is received |
| (right before the callback is called). |
| </summary> |
| <token key="Result"> |
| <variant name="" summary="Includes all result types."/> |
| <variant name=".Failure" summary="Failed to get the card upload details."/> |
| <variant name=".Success" |
| summary="Successfully got the card upload details."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PaymentsNetworkInterface.{PaymentsRequestType}.ClientSideTimedOut" |
| enum="Boolean" expires_after="2027-03-15"> |
| <owner>smcgruer@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| For an API call to Google Payments servers of type {PaymentsRequestType}, |
| denotes whether or not that API call triggered the client-side timeout. |
| Logged when the request either completes or times out on the client side, |
| and only if there is a client-side timeout value specified for the given |
| type. |
| |
| The non-timeout case is logged only if the request succeeds according to the |
| server, to try to best measure the ratio of failed calls that are due to the |
| client-side timeout. |
| </summary> |
| <token key="PaymentsRequestType" variants="Autofill.PaymentsRequestType"/> |
| </histogram> |
| |
| <histogram name="Autofill.PerfectFilling.{FormType}" enum="Boolean" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| For a form of type {FormType}, log at submission time if the filling |
| experience was perfect. In a perfect filling experience, the user must have |
| not edited any field, meaning that the filed must either be autofilled |
| without prefix-matching and without further corrections, empty, have the |
| same value as pageload or have its value set by JavaScript. |
| |
| Note that the {FormType} is not mutually exclusive. If a single form |
| contains both address and credit card information, the metric is recorded |
| for each {FormType}. In such a combined form, both the address and the |
| credit card information needs to be filled perfectly, in order to record |
| perfect filling. |
| </summary> |
| <token key="FormType"> |
| <variant name="Addresses" summary="Form contains address information."/> |
| <variant name="CreditCards" |
| summary="Form contains credit card information."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.PopupHidingReason" |
| enum="AutofillSuggestionHidingReason" expires_after="2026-09-06"> |
| <owner>koerber@google.com</owner> |
| <owner>mamir@chromium.org</owner> |
| <summary> |
| This tracks the reasons for which the Autofill popup disappers or cannot be |
| displayed. Recorded everytime an Autofill popup disappears or cannot be |
| displayed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.PopupHidingReason.{FillingProduct}" |
| enum="AutofillSuggestionHidingReason" expires_after="2026-09-06"> |
| <owner>brunobraga@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <summary> |
| This tracks per filling product the reasons for which the Autofill popup |
| disappers or cannot be displayed. Recorded everytime an Autofill popup |
| disappears or cannot be displayed. |
| </summary> |
| <token key="FillingProduct" variants="Autofill.FillingProduct"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PopupInteraction.PopupLevel.{AutofillPopupInteractionLevel}" |
| enum="AutofillPopupInteraction" expires_after="2026-09-13"> |
| <owner>brunobraga@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <summary> |
| This is emitted when {AutofillPopupInteractionLevel}. Its goal is to learn |
| about user's behaviour related to the Autofill popup therefore it is only |
| emitted on desktop. |
| </summary> |
| <token key="AutofillPopupInteractionLevel" |
| variants="AutofillPopupInteractionLevel"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.PopupInteraction.PopupLevel.{AutofillPopupInteractionLevel}.{FillingProduct}" |
| enum="AutofillPopupInteraction" expires_after="2026-09-20"> |
| <owner>brunobraga@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <summary> |
| This is emitted when {AutofillPopupInteractionLevel}. This is also specific |
| for a {FillingProduct}. It is emitted when the popup is shown, a suggestion |
| is selected (hover) or accepted. Its goal is to learn about user's behaviour |
| related to the Autofill popup therefore it is only emitted on desktop. |
| </summary> |
| <token key="AutofillPopupInteractionLevel" |
| variants="AutofillPopupInteractionLevel"/> |
| <token key="FillingProduct" variants="Autofill.FillingProduct"/> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileDeleted.ImplicitAccountNameEmail" |
| enum="Boolean" expires_after="2026-10-04"> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records true when the AccountNameEmail profile gets implicitly removed, |
| because of the not accepted suggestions strike limit hit. Records false if |
| the suggestion contained AccountNameEmail profile, but the counter is lower |
| than the removal threshold. Recorded after user leaves the page with form |
| where a suggestion containing AccountNameEmail profile was shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileDeleted.{DeletionType}.{RecordType}" |
| enum="BooleanAutofillDeleteAddress" expires_after="2026-09-06"> |
| <owner>tchudakov@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Autofill.ProfileDeleted is emitted in the following scenarios: Settings, |
| Popup and KeyboardAccessory. There is also an "Any" bucket, which |
| sums all of the above. |
| |
| {DeletionType} |
| |
| {RecordType} |
| </summary> |
| <token key="DeletionType"> |
| <variant name="Any" |
| summary="This metric records how many users tried to delete an |
| address and whether they canceled or confirmed the deletion |
| (regardless of how the address was deleted)."/> |
| <variant name="KeyboardAccessory" |
| summary="This metric records how many users long-pressed on an |
| address suggestion button in the keyboard accessory, and |
| whether they canceled or confirmed the deletion."/> |
| <variant name="Popup" |
| summary="Counts how many users deleted an address using shift+delete |
| while hovering on a first-level popup. This metric is |
| emitted only for the "Confirmed" bucket, as the |
| user cannot cancel this process."/> |
| <variant name="Settings" |
| summary="This metric records how many users pressed the "Delete |
| address" button in chrome://settings, and whether they |
| canceled or confirmed the deletion."/> |
| </token> |
| <token key="RecordType" variants="AutofillProfileRecordTypes"> |
| <variant name="Total" |
| summary="Any record type, it will contain deletions for all record |
| types."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileImport.HomeAndWorkSupersetAffectedType" |
| enum="AutofillSettingsVisibleTypes" expires_after="2026-09-06"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs that a value for a specific type was changed or added, which caused a |
| home/work superset prompt to be shown. The metric is independent of the user |
| decision on the prompt and recorded on form submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileImport.HomeAndWorkSupersetProfileDecision" |
| enum="AutofillProfileImportDecision" expires_after="2026-09-06"> |
| <owner>jsobiech@google.com</owner> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the user's decision for saving a home/work profile superset. 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.HomeOrWorkAndNameEmailMergeDecision" |
| enum="AutofillProfileImportDecision" expires_after="2026-08-09"> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the user's decision for saving a merge of a home/work and a name email |
| profile. 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.MigrateProfileDecision" |
| enum="AutofillProfileImportDecision" expires_after="2026-09-06"> |
| <owner>koerber@google.com</owner> |
| <owner>fleimgruber@google.com</owner> |
| <owner>src/components/autofill/OWNERS</owner> |
| <summary> |
| Logs the user's decision for migrating a stored profile with record type |
| AutofillProfile::RecordType::kLocalOrSyncable to the account storage. 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.NameEmailSupersetProfileDecision" |
| enum="AutofillProfileImportDecision" expires_after="2026-10-25"> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the user's decision for saving a name email profile superset. 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.NewProfileDecision" |
| enum="AutofillProfileImportDecision" expires_after="M126"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/autofill/OWNERS</owner> |
| <summary> |
| Obsolete metric, replaced by Autofill.ProfileImport.NewProfileDecision2. |
| 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.NewProfileDecision2.{UserGroup}" |
| enum="AutofillProfileImportDecision" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</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> |
| <token key="UserGroup"> |
| <variant name="Aggregate" summary="Aggregated data of all users."/> |
| <variant name="UserHasExistingProfile" |
| summary="Metrics are recorded for users who have address profiles |
| saved already."/> |
| <variant name="UserHasNoExistingProfiles" |
| summary="Metrics are recorded for users who don't have any address |
| profiles saved."/> |
| <variant name="UserHasQuasiDuplicateProfile" |
| summary="Metrics are recorded for users where an existing address |
| profile matches the import candidate after removing one |
| field."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.ProfileImport.NewProfileUserDecisionPerSubmissionSource" |
| enum="AutofillProfileImportDecisionPerSubmissionSource" |
| expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the basic decisions regarding an address save prompt |
| (Accepted/Declined/Ignored), but split over the submission source that |
| resulted in showing the prompt. |
| |
| Emitted once per shown address save prompt where the user decision that |
| followed was among the three decisions mentioned previously. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileImport.PhoneNumberParsed" enum="Boolean" |
| expires_after="2027-09-10"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs if a phone number was parsed successfully on profile import. Only |
| emitted when a number is present in the submitted form. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileImport.PlaceholderValueRemoved.ByFieldType" |
| enum="AutofillFieldType" expires_after="2027-02-19"> |
| <owner>mmaryia@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs that a given field type was removed on import because the value of this |
| type is a placeholder. Emitted on profile import. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileImport.ProfileImportType" |
| enum="AutofillProfileImportType" expires_after="2026-09-06"> |
| <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.SilentUpdatesProfileImportType" |
| enum="AutofillProfileImportType" expires_after="2026-08-23"> |
| <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 |
| when the form does not satisfy profile import requirements. This metric is |
| emitted once the import decision is final. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileImport.SplitZipFields.NewProfileDecision" |
| enum="AutofillProfileImportDecision" expires_after="2026-09-06"> |
| <owner>mmaryia@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the user's decision for storing a new address profile extracted from a |
| form with non-empty split zip code fields on 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.StorageNewAddressIsSavedTo" |
| enum="AutofillProfileRecordType" expires_after="2026-08-30"> |
| <owner>amelies@google.com</owner> |
| <owner>src/components/autofill/OWNERS</owner> |
| <summary> |
| Logs in which storage type the new address profile will be stored when the |
| user accepted the save prompt that was shown to them after 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.UpdateProfileAffectedType.{Decision}" |
| enum="AutofillSettingsVisibleTypes" expires_after="2026-09-06"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/autofill/OWNERS</owner> |
| <summary> |
| Logs that a specific type would have changed in a profile update process |
| that received a specific {Decision}. The update was shown to the user |
| because a profile similar to an already existing profile was observed in a |
| form submission. Note that this metric collects the changed types before the |
| user potentially applies additional edits. The metric is recorded on form |
| submission once the user decision is final. |
| </summary> |
| <token key="Decision"> |
| <variant name="Accepted" |
| summary="The user accepted the update flow from the initial prompt."/> |
| <variant name="Any" summary="Any decision."/> |
| <variant name="AutoDeclined" |
| summary="The prompt is suppressed most likely because there is |
| already another prompt shown on the same tab."/> |
| <variant name="Declined" |
| summary="The user declined the update flow from the initial prompt."/> |
| <variant name="EditAccepted" |
| summary="The user accepted the update flow from the edit dialog."/> |
| <variant name="EditDeclined" |
| summary="The user declined the update flow from the edit dialog."/> |
| <variant name="Ignored" summary="The user ignored the prompt."/> |
| <variant name="MessageDeclined" |
| summary="The user swipes away the update Message. This is only |
| relevant on mobile."/> |
| <variant name="MessageTimeout" |
| summary="The update message timed out before the user interacted. |
| This is only relevant on mobile."/> |
| <variant name="Never" |
| summary="The user selected to never save a new profile on a given |
| domain or update a specific profile (currently not |
| supported)."/> |
| <variant name="Undefined" summary="Undefined"/> |
| <variant name="UserNotAsked" |
| summary="No prompt is shown and no decision is needed to proceed with |
| the process."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileImport.UpdateProfileDecision" |
| enum="AutofillProfileImportDecision" expires_after="M126"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/autofill/OWNERS</owner> |
| <summary> |
| Obsolete metric, replaced by Autofill.ProfileImport.UpdateProfileDecision2. |
| 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.UpdateProfileDecision2.{UserGroup}" |
| enum="AutofillProfileImportDecision" expires_after="2026-10-25"> |
| <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> |
| <token key="UserGroup"> |
| <variant name="Aggregate" summary="Aggregated data of all users."/> |
| <variant name="UserHasQuasiDuplicateProfile" |
| summary="Metrics are recorded for users where an existing address |
| profile matches the import candidate after removing one |
| field. The profile to be updated is not considered an |
| existing profile in the calculation of the duplication rank."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.ProfileImport.UpdateProfileNumberOfAffectedFields.{Decision}" |
| units="fields" expires_after="2026-06-28"> |
| <owner>koerber@google.com</owner> |
| <owner>src/components/autofill/OWNERS</owner> |
| <summary> |
| Logs the number of fields that would be changed by an accepted update for |
| any possible Decision. Note that this metric collects the number of changed |
| fields before the user potentially applies additional edits. The metric is |
| recorded on form submission once the user decision is final. |
| </summary> |
| <token key="Decision"> |
| <variant name="Accepted" |
| summary="The user accepted the update flow from the initial prompt."/> |
| <variant name="Any" summary="Any decision."/> |
| <variant name="AutoDeclined" |
| summary="The prompt is suppressed most likely because there is |
| already another prompt shown on the same tab."/> |
| <variant name="Declined" |
| summary="The user declined the update flow from the initial prompt."/> |
| <variant name="EditAccepted" |
| summary="The user accepted the update flow from the edit dialog."/> |
| <variant name="EditDeclined" |
| summary="The user declined the update flow from the edit dialog."/> |
| <variant name="Ignored" summary="The user ignored the prompt."/> |
| <variant name="MessageDeclined" |
| summary="The user swipes away the update Message. This is only |
| relevant on mobile."/> |
| <variant name="MessageTimeout" |
| summary="The update message timed out before the user interacted. |
| This is only relevant on mobile."/> |
| <variant name="Never" |
| summary="The user selected to never save a new profile on a given |
| domain or update a specific profile (currently not |
| supported)."/> |
| <variant name="Undefined" summary="Undefined"/> |
| <variant name="UserNotAsked" |
| summary="No prompt is shown and no decision is needed to proceed with |
| the process."/> |
| </token> |
| </histogram> |
| |
| <!-- LINT.IfChange(Autofill.ProfileImport.EditedType.ImportTypes) --> |
| |
| <histogram name="Autofill.ProfileImport.{ImportType}EditedType" |
| enum="AutofillSettingsVisibleTypes" expires_after="2026-10-04"> |
| <owner>sygiet@google.com</owner> |
| <owner>pawelstus@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs that a specific type was edited in a save/update/migrate/merge prompt. |
| This metric is emitted once the user-provided import decision is final. |
| |
| {ImportType} |
| </summary> |
| <token key="ImportType"> |
| <variant name="HomeAndWorkSuperset" |
| summary="Logs that a specific type was edited in a home/work superset |
| prompt."/> |
| <variant name="HomeWorkNameEmailMerge" |
| summary="Logs that a specific type was edited in a |
| `kAccountNameEmail` and H/W superset prompt."/> |
| <variant name="MigrateProfile" |
| summary="Logs that a specific type was edited in a profile migration |
| prompt."/> |
| <variant name="NameEmailSuperset" |
| summary="Logs that a specific type was edited in a |
| `kAccountNameEmail` superset prompt."/> |
| <variant name="NewProfile" |
| 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."/> |
| <variant name="UpdateProfile" |
| 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 existing profile was observed in a form |
| submission."/> |
| </token> |
| </histogram> |
| |
| <!-- LINT.ThenChange(/components/autofill/core/browser/metrics/profile_import_metrics.cc:GetImportTypeMetricsString) --> |
| |
| <histogram name="Autofill.ProfileImportValidCandidate.ZipCode.Length" |
| units="units" expires_after="2026-10-11"> |
| <owner>mmaryia@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the zip code length. This metric is emitted during the import process, |
| after the extracted profile has been validated and passed minimal address |
| requirements, but before the final import decision. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileImportValidCandidate.ZipCode.Separator" |
| enum="AutofillZipCodeSeparators" expires_after="2026-10-11"> |
| <owner>mmaryia@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the specific separator character found in a zip code. This metric is |
| emitted during the import process, after the extracted profile has been |
| validated and passed minimal address requirements, but before the final |
| import decision. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileTokenQuality.PerProfile" units="Percents" |
| expires_after="2026-10-25"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The overall acceptance rate of all stored observations for the profile. |
| Emitted once per profile at Chrome profile start-up. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.ProfileTokenQuality.StoredObservationsCount.PerProfile" |
| units="Observations" expires_after="2026-11-01"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the total number of observations stored for a profile. Emitted once |
| per profile at Chrome profile start-up. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileTokenQuality.StoredObservationTypes.{Type}" |
| enum="AutofillProfileTokenQualityObservationType" |
| expires_after="2026-09-20"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records which observation types are stored. Emitted once per profile and |
| storable type at Chrome profile start-up. For additional supported types, |
| consulte the metric of the corresponding storable type. |
| </summary> |
| <token key="Type" variants="AutofillProfile.StorableTypes"/> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileTokenQuality.{Type}" units="Percents" |
| expires_after="2026-09-27"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the acceptance rate of {Type}, based on the available observations |
| for it. Emitted once per profile and storeable type at Chrome profile |
| start-up. For additional supported types, consulte the metric of the |
| corresponding storable type. |
| </summary> |
| <token key="Type" variants="AutofillProfile.StorableTypes"/> |
| </histogram> |
| |
| <histogram name="Autofill.ProfileTokenQualityScore" units="bits" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>bwolfgang@google.com</owner> |
| <owner>mlerman@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the {number of observations (bits 0-3, capped at 10), quality score |
| (bits 4-7), profile token (bits 8-15)} as a bitmask, if there were any |
| observations. The score is an integer ranging from 0 to 10, as is the number |
| of observations. Observations are from the profile that was used for |
| filling. Emitted on form submission, after the profile's observations were |
| updated. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ProgressDialog.{FlowType}.Result" |
| enum="BooleanCanceled" expires_after="2027-04-30"> |
| <owner>siashah@chromium.org</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the result of the progress dialog, which can either be canceled |
| (user canceled while it was in progress) or not canceled (user waited until |
| confirmation). This dialog is shown in between other dialogs in a flow to |
| provide a progress state to the user. If the user does not cancel it, after |
| its related background task completes it moves on to the next dialog in the |
| flow that it is a part of. The metric is recorded when this dialog is |
| dismissed, and the result that gets logged is false if the user waited until |
| confirmation or true if the user canceled the dialog. |
| </summary> |
| <token key="FlowType" variants="Autofill.ProgressDialog.FlowType"/> |
| </histogram> |
| |
| <histogram name="Autofill.ProgressDialog.{FlowType}.Shown" enum="BooleanShown" |
| expires_after="2027-04-30"> |
| <owner>siashah@chromium.org</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records true every time the progress dialog is shown. This dialog is shown |
| in between other dialogs in a payments autofill flow to provide a progress |
| state to the user. If the user does not cancel it, after its related |
| background task completes it moves on to the next dialog in the flow that it |
| is a part of. |
| </summary> |
| <token key="FlowType" variants="Autofill.ProgressDialog.FlowType"/> |
| </histogram> |
| |
| <histogram name="Autofill.PromptStatus" enum="AutofillPromptStatus" |
| expires_after="2026-10-04"> |
| <owner>vincb@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Gives the status of the autofill prompts. Recorded when processing the |
| submitted form data and only if there is enough data to display at least one |
| prompt. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.QueriedCreditCardFormIsSecure" enum="BooleanSecure" |
| expires_after="2026-12-12"> |
| <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="2026-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="2026-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.GetUrlLength" units="bytes" |
| expires_after="2026-12-12"> |
| <owner>doland@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary>The length of url of GET request sent to Autofill Server.</summary> |
| </histogram> |
| |
| <histogram name="Autofill.Query.HttpResponseOrErrorCode" |
| enum="CombinedHttpResponseAndNetErrorCode" expires_after="2026-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="2026-12-12"> |
| <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="2026-12-12"> |
| <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.RequestsInLastMinute" units="requests" |
| expires_after="2026-09-06"> |
| <owner>ireneuszszulc@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of query requests sent to the Autofill server in a sliding |
| 60-second window. This is recorded with every request that is not served |
| from cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Query.WasInCache" enum="BooleanCacheHit" |
| expires_after="2026-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.Rationalization.OnlyFillWhenFocused.Quality" |
| enum="AutofillRationalizationQualityMetric" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether the "only_fill_when_focused"-rationalization had a |
| Good, Ok or Bad impact. Good means that the rationalization prevented the |
| user from editing a field that would have been autofilled if the |
| rationalization didn't happen. Ok means that the rationalization had no |
| impact of whether the user edited the field or not. Bad means that the |
| rationalization made the user edit a field (by either typing or triggering |
| autofill a second time) that wouldn't have been edited if the |
| rationalization didn't happen. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Refill.ModifiedFieldsCount.{RefillTriggerReason}" |
| units="fields" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of fields that were modified by a single refill |
| operation. This metric is emitted at each triggered refill operation. |
| </summary> |
| <token key="RefillTriggerReason"> |
| <variant name="ExpirationDateFormatted"/> |
| <variant name="FormChanged"/> |
| <variant name="SelectOptionsChanged"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.RefillTriggerReason" enum="RefillTriggerReason" |
| expires_after="2026-12-12"> |
| <owner>jsobiech@google.com</owner> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the reason for triggering a refill operation after a filling |
| operation. This metric is recording each time a refill is triggered. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.RendererFillSkipReason" enum="RendererFillSkipReason" |
| expires_after="2026-12-12"> |
| <owner>jihadghanna@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the reason for skipping filling a field in the renderer. Emitted every |
| time a field is passed to ShouldSkipFillField in form_autofill_util.cc. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.RendererLabeledAmountExtractionLatency.{RendererAmountExtractionLatencyResult}" |
| units="ms" expires_after="2027-04-30"> |
| <owner>yiwenqian@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Recorded after attempting to extract a labeled amount from a web page within |
| the renderer process. This metric tracks the duration from the start of the |
| `ExtractLabeledTextNodeValue` method to the end of the amount extraction |
| operation inside the renderer process. It specifically measures the latency |
| of the amount extraction process performed by the renderer, differentiating |
| if the amount was successfully extracted or not. |
| |
| The histogram `Autofill.RendererLabeledAmountExtractionLatency.Failure` |
| records the latency when amount extraction fails and |
| `Autofill.RendererLabeledAmountExtractionLatency.Success` records the |
| latency when amount extraction succeeded. This metric aims to provide |
| insight into the latency of the renderer-side amount extraction. |
| </summary> |
| <token key="RendererAmountExtractionLatencyResult"> |
| <variant name="Failure" |
| summary="Labeled amount extraction latency when amount extraction |
| failed on renderer-side"/> |
| <variant name="Success" |
| summary="Labeled amount extraction latency when amount extraction |
| succeeded on renderer-side"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.ResetAutofillPrefToChrome" enum="Boolean" |
| expires_after="2026-09-20"> |
| <owner>friedrichh@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Clank only. Logs whether the user decided to use 3P password managers but a |
| precondition prevented their use so Chrome fell back to using the built-in |
| password manager. Emitted only once per cold start of Chrome when the first |
| tab is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.RiskBasedAuth.{CardType}.Attempt" |
| enum="BooleanAttempted" expires_after="2027-04-30"> |
| <owner>junhuihe@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true when a risk-based authentication starts, and does not emit any |
| value otherwise. Currently, ServerCard and VirtualCard support risk-based |
| authentication. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram name="Autofill.RiskBasedAuth.{CardType}.Latency" units="ms" |
| expires_after="2027-04-30"> |
| <owner>junhuihe@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the roundtrip latency of the UnmaskCardRequest during risk-based |
| authentication. It is logged when the UnmaskCardRequest is completed. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram name="Autofill.RiskBasedAuth.{CardType}.Result" |
| enum="AutofillRiskBasedAuthEvent" expires_after="2027-04-30"> |
| <owner>junhuihe@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the result of a risk-based unmasking process when the unmasking is |
| finished (whether it succeeded or the failure reason). Broken down by the |
| type of card to be unmasked. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram name="Autofill.RiskDataLoading.Latency" units="ms" |
| expires_after="2027-04-30"> |
| <owner>junhuihe@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the latency of risk data loading. It is logged when the loading is |
| completed or timed out. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SaveAndFill.CreateCard.Latency{RequestResult}" |
| units="ms" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>averina@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the latency of the CreateCard request of the Save-and-Fill flow when |
| {RequestResult}. Logged when the response of the request is received. |
| </summary> |
| <token key="RequestResult" variants="Autofill.RequestResult"/> |
| </histogram> |
| |
| <histogram name="Autofill.SaveAndFill.DialogResult2" |
| enum="SaveAndFillDialogResult" expires_after="2027-04-30"> |
| <owner>averina@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the user's action in the Save and Fill dialog. This histogram is |
| broken down by the version of the dialog shown to the user (local or |
| upload). Logged when the user accepts (with or without providing a CVC) or |
| cancels the dialog. |
| |
| Note that a previous version of this histogram did not have a local/upload |
| breakdown and was obsoleted in December 2025. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SaveAndFill.DialogShown.{SaveType}" enum="Boolean" |
| expires_after="2026-06-07"> |
| <owner>averina@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Obsolete metric, replaced by Autofill.SaveAndFill.DialogShown2. Records when |
| the Save and Fill dialog is shown, broken down by whether it is a local or |
| upload save. |
| </summary> |
| <token key="SaveType"> |
| <variant name="Local" summary="Local save"/> |
| <variant name="Upload" summary="Server save"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.SaveAndFill.DialogShown2" |
| enum="SaveAndFillDialogShown" expires_after="2027-04-30"> |
| <owner>averina@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records when the Save and Fill dialog is shown, broken down by whether it is |
| a local or upload save. |
| |
| Note that a previous version of this histogram was a boolean histogram split |
| by save type and was obsoleted in December 2025. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SaveAndFill.Funnel.Succeeded" |
| enum="SaveAndFillFunnelSucceededStage" expires_after="2027-04-30"> |
| <owner>averina@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the conversion funnel for successful Save and Fill attempts, |
| aggregated across all scenarios. Events are logged at the save, fill, and |
| submission stages to measure user retention. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SaveAndFill.Funnel.Succeeded.{FlowScenario}" |
| enum="SaveAndFillFunnelSucceededStage" expires_after="2027-04-30"> |
| <owner>averina@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the conversion funnel for successful Save and Fill attempts, for the |
| {FlowScenario} scenario. Events are logged at the save, fill, and submission |
| stages to measure user retention. |
| </summary> |
| <token key="FlowScenario"> |
| <variant name="LocalSaveBinRangeNotSupported" |
| summary="when a fallback local save occurs because the card BIN range |
| is not supported"/> |
| <variant name="LocalSavePreflightCallFailed" |
| summary="when a local save occurs because the preflight call failed"/> |
| <variant name="LocalSaveUploadSaveFailed" |
| summary="when a fallback local save occurs because the server upload |
| request failed"/> |
| <variant name="LocalSaveUploadSaveInfeasible" |
| summary="when a local save occurs because upload save was infeasible |
| (e.g., sync disabled)"/> |
| <variant name="UploadSave" summary="for successful server saves"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.SaveAndFill.Funnel.{SaveType}.{Result}" |
| enum="SaveAndFillFormEvent" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>averina@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records form events to calculate the Save and Fill conversion rate. Logged |
| when the form is filled and when form is submitted. It has two breakdowns to |
| indicate that the save is a {SaveType} and {Result}. |
| </summary> |
| <token key="SaveType"> |
| <variant name="Local" summary="local save"/> |
| <variant name="Upload" summary="server save"/> |
| </token> |
| <token key="Result"> |
| <variant name="Failure" summary="save failed"/> |
| <variant name="Success" summary="save succeeded"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveAndFill.GetDetailsForCreateCard.Latency{RequestResult}" |
| units="ms" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>averina@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the latency of the GetDetailsForCreateCard request of the |
| Save-and-Fill flow when {RequestResult}. Logged when the response of the |
| request is received. |
| </summary> |
| <token key="RequestResult" variants="Autofill.RequestResult"/> |
| </histogram> |
| |
| <histogram name="Autofill.SaveAndFill.SuggestionNotShownReason" |
| enum="SaveAndFillSuggestionNotShownReason" expires_after="2027-04-30"> |
| <owner>averina@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logged when the Save and Fill suggestion is not shown to the user, |
| indicating the reason for it not being shown. Logged once per page load when |
| the conditions for showing the suggestion are checked and not met. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SaveAndFill.{RequestType}.Result" |
| enum="SaveAndFillPaymentsRequestResult" expires_after="2027-04-30"> |
| <owner>averina@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the result of the {RequestType} server request in the Save and Fill |
| flow. Logged when the response of the request is received. |
| </summary> |
| <token key="RequestType"> |
| <variant name="CreateCard"/> |
| <variant name="GetDetailsForCreateCard"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.SaveCardCardholderNamePrefilled" enum="Boolean" |
| expires_after="2026-10-11"> |
| <owner>osaul@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="2027-04-30"> |
| <owner>osaul@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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</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.SaveCreditCardPromptOffer.Android.Server.{ServerSaveSituation}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs whether the save credit card prompt on android is shown or not shown |
| for a card to be saved as a server card, which {ServerSaveSituation}. Is |
| emitted whenever card save is offered or decision to not offer is made. |
| </summary> |
| <token key="ServerSaveSituation" variants="AutofillServerSaveCardSituation"/> |
| </histogram> |
| |
| <histogram name="Autofill.SaveCreditCardPromptOffer.Android.{SaveDestination}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs whether the save credit card prompt on android is shown or not shown |
| for a card to be saved as a {SaveDestination} card. Is emitted whenever card |
| save is offered or decision to not offer is made. |
| </summary> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptOffer.Android.{SaveDestination}.{SaveSituation}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs whether the save credit card prompt on android is shown or not shown |
| for a card to be saved as a {SaveDestination} card, when {SaveSituation}. Is |
| emitted whenever card save is offered or decision to not offer is made. |
| </summary> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| <token key="SaveSituation" variants="AutofillSaveCardSituation"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptOffer.Desktop.Server.{ServerSaveSituation}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs whether the save credit card prompt on desktop is shown or not shown |
| for a card to be saved as a server card, which {ServerSaveSituation}. Is |
| emitted whenever card save is offered or decision to not offer is made. Not |
| logged for prompt re-shows (e.g., prompt reshown from the omnibox icon on |
| desktop). |
| </summary> |
| <token key="ServerSaveSituation" variants="AutofillServerSaveCardSituation"/> |
| </histogram> |
| |
| <histogram name="Autofill.SaveCreditCardPromptOffer.Desktop.{SaveDestination}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs whether the save credit card prompt on desktop is shown or not shown |
| for a card to be saved as a {SaveDestination} card. Is emitted whenever card |
| save is offered or decision to not offer is made. Not logged for prompt |
| re-shows (e.g., prompt reshown from the omnibox icon on desktop). |
| </summary> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptOffer.Desktop.{SaveDestination}.{SaveSituation}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs whether the save credit card prompt on desktop is shown or not shown |
| for a card to be saved as a {SaveDestination} card, when {SaveSituation}. Is |
| emitted whenever card save is offered or decision to not offer is made. Not |
| logged for prompt re-shows (e.g., prompt reshown from the omnibox icon on |
| desktop). |
| </summary> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| <token key="SaveSituation" variants="AutofillSaveCardSituation"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptOffer.IOS.{SaveDestination}.{OverlayType}.NumStrikes.{Strikes}.{FixFlow}.{SaveCardWithCvcSituation}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>yiwenqian@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs whether the save credit card prompt of the type {OverlayType} on iOS is |
| shown or not shown for a card to be saved as a {SaveDestination} card, with |
| {Strikes} and which required {FixFlow}, and this card is |
| {SaveCardWithCvcSituation}. Is emitted whenever card save is offered or |
| decision to not offer is made. |
| </summary> |
| <token key="OverlayType" variants="AutofillSaveCardPromptOverlayTypeForIos"/> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| <token key="Strikes"> |
| <variant name="0" summary="0 strikes"/> |
| <variant name="1" summary="1 strike"/> |
| <variant name="2" summary="2 strikes"/> |
| </token> |
| <token key="FixFlow"> |
| <variant name="NoFixFlow" summary="no fix flow"/> |
| <variant name="RequestingCardHolderName" summary="only card holder name"/> |
| <variant name="RequestingCardHolderNameAndExpiryDate" |
| summary="card holder name and expiry date"/> |
| <variant name="RequestingExpiryDate" summary="only expiry date"/> |
| </token> |
| <token key="SaveCardWithCvcSituation" |
| variants="AutofillSaveCardWithCvcSituation"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptOffer.IOS.{SaveDestination}.{OverlayType}.{SaveCardWithCvcSituation}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>yiwenqian@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs whether the save credit card prompt of the type {OverlayType} on iOS is |
| shown or not shown for a card to be saved as a {SaveDestination} card, and |
| this card is {SaveCardWithCvcSituation}. Is emitted whenever card save is |
| offered or decision to not offer is made. |
| </summary> |
| <token key="OverlayType" variants="AutofillSaveCardPromptOverlayTypeForIos"/> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| <token key="SaveCardWithCvcSituation" |
| variants="AutofillSaveCardWithCvcSituation"/> |
| </histogram> |
| |
| <histogram name="Autofill.SaveCreditCardPromptOffer.{SaveDestination}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs whether the save credit card prompt is shown or not shown for a card to |
| be saved as a {SaveDestination} card. Is emitted whenever card save is |
| offered or decision to not offer is made. Not logged for prompt re-shows |
| (e.g., prompt reshown from the omnibox icon on desktop). |
| </summary> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptOffer.{SaveDestination}.{ShowType}{SaveType}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which the Autofill save credit card prompt is |
| shown or not to save a credit card {SaveDestination}, {SaveType}. Logged |
| when the flow is triggered and the decision of whether or not to offer |
| credit card save is made. It was a {ShowType}. |
| </summary> |
| <token key="SaveDestination" |
| variants="AutofillSaveCreditCardPromptDestination"/> |
| <token key="ShowType" variants="FirstShowOrReshow"/> |
| <token key="SaveType" variants="AutofillCreditCardSaveType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptResult.Desktop.Server.{ServerSaveSituation}" |
| enum="AutofillSaveCardPromptResultDesktopEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs how the user interacts with the save credit card prompt for a card to |
| be saved as a server card, which {ServerSaveSituation}. Is emitted as soon |
| as user accepts or when the prompt closes. Not logged for prompt re-shows |
| (e.g., prompt reshown from the omnibox icon). |
| </summary> |
| <token key="ServerSaveSituation" variants="AutofillServerSaveCardSituation"/> |
| </histogram> |
| |
| <histogram name="Autofill.SaveCreditCardPromptResult.Desktop.{SaveDestination}" |
| enum="AutofillSaveCardPromptResultDesktopEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs how the user interacts with the save credit card prompt for a card to |
| be saved as a {SaveDestination} card. Is emitted as soon as user accepts or |
| when the prompt closes. Not logged for prompt re-shows (e.g., prompt reshown |
| from the omnibox icon on desktop). |
| </summary> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptResult.Desktop.{SaveDestination}.{SaveSituation}" |
| enum="AutofillSaveCardPromptResultDesktopEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs how the user interacts with the save credit card prompt for a card to |
| be saved as a {SaveDestination} card, when {SaveSituation}. Is emitted as |
| soon as user accepts or when the prompt closes. Not logged for prompt |
| re-shows (e.g., prompt reshown from the omnibox icon on desktop). |
| </summary> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| <token key="SaveSituation" variants="AutofillSaveCardSituation"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptResult.Desktop.{SaveDestination}.{UserGroup}" |
| enum="AutofillSaveCardPromptResultDesktopEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs how the user interacts with the save credit card prompt for a card to |
| be saved as a {SaveDestination} card, with {UserGroup}. Is emitted as soon |
| as user accepts or when the prompt closes. Not logged for prompt re-shows |
| (e.g., prompt reshown from the omnibox icon on desktop). |
| </summary> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| <token key="UserGroup"> |
| <variant name="UserHasNoCards" |
| summary="data aggregated across users who don't have credit cards |
| saved"/> |
| <variant name="UserHasSavedCards" |
| summary="data aggregated across users who have credit cards saved |
| already."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptResult.IOS.{SaveDestination}.{OverlayType}.NumStrikes.{Strikes}.{FixFlow}{SaveType}" |
| enum="SaveCreditCardPromptResultIOS" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which the credit card prompt on iOS of the type |
| {OverlayType} is shown and user's subsequent action (accepted, denied or |
| ignored) taken for that prompt for a card to be saved as a {SaveDestination} |
| card with {Strikes} and which required {FixFlow}. The prompt is shown when |
| {SaveType}. Is emitted every time the prompt is shown or not shown and for |
| any action taken when shown. |
| </summary> |
| <token key="OverlayType"> |
| <variant name="Banner" summary="InfoBar Banner"/> |
| <variant name="BottomSheet" summary="BottomSheet"/> |
| <variant name="Modal" summary="InfoBar Modal"/> |
| </token> |
| <token key="SaveDestination"> |
| <variant name="Local" summary="local"/> |
| <variant name="Server" summary="server"/> |
| </token> |
| <token key="Strikes"> |
| <variant name="0" summary="0 strikes"/> |
| <variant name="1" summary="1 strike"/> |
| <variant name="2" summary="2 strikes"/> |
| </token> |
| <token key="FixFlow"> |
| <variant name="NoFixFlow" summary="no fix flow"/> |
| <variant name="RequestingCardHolderName" summary="only card holder name"/> |
| <variant name="RequestingCardHolderNameAndExpiryDate" |
| summary="card holder name and expiry date"/> |
| <variant name="RequestingExpiryDate" summary="only expiry date"/> |
| </token> |
| <token key="SaveType" variants="AutofillCreditCardSaveType"/> |
| </histogram> |
| |
| <histogram name="Autofill.SaveCreditCardPromptResult.{SaveDestination}" |
| enum="AutofillSaveCardPromptResultEnum" expires_after="2027-04-30"> |
| <owner>kavitasoni@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs whether the user accepts or closes/denies the save credit card prompt |
| for a card to be saved as a {SaveDestination} card. Not logged for prompt |
| re-shows (e.g., prompt reshown from the omnibox icon on desktop). |
| </summary> |
| <token key="SaveDestination" variants="AutofillSaveCardDestination"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptResult.{SaveDestination}.{ShowType}{SaveType}" |
| enum="AutofillSavePaymentMethodPromptResultEnum" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which (and how) users accept or deny the |
| Autofill save credit card prompt to save credit card {SaveDestination}. |
| Logged when the prompt closes. |
| </summary> |
| <token key="SaveDestination" |
| variants="AutofillSaveCreditCardPromptDestination"/> |
| <token key="ShowType" variants="FirstShowOrReshow"/> |
| <token key="SaveType" variants="AutofillCreditCardSaveType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCreditCardPromptResult.{SaveDestination}.{UserGroup}" |
| enum="AutofillSavePaymentMethodPromptResultEnum" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which users accept or deny the Autofill save |
| credit card prompt to save credit card {SaveDestination}. Only first shows |
| are recorded. Logged when the prompt closes. |
| </summary> |
| <token key="SaveDestination" |
| variants="AutofillSaveCreditCardPromptDestination"/> |
| <token key="UserGroup"> |
| <variant name="Aggregate" summary="Aggregated data of all users."/> |
| <variant name="UserHasNoCards" |
| summary="Metrics are recorded for users who don't have any credit |
| cards saved."/> |
| <variant name="UserHasSavedCards" |
| summary="Metrics are recorded for users who have credit cards saved |
| already."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCvcPromptOffer.IOS.{AutofillSaveCreditCardPromptDestination}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>yiwenqian@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which the Autofill save CVC prompt is shown or |
| not to save CVC {AutofillSaveCreditCardPromptDestination} on iOS. Logged |
| when the flow is triggered and the prompt should be shown. |
| </summary> |
| <token key="AutofillSaveCreditCardPromptDestination" |
| variants="AutofillSaveCreditCardPromptDestination"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCvcPromptOffer.{AutofillSaveCreditCardPromptDestination}.{ShowType}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which the Autofill save CVC prompt is shown or |
| not to save CVC {AutofillSaveCreditCardPromptDestination}. Logged when the |
| flow is triggered and the prompt should be shown. It was a {ShowType}. |
| </summary> |
| <token key="AutofillSaveCreditCardPromptDestination" |
| variants="AutofillSaveCreditCardPromptDestination"/> |
| <token key="ShowType" variants="FirstShowOrReshow"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCvcPromptResult.IOS.{AutofillSaveCreditCardPromptDestination}" |
| enum="AutofillSavePaymentMethodPromptResultEnum" expires_after="2027-04-30"> |
| <owner>yiwenqian@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which users accept or deny the Autofill save CVC |
| prompt on iOS to save CVC {AutofillSaveCreditCardPromptDestination}. Logged |
| when the prompt closes. |
| </summary> |
| <token key="AutofillSaveCreditCardPromptDestination" |
| variants="AutofillSaveCreditCardPromptDestination"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveCvcPromptResult.{AutofillSaveCreditCardPromptDestination}.{ShowType}" |
| enum="AutofillSavePaymentMethodPromptResultEnum" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The relative frequency with which users accept or deny the Autofill save CVC |
| prompt to save CVC {AutofillSaveCreditCardPromptDestination}. Logged when |
| the prompt closes. It was a {ShowType}. |
| </summary> |
| <token key="AutofillSaveCreditCardPromptDestination" |
| variants="AutofillSaveCreditCardPromptDestination"/> |
| <token key="ShowType" variants="FirstShowOrReshow"/> |
| </histogram> |
| |
| <histogram name="Autofill.SaveIbanPromptOffer.{IbanTypeToBeSaved}.{ShowType}" |
| enum="AutofillSavePaymentMethodPromptOfferEnum" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>qihuizhao@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records every time the save IBAN bubble or omnibox icon (due to maxstrike |
| reached) is offered to the user, broken down by destination and show type. |
| On Android, the ShowType is only logged as "FirstShow" since there |
| is no option to retrigger the prompt or reshow it once dismissed. |
| </summary> |
| <token key="IbanTypeToBeSaved" variants="IbanTypeToBeSaved"/> |
| <token key="ShowType" variants="FirstShowOrReshow"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.SaveIbanPromptResult.{IbanTypeToBeSaved}.SavedWithNickname" |
| enum="Boolean" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records when the user accepts the bubble to save an IBAN, with or without |
| nickname. |
| </summary> |
| <token key="IbanTypeToBeSaved" variants="IbanTypeToBeSaved"/> |
| </histogram> |
| |
| <histogram name="Autofill.SaveIbanPromptResult2.{IbanTypeToBeSaved}.{ShowType}" |
| enum="AutofillSavePaymentMethodPromptResultEnum" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>qihuizhao@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records when the user makes a decision on the save IBAN bubble, broken down |
| by destinations. On Android, the ShowType is only logged as |
| "FirstShow" since there is no option to retrigger the prompt or |
| reshow it once dismissed. |
| </summary> |
| <token key="IbanTypeToBeSaved" variants="IbanTypeToBeSaved"/> |
| <token key="ShowType" variants="FirstShowOrReshow"/> |
| </histogram> |
| |
| <histogram name="Autofill.ScanCreditCard.Completed" enum="BooleanCompleted" |
| expires_after="2026-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{CreditCardScanSuccess}" |
| units="ms" expires_after="2026-10-01"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| How long a credit card took to scan. {CreditCardScanSuccess} |
| </summary> |
| <token key="CreditCardScanSuccess"> |
| <variant name=""/> |
| <variant name="_Cancelled" summary="Credit card scan was cancelled."/> |
| <variant name="_Completed" summary="Credit card scan completed."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.ScanCreditCardPrompt" |
| enum="AutofillScanCreditCardPrompt" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>koerber@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary>Usage of the "Scan card" control item.</summary> |
| </histogram> |
| |
| <histogram name="Autofill.ServerCardLinkClicked" enum="AutofillSyncState" |
| expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logged when the user clicks on the server credit card link in the settings |
| page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ServerCardUnmask.{CardType}.Attempt" |
| enum="BooleanAttempted" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true when a server card unmasking process starts and does not emit any |
| value otherwise. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram name="Autofill.ServerCardUnmask.{CardType}.FormSubmission" |
| enum="BooleanSubmitted" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true when a form is submitted with information fetched in a server |
| card unmasking process, and does not emit any value otherwise. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </histogram> |
| |
| <histogram name="Autofill.ServerCardUnmask.{CardType}.Result.{FlowType}" |
| enum="AutofillServerCardUnmaskResult" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the result of a server card unmasking process when the unmasking is |
| finished (whether it succeeded or otherwise reason of the failure). It |
| includes the type of the card to be unmasked and the flow type (what |
| authentication used) in the unmasking. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="FlowType" variants="Autofill.ServerCardUnmaskFlowType"/> |
| </histogram> |
| |
| <histogram name="Autofill.ServerIbanLinkClicked" enum="AutofillSyncState" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the sync state when the user clicks on a server IBAN's [Edit in Google |
| Pay] link. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ServerQueryResponse" enum="AutofillQueryResult" |
| expires_after="2026-12-12"> |
| <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="2026-12-12"> |
| <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.Settings.AutofillOptionsReferrerAndroid" |
| enum="AutofillOptionsReferrer" expires_after="2026-08-30"> |
| <owner>friedrichh@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records which entry point opened the Autofill Options screen. Recorded on |
| Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Settings.AutofillOptionsRestartAccepted" |
| enum="Boolean" expires_after="2026-12-12"> |
| <owner>friedrichh@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records true whenever the user confirms changing the third party autofill |
| experience with a restart. Records false whenever the user dismisses the |
| restart prompt. Since a restart is always required, users may be opting in |
| or out of 3P suggestions while they are faced with this restart prompt. |
| Recorded when the user flips the toggle in the autofill options settings. |
| Recorded only on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Settings.EditAddress" |
| enum="BooleanAutofillEditAddress" expires_after="2026-09-06"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| This metric measures how many users clicked on the edit option from the |
| settings page and what their next action was. The metric is logged when the |
| user closes the edit address profile dialog, either after saving an updated |
| profile or after canceling. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Settings.EditedAlternativeNameContainsASeparator" |
| enum="BooleanYesNo" expires_after="2026-10-04"> |
| <owner>jsobiech@google.com</owner> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether the alternative name field saved from an address editor form |
| has a separator present. Recorded when the user saves or updates an existing |
| address in the autofill options settings. Only applicable on Desktop. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Settings.ToggleUseThirdPartyFilling" enum="Boolean" |
| expires_after="2026-08-30"> |
| <owner>friedrichh@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records true whenever the user opts into the third party autofill |
| experience. Records false whenever they switch back to the default, |
| Chrome-provided autofill experience. Recorded when the user flips the toggle |
| in the autofill options settings. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SettingsPage.BnplToggled" enum="Boolean" |
| expires_after="2027-04-30"> |
| <owner>wilsonlow@google.com</owner> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks user enablement of the buy-now-pay-later feature by flipping the |
| pay-over-time toggle in the payment methods settings page. Records true when |
| the user switches on buy-now-pay-later. Records false when the user switches |
| off buy-now-pay-later. Recorded at the time of the user clicking the toggle |
| in the settings page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SettingsPage.ButtonClicked.{CardType}.{Button}" |
| enum="BooleanAttempted" expires_after="2027-04-30"> |
| <owner>siashah@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true whenever {Button} is clicked in the mobile {CardType} edit page. |
| Never emits false. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| <token key="Button"> |
| <variant name="EditCard" summary="the edit button"/> |
| <variant name="Enroll" summary="the enroll button"/> |
| <variant name="Unenroll" summary="the unenroll button"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.SettingsPage.LocalIbanActions" |
| enum="AutofillPaymentMethodsActionEnum" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>averina@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records user interactions with local IBANs on the Chrome payment methods |
| settings page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SkippingFormFillDueToChangedFieldCount" |
| enum="Boolean" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether an autofill operation was skipped because the number of |
| fields to be filled is different than that number of fields registered in |
| the form cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SmsOtp.UnrecognizedGmsCoreErrorCode" |
| units="error code" expires_after="2026-10-31"> |
| <owner>koerber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the raw, unrecognized error code returned from the Android SMS |
| Retriever API when a retrieval error occurs. This is used to track and |
| discover new error codes that might be introduced in future GMSCore updates. |
| Recorded when an unrecognized API error code is encountered during OTP |
| retrieval. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Snackbar.{SnackbarType}.ActionClicked" |
| enum="BooleanShown" expires_after="2027-04-30"> |
| <owner>siashah@chromium.org</owner> |
| <owner>osaul@google.com</owner> |
| <owner>darwinyang@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Emits true when the action button on the autofill snackbar is clicked and |
| does not emit any value otherwise. |
| </summary> |
| <token key="SnackbarType" variants="Autofill.Snackbar.Type"/> |
| </histogram> |
| |
| <histogram name="Autofill.Snackbar.{SnackbarType}.Shown" enum="BooleanShown" |
| expires_after="2027-04-30"> |
| <owner>siashah@chromium.org</owner> |
| <owner>osaul@google.com</owner> |
| <owner>darwinyang@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Emits true when the autofill snackbar is displayed and does not emit any |
| value otherwise. |
| </summary> |
| <token key="SnackbarType" variants="Autofill.Snackbar.Type"/> |
| </histogram> |
| |
| <histogram name="Autofill.StoredCreditCardCount.Server.WithCardArtImage" |
| units="units" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The number of server cards with a valid card art image, measured at Chrome |
| profile launch. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.StoredCreditCardCount.Server.WithVirtualCardMetadata" |
| units="units" expires_after="2027-04-30"> |
| <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.StoredCreditCardCount{AutofillCreditCardType}" |
| units="cards" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The number of credit cards a user has stored, measured at Chrome profile |
| launch time. {AutofillCreditCardType} |
| </summary> |
| <token key="AutofillCreditCardType" variants="AutofillCreditCardType"> |
| <variant name=""/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.StoredCreditCardDisusedCount{AutofillCreditCardType}" |
| units="cards" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <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. {AutofillCreditCardType} |
| </summary> |
| <token key="AutofillCreditCardType" variants="AutofillCreditCardType"> |
| <variant name=""/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.StoredIbanCount" units="ibans" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The number of local and server IBANs a user has stored, measured at Chrome |
| profile launch time. It's logged once per profile load. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.StoredIbanCount.{IbanRecordType}" units="ibans" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The number of local or server IBANs a user has stored, measured at Chrome |
| profile launch time. It's logged once per profile load. |
| </summary> |
| <token key="IbanRecordType" variants="IbanRecordType"/> |
| </histogram> |
| |
| <histogram name="Autofill.StoredIbanCount.{IbanRecordType}.WithNickname" |
| units="ibans" expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The number of local or server IBANs with nickname a user has stored, |
| measured at Chrome profile launch time. It's logged one per profile load. |
| </summary> |
| <token key="IbanRecordType" variants="IbanRecordType"/> |
| </histogram> |
| |
| <histogram name="Autofill.StoredIbanDisusedCount.{IbanRecordType}" |
| units="ibans" expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The number of disused IBANs a user has stored, measured at Chrome profile |
| launch time. This is only reported for users who have at least one stored |
| IBAN. |
| </summary> |
| <token key="IbanRecordType" variants="IbanRecordType"/> |
| </histogram> |
| |
| <histogram name="Autofill.StoredProfileCount.{Suffix}" units="Profiles" |
| expires_after="2026-12-12"> |
| <owner>piotrkotynia@google.com</owner> |
| <owner>sygiet@google.com</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>jsobiech@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of Autofill addresses a user has stored of the given category or |
| in total, measured at launch time. |
| |
| {Suffix} |
| </summary> |
| <token key="Suffix" variants="StoredProfileCategories"> |
| <variant name="Total"/> |
| <variant name="TotalPostalAddressProfiles" |
| summary="The number of Autofill profiles that are considered to be |
| postal addresses, measured at launch time. A profile is |
| counted as a postal address if at least two of the following |
| are set: city, state, street address, or zip code."/> |
| <variant name="WithAlternativeName" |
| summary="The number of Autofill addresses with an alternative name |
| set, measured at launch time."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.StoredProfileCountAtAutofillableFormSubmission" |
| units="units" expires_after="2026-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.{Category}" |
| units="Profiles" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of stored Autofill address profiles of the given category, which |
| have not been used in a sufficiently long time for autofill to consider them |
| disused. Measured once per Chrome user profile launch. This metric is only |
| recorded if the user has at least one profile of that category. |
| </summary> |
| <token key="Category" variants="StoredProfileCategories"/> |
| </histogram> |
| |
| <histogram name="Autofill.StoredProfileUsedCount.{Category}" units="Profiles" |
| expires_after="2026-07-13"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of stored Autofill address profiles of the given category, which |
| are not in the disused state. Measured once per Chrome user profile launch. |
| This metric is only recorded if the user has at least one profile of that |
| category. |
| </summary> |
| <token key="Category" variants="StoredProfileCategories"/> |
| </histogram> |
| |
| <histogram name="Autofill.StoredProfileUsedPercentage.{Category}" |
| units="Profiles" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The percentage of stored Autofill address profiles of the given category, |
| which are not in the disused state. Measured once per Chrome user profile |
| launch. This metric is only recorded if the user has at least one profile of |
| that category. |
| </summary> |
| <token key="Category" variants="StoredProfileCategories"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.StrikeDatabase.CreditCardSaveNotOfferedDueToMaxStrikes" |
| enum="AutofillSaveType" expires_after="2027-04-30"> |
| <owner>osaul@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 not |
| passing the strike database check. |
| |
| Note that as of M149, this histogram implies card save was not offered due |
| to the strike database decision, not *necessarily* because of max strikes |
| reached. The strike database check can fail because the card has too many |
| strikes, or because a required delay has not yet passed. The name is an |
| unfortunate reflection on the feature's original initial behavior only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.StrikeDatabase.IbanSaveNotOfferedDueToMaxStrikes" |
| enum="AutofillSaveType" expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records when IBAN save prompt is not offered due to the candidate IBAN |
| having too many strikes. It is recorded when offering IBAN save to user and |
| detects the max strikes has been reached. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.StrikeDatabase.NthStrikeAdded.{AutofillStrikeDatabaseProjectType}" |
| units="strikes" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the number of "strikes" the |
| {AutofillStrikeDatabaseProjectType} feature had when a strike was added for |
| it. |
| </summary> |
| <token key="AutofillStrikeDatabaseProjectType" |
| variants="AutofillStrikeDatabaseProjectType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.StrikeDatabase.NumOfStrikesPresentWhenSaveAndFillAccepted" |
| units="strikes" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>averina@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the number of "strikes" when a user accepted the Save and |
| Fill dialog. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.StrikeDatabase.SaveAndFillStrikeDatabaseBlockReason" |
| enum="AutofillStrikeDatabaseBlockReason" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>averina@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the reason why Save and Fill offer is blocked by the strike |
| database. Logged when Chrome checks for prerequisites for the Save and Fill |
| flow. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.StrikeDatabase.StrikeDatabaseInitFailed" |
| units="attempts" expires_after="2027-04-30"> |
| <owner>osaul@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.StrikesPresentWhenIbanSaved.{IbanTypeToBeSaved}" |
| units="strikes" expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the number of "strikes" a given IBAN had when a user |
| decided to save it. It is recorded right after the user clicks the Accept |
| button. |
| </summary> |
| <token key="IbanTypeToBeSaved" variants="IbanTypeToBeSaved"/> |
| </histogram> |
| |
| <histogram name="Autofill.StrikeDatabase.StrikesPresentWhenLocalCardSaved" |
| units="strikes" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the number of "strikes" 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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the number of "strikes" a given card had when a user |
| successfully uploaded the card to Google Payments. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.StrikeDatabase.StrikesPresentWhenStrikeExpired.{AutofillStrikeDatabaseProjectType}" |
| units="strikes" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the number of "strikes" present in a StrikeDatabase entry |
| when a strike expired for the {AutofillStrikeDatabaseProjectType} feature. |
| </summary> |
| <token key="AutofillStrikeDatabaseProjectType" |
| variants="AutofillStrikeDatabaseProjectType"/> |
| </histogram> |
| |
| <histogram name="Autofill.StrikeDatabase.StrikesPresentWhenVirtualCardEnrolled" |
| units="strikes" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the number of "strikes" a given card had when a user |
| successfully enrolled in a virtual card. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.StrikeDatabase.VirtualCardEnrollmentNotOfferedDueToMaxStrikes" |
| enum="AutofillVirtualCardEnrollmentSource" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records and emits true when virtual card enrollment is not offered due to |
| the candidate's strike count reaching maximum strikes. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.StrikeDatabase.VirtualCardEnrollmentNotOfferedDueToRequiredDelay" |
| enum="AutofillVirtualCardEnrollmentSource" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records and emits true when virtual card enrollment is not offered due to |
| the required delay not yet passing since candidate's last strike. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SubmissionDetection.SubmittedFormType" |
| enum="AutofillSubmittedFormTypeBySource" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Metric to measure how many times querying the submitted form returned a |
| null, extracted or cached form, for every submission source separately. This |
| metric is emitted each time the submitted form is requested. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SubmissionDetectionSource.{SubmissionComponent}" |
| enum="AutofillSubmissionSource2" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Metric to measure the source of each submission. Emitted once per inferred |
| submission by {SubmissionComponent}. |
| </summary> |
| <token key="SubmissionComponent"> |
| <variant name="AutofillAgent"/> |
| <variant name="FormTracker"/> |
| <variant name="PasswordAutofillAgent"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.SubmittedAlternativeNameFieldValueCharacterSet" |
| enum="AutofillAlternativeNameFieldValueCharacterSet" |
| expires_after="2026-10-04"> |
| <owner>aayazhan@google.com</owner> |
| <owner>sygiet@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the character set of the alternative name field value that was |
| submitted. The character set includes Hiragana, Katakana and other values. |
| Recorded after the form submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SubmittedCardState" enum="AutofillSubmittedCardState" |
| expires_after="2027-04-30"> |
| <owner>osaul@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="2027-04-30"> |
| <owner>osaul@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. Cards are considered to be the same if they |
| have the same network and last four digits. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SubmittedValuePatterns" enum="AutofillValuePatterns" |
| expires_after="2027-04-30"> |
| <owner>battre@chromium.org</owner> |
| <owner>osaul@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.Suggestion.AcceptanceFieldValueLength.{SuggestionType}" |
| units="units" expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records how long was the field's value before accepting an Autofill |
| {SuggestionType} suggestion. Emitted every time a suggestion is accepted. |
| Used to asses the quality of suggestion prefix matching. |
| </summary> |
| <token key="SuggestionType"> |
| <variant name="Address"/> |
| <variant name="CreditCard"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Suggestion.StrikeSuppression.Address" enum="Boolean" |
| expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether address suggestions were suppressed because of a field |
| reaching the strike limit due to the user consistently ignoring suggestions |
| on that field. Emitted only on desktop (where strike suppression exists) |
| every time regular (non-manual fallback) address suggestions are triggered. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SuggestionAccepted.Method" |
| enum="AutofillSuggestionAcceptedMethod" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the method by which a user accepts an Autofill suggestion. This is |
| logged every time a suggestion is accepted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SuggestionAccepted.OffTheRecord" units="units" |
| expires_after="2026-07-05"> |
| <owner>arabm@google.com</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{SuggestionType}" |
| units="position" expires_after="2026-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. {SuggestionType} |
| </summary> |
| <token key="SuggestionType"> |
| <variant name=""/> |
| <variant name=".Autocomplete"/> |
| <variant name=".CreditCard"/> |
| <variant name=".Profile"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.SuggestionGeneration.GeneratedFillingProduct" |
| enum="AutofillFillingProduct" expires_after="2026-06-21"> |
| <owner>kuchyn@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Logs the filling product for which suggestions were generated. This is |
| emitted for every filling product that yields a non-empty list of |
| suggestions during the suggestion generation flow. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Suggestions.AcceptedType" enum="SuggestionType" |
| expires_after="2026-12-12"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the type of an accepted Autofill suggestion. The metric is recorded |
| every time a user accepts an autofill suggestion (no submission needed). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.SuggestionsCount{SuggestionType}" units="units" |
| expires_after="2026-12-12"> |
| <owner>jihadghanna@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of suggestions shown in the Autofill popup. Recorded whenever |
| suggestions are shown. {SuggestionType} |
| </summary> |
| <token key="SuggestionType"> |
| <variant name=".Address"/> |
| <variant name=".CreditCard"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.SuggestionShown.OffTheRecord" units="units" |
| expires_after="2026-09-13"> |
| <owner>arabm@google.com</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.TestAddressesEvent" |
| enum="AutofillInDevtoolsTestAddressesEvents" expires_after="2026-10-26"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Recorded when a test address suggestion is shown or selected. These |
| suggestions are displayed when devtools is open, therefore only in desktop. |
| A top level test address suggestion will be shown when the user clicks on an |
| address classified field while devtools is open. This suggestion has child |
| suggestions representing well-formatted addressses from different countries, |
| choosing one of them will fill the form and emit an selected event. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TestAddressSelected" |
| enum="AutofillInDevtoolsAvailableTestAddressesCountries" |
| expires_after="2026-11-09"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Recorded when a test address suggestion is selected. Test address |
| suggestions are displayed when devtools is open, therefore only in desktop. |
| A top level test address suggestion will be shown when the user clicks on an |
| address classified field while devtools is open. This suggestion has child |
| suggestions representing well-formatted addressses from different countries, |
| choosing one of them will fill the form and emit this metric, representing |
| which country was chosen. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ThirdPartyMode.AutofillManager.CreationContext" |
| enum="AutofillManagerCreationContext" expires_after="2026-12-12"> |
| <owner>friedrichh@chromium.org</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>src/android_webview/OWNERS</owner> |
| <summary> |
| Records the creation context used to retrieve the AutofillManager service |
| and should always be an activity context. For historical reasons or in rare |
| bugs, the context may not be correct. It is recorded every time a new |
| AutofillManagerWrapper is being created. It's recorded only on Android (both |
| for WebView and Chrome). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.ThirdPartyModeDisabled.Provider" |
| enum="AutofillProviderPackageName" expires_after="2026-12-12"> |
| <owner>friedrichh@chromium.org</owner> |
| <owner>izuzic@google.com</owner> |
| <summary> |
| Records the Autofill provider on the device for clients with active 3P |
| providers that don't use 3P mode and that could be using it because the |
| AutofillManager use isn't disabled on the device. It is recorded on every |
| tab creation. It's not possible to determine the name of the provider when |
| the Android API version is lower than 28, so the metric is only logged for |
| API versions equal to or higher than 28. It's recorded only on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Timing.AddressRewriter.Rewrite" units="ms" |
| expires_after="2026-09-20"> |
| <owner>picarella@google.com</owner> |
| <owner>mmaryia@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Number of milliseconds passed between the start and end of |
| AddressRewriter::Rewrite(). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Timing.ParseFormUntilInteraction2" units="ms" |
| expires_after="2026-12-12"> |
| <owner>schwering@google.com</owner> |
| <owner>brunobraga@google.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Number of milliseconds passed between a form is parsed and the user has |
| interacted with a field in it. In the case of reparses the first parsing |
| time is used. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Timing.SuggestionGeneration2" units="ms" |
| expires_after="2026-09-27"> |
| <owner>jihadghanna@google.com</owner> |
| <owner>kuchyn@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The time in milliseconds, elapsed between the start of a suggestion query |
| (OnAskForValuesToFillImpl) and the point where suggestions are ready to be |
| shown (OnGenerateSuggestionsComplete). This measures the total latency of |
| the suggestion generation logic. |
| |
| Emitted only when a suggestion ends up being shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Timing.{AutofillTimedFunction}" units="ms" |
| expires_after="2026-12-12"> |
| <owner>schwering@google.com</owner> |
| <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 |
| {AutofillTimedFunction}. |
| </summary> |
| <token key="AutofillTimedFunction"> |
| <variant name="DeduplicatedProfilesForSuggestions"/> |
| <variant name="DeduplicateProfiles"/> |
| <variant name="DetermineHeuristicTypes"/> |
| <variant name="IsNormalizedNameVariantOf"/> |
| <variant name="IsSubsetOfForFieldSet"/> |
| <variant name="ParseFormAsync"/> |
| <variant name="ParseFormsAsync"/> |
| <variant name="ParseFormsAsync.RunHeuristics"/> |
| <variant name="ParseFormsAsync.UpdateCache"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.TimingInterval.FormsSeen.LoadedServerPredictions" |
| units="ms" expires_after="2026-10-25"> |
| <owner>akvuong@google.com</owner> |
| <owner>fleimgruber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The time in milliseconds, elapsed between the time a form is seen |
| (OnFormsSeen) and the point where server predictions are available |
| (OnLoadedServerPredictions). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TimingInterval.{Callee}.{Caller}.{Event}" |
| units="microseconds" expires_after="2027-02-22"> |
| <owner>schwering@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of microseconds passed the last preceding {Event} event |
| and (the end of) {Callee}, which has been called by {Caller}. The metric is |
| recorded on all platforms except for iOS and is only recorded for clients |
| with high-resolution clocks. |
| </summary> |
| <token key="Callee" variants="Autofill.TimingPrecise.Callee"/> |
| <token key="Caller" variants="Autofill.TimingPrecise.Caller"/> |
| <token key="Event"> |
| <variant name="AutofillAgentReset"/> |
| <variant name="DOMContentLoaded"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.TimingPrecise.{Callee}" units="microseconds" |
| expires_after="2027-02-22"> |
| <owner>schwering@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of microseconds passed between the start and end of |
| {Callee}. Where a more detailed breakdown exists, this metric is effectively |
| the aggregation of Autofill.TimingPrecise.{Callee}.*. The metric is recorded |
| on all platforms except for iOS and is only recorded for clients with |
| high-resolution clocks. |
| </summary> |
| <token key="Callee"> |
| <variant name="ExtractFormData"/> |
| <variant name="InferLabelForElement" |
| summary="Time for all InferLabelForElement calls for the fields of a |
| form."/> |
| <variant name="UpdateFormCache"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.TimingPrecise.{Callee}.{Caller}" units="microseconds" |
| expires_after="2027-02-22"> |
| <owner>schwering@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of microseconds passed between the start and end of |
| {Callee} called by {Caller}. The metric is recorded on all platforms except |
| for iOS and is only recorded for clients with high-resolution clocks. |
| </summary> |
| <token key="Callee" variants="Autofill.TimingPrecise.Callee"/> |
| <token key="Caller" variants="Autofill.TimingPrecise.Caller"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.TouchToFill.Bnpl.HomeScreen.SuggestionInteraction.{BnplSuggestionVisibility}" |
| enum="TouchToFillBnplSuggestionInteraction" expires_after="2027-04-30"> |
| <owner>ferny@google.com</owner> |
| <owner>viplavkadam@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records user interaction with the BNPL suggestion, based on its initial |
| visibility in the Touch to Fill bottom sheet. The {BnplSuggestionVisibility} |
| variants specify the suggestion's initial visibility when the Touch To Fill |
| bottom sheet opens. The metric is recorded when the BNPL suggestion was |
| shown and remained selectable after amount extraction completed, and when it |
| is selected. Logged only when touch exploration is disabled. |
| </summary> |
| <token key="BnplSuggestionVisibility"> |
| <variant name="StartedFullyVisible"/> |
| <variant name="StartedNotVisible"/> |
| <variant name="StartedPartiallyVisible"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Autofill.TouchToFill.Bnpl.SelectIssuerScreen.NumberOfIssuersShown" |
| units="issuers" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>viplavkadam@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the number of all BNPL issuers shown in the BNPL issuer selection |
| bottom sheet. Logs when the user is on the issuer selection bottom sheet. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.TouchToFill.CreditCard.AutofillUsedAfterTouchToFillDismissal" |
| enum="Boolean" expires_after="2026-05-19"> |
| <owner>smcgruer@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Records whether a user has still used autofill after dismissing the payments |
| bottom sheet. There is a fallback to still allow the user to autofill the |
| form after dismissing the bottom sheet, that is to use the keyboard |
| accessory suggestion. This metric is recorded when submitting the form: true |
| - if there is at least one autofilled field in the submitted form and the |
| payments bottom sheet was shown and dismissed by user, false - otherwise. |
| The metrics is recorded only if the payments bottom sheet was displayed for |
| the form submitted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.CreditCard.FillingCorrectness" |
| enum="BooleanAutofillFillingCorrectness" expires_after="2026-05-19"> |
| <owner>smcgruer@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| For the Payments bottom sheet (Touch To Fill for credit cards), tracks |
| whether or not the user has edited at least one of the autofilled fields |
| before submitting the form. The metric is recorded on form submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.CreditCard.NumberOfCardsShown" |
| units="cards" expires_after="2026-05-19"> |
| <owner>smcgruer@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| The number of credit cards shown in the Touch To Fill bottom sheet. Recorded |
| when showing the bottom sheet. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.CreditCard.Outcome2" |
| enum="TouchToFill.CreditCard.Outcome" expires_after="2026-07-19"> |
| <owner>smcgruer@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Records the outcome with which the bottom sheet was closed: credit card |
| selected, virtual card selected, go to payment settings, scan new credit |
| card or dismissed with no action. The metric is recorded right after user |
| has done the action: the credit card selection or some other option (which |
| always leads to the bottom sheet being closed) or swiped the sheet to close |
| it. See the TouchToFillCreditCardMediator.java for details. Note that |
| "Go to payment settings" click is also considered as the outcome, |
| although it doesn't close the Touch To Fill. So in this case there will be a |
| double count for one bottom sheet showing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.CreditCard.PerfectFilling" enum="Boolean" |
| expires_after="2026-05-19"> |
| <owner>smcgruer@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| For the Payments bottom sheet (Touch To Fill for credit cards), logs at |
| submission time if the filling experience was perfect or not. In a perfect |
| filling experience, all non-empty fields have been autofilled without |
| subsequent corrections. The metric is logged on form submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.CreditCard.SelectedIndex" units="index" |
| expires_after="2026-07-19"> |
| <owner>smcgruer@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| The index of the selected credit card in the Touch To Fill bottom sheet. |
| Recorded when user selects a credit card from the list. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.CreditCard.TriggerOutcome" |
| enum="TouchToFill.PaymentMethod.TriggerOutcome" expires_after="2026-05-19"> |
| <owner>smcgruer@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <summary> |
| Records the outcome of the attempt to trigger Touch To Fill for credit |
| cards. It is recorded only when the touch to fill feature is enabled and the |
| form is parsed as a credit card form by autofill. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.Iban.NumberOfIbansShown" units="ibans" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The number of IBANs shown in the Touch To Fill bottom sheet. Recorded when |
| showing the bottom sheet. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.Iban.Outcome" |
| enum="TouchToFill.Iban.Outcome" expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the user action on the Touch To Fill for IBANs. It is recorded when |
| the Touch To Fill bottom sheet is closed. Only recorded on Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.Iban.SelectedIndex" units="index" |
| expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The index of the selected IBAN in the Touch To Fill bottom sheet. Recorded |
| when user selects an IBAN from the list. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.Iban.TriggerOutcome" |
| enum="TouchToFill.PaymentMethod.TriggerOutcome" expires_after="2027-04-30"> |
| <owner>qihuizhao@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the outcome of the attempt to trigger Touch To Fill for IBANs. It is |
| recorded only when the form is parsed as an IBAN by autofill on Chrome |
| Android and the user clicks on the form field. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.LoyaltyCard.Affiliated.SelectedIndex" |
| units="index" expires_after="2027-06-01"> |
| <owner>tchudakov@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The index of the selected loyalty card on the affiliated loyalty cards |
| screen in the Touch To Fill bottom sheet. Recorded when user selects a |
| loyalty card from the list. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.LoyaltyCard.All.SelectedIndex" |
| units="index" expires_after="2027-06-01"> |
| <owner>tchudakov@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The index of the selected loyalty card on the all loyalty cards screen in |
| the Touch To Fill bottom sheet. Recorded when user selects a loyalty card |
| from the list. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.TouchToFill.LoyaltyCard.NumberOfAffiliatedLoyaltyCardsShown" |
| units="loyalty cards" expires_after="2027-06-01"> |
| <owner>tchudakov@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The number of affiliatd loyalty cards shown in the Touch To Fill bottom |
| sheet. Recorded when showing the bottom sheet. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.LoyaltyCard.NumberOfLoyaltyCardsShown" |
| units="loyalty cards" expires_after="2027-06-01"> |
| <owner>tchudakov@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| The number of all loyalty cards of a user shown in the Touch To Fill bottom |
| sheet. All loyalty cards are shown on the second screen in the bottom sheet |
| and are available under the "All your loyalty cards" menu. |
| Recorded when showing the bottom sheet. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.LoyaltyCard.Outcome" |
| enum="TouchToFill.LoyaltyCard.Outcome" expires_after="2027-06-01"> |
| <owner>tchudakov@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the user action on the Touch To Fill for loyalty cards. It is |
| recorded when the Touch To Fill bottom sheet is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.LoyaltyCard.Source" |
| enum="TouchToFill.LoyaltyCard.Source" expires_after="2027-06-01"> |
| <owner>vizcay@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the source that triggered the Touch To Fill for loyalty cards. It is |
| recorded when the Touch To Fill bottom sheet is shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.TouchToFill.LoyaltyCard.TriggerOutcome" |
| enum="TouchToFill.PaymentMethod.TriggerOutcome" expires_after="2027-06-01"> |
| <owner>tchudakov@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the outcome of the attempt to trigger Touch To Fill for loyalty |
| cards. It is recorded only when the form is parsed as a loyalty card by |
| Autofill on Chrome Android and the user clicks on the form field. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.UndoAfterFill.{FormType}" enum="Boolean" |
| expires_after="2026-12-12"> |
| <owner>jihadghanna@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether a user used Undo Autofill in his filling journey or not. |
| Emitted once per form submission, only if the user autofilled some |
| suggestion prior to submission. |
| </summary> |
| <token key="FormType" variants="AutofillFormType.Fillable"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.UnmaskPrompt.Duration{AutofillUnmaskPromptCloseReasonEvents}" |
| units="ms" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</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. {AutofillUnmaskPromptCloseReasonEvents} |
| </summary> |
| <token key="AutofillUnmaskPromptCloseReasonEvents"> |
| <variant name=""/> |
| <variant name=".AbandonUnmasking" summary="Abandon unmasking"/> |
| <variant name=".Failure" summary="Failure"/> |
| <variant name=".NoAttempts" summary="No attempts"/> |
| <variant name=".Success" summary="Success"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.UnmaskPrompt.Events" enum="AutofillUnmaskPromptEvent" |
| expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <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. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.UnmaskPrompt.GetRealPanDuration.{CardType}.{Result}" |
| units="ms" expires_after="2027-04-30"> |
| <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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <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. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.UnmaskPrompt.GetRealPanResult.{CardType}" |
| enum="AutofillGetRealPanResult" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</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 "Verify" button and then |
| clicking "Cancel". |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.UnmaskPrompt.UnmaskingDuration" units="ms" |
| expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</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="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</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.UnmaskPrompt.{CardType}.Events" |
| enum="AutofillUnmaskPromptEvent" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>osaul@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Events tracking the usage of the unmasking prompt, recorded for {CardType}. |
| This prompt is triggered when a user selects a masked card in a autofill |
| dropdown. |
| </summary> |
| <token key="CardType" variants="Autofill.PaymentsRpcCardType"/> |
| </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="2026-12-12"> |
| <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.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.Upload.RequestsInLastMinute" units="requests" |
| expires_after="2026-09-06"> |
| <owner>ireneuszszulc@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| The number of upload requests sent to the Autofill server in a sliding |
| 60-second window. This is recorded with every request that is not served |
| from cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.UploadAcceptedCardOrigin" |
| enum="UploadPaymentMethodOrigin" expires_after="never"> |
| <!-- expires-never: https://crbug.com/975713 --> |
| |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@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{AutofillUploadEvents}" enum="BooleanSent" |
| expires_after="2026-12-12"> |
| <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. {AutofillUploadEvents} |
| </summary> |
| <token key="AutofillUploadEvents"> |
| <variant name=""/> |
| <variant name=".DomMutationAfterAutofill" |
| summary="DOM Mutation After Autofill"/> |
| <variant name=".FormSubmission" summary="Form Submission"/> |
| <variant name=".FrameDetached" summary="Frame Detached"/> |
| <variant name=".None" summary="None"/> |
| <variant name=".ProbablyFormSubmitted" summary="Probable Form Submission"/> |
| <variant name=".SameDocumentNavigation" summary="Same Document Navigation"/> |
| <variant name=".Unknown" summary="Unknown"/> |
| <variant name=".XhrSucceeded" summary="XHR Succeeded"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.UploadIban.{UploadIbanAction}" |
| enum="UploadPaymentMethodOrigin" expires_after="2027-04-30"> |
| <owner>osaul@google.com</owner> |
| <owner>qihuizhao@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records every time the IBAN upload save is offered to the user, as well as |
| when there are actions made on the offer. The metric is broken down by IBAN |
| origins (new IBAN or an existing local IBAN). |
| </summary> |
| <token key="UploadIbanAction"> |
| <variant name="Accepted" summary="The user has accepted the offer"/> |
| <variant name="Declined" summary="The user has declined the offer"/> |
| <variant name="Ignored" summary="The user has ignored the offer"/> |
| <variant name="Offered" summary="It is an IBAN upload save offer"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.UploadOfferedCardOrigin" |
| enum="UploadPaymentMethodOrigin" expires_after="never"> |
| <!-- expires-never: https://crbug.com/975713 --> |
| |
| <owner>osaul@google.com</owner> |
| <owner>payments-autofill-team@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.UserAcceptedSuggestionAtIndex.{FillingProduct}.{Context}" |
| units="position" expires_after="2026-08-30"> |
| <owner>noemies@google.com</owner> |
| <owner>sugoi@google.com</owner> |
| <owner>bling-transactions@google.com</owner> |
| <summary> |
| The index of the accepted Autofill suggestion, split by context. Logged when |
| the user taps on a suggestion. iOS only. {FillingProduct} {Context} |
| </summary> |
| <token key="FillingProduct" variants="Autofill.FillingProduct"/> |
| <token key="Context"> |
| <variant name="BottomSheet"/> |
| <variant name="KeyboardAccessory"/> |
| <variant name="ManualFallback"/> |
| <variant name="ManualFallback.AllPasswords"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.ValuableMetadata.OrphanEntriesRemovedCount" |
| units="entries" expires_after="2026-11-30"> |
| <owner>vizcay@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the number of orphan valuable metadata entries that were removed |
| during cleanup. Recorded on startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Vcn3ds.FlowEvents" enum="Vcn3dsFlowEvents" |
| expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks when a user starts and completes a VCN 3DS flow, as well as events |
| throughout the flow. The metrics for flow started log when we initiate a VCN |
| 3DS auth flow and are about to either show the consent dialog or the pop-up |
| directly. The metrics for flow completion are logged when the full flow is |
| considered completed, and are broken down by completion result. Other events |
| are logged at the moment they occur. This histogram is an aggregated version |
| of the Autofill.Vcn3ds.FlowEvents.{ConsentAlreadyGiven} histogram. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Vcn3ds.FlowEvents.{ConsentAlreadyGiven}" |
| enum="Vcn3dsFlowEvents" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks when a user starts and completes a VCN 3DS flow, as well as events |
| throughout the flow. The metrics for flow started log when we initiate a VCN |
| 3DS auth flow and are about to either show the consent dialog or the pop-up |
| directly. The metrics for flow completion are logged when the full flow is |
| considered completed, and are broken down by completion result. Other events |
| are logged at the moment they occur. The histogram is broken down into |
| sub-histograms by whether user consent was already given prior to the flow |
| starting. If consent was already given, the consent dialog is not shown and |
| the pop-up is immediately triggered, otherwise the consent dialog is shown |
| and must be accepted for the pop-up to be triggered. |
| </summary> |
| <token key="ConsentAlreadyGiven" variants="Vcn3ds.ConsentAlreadyGiven"/> |
| </histogram> |
| |
| <histogram name="Autofill.Vcn3ds.Latency.{Result}" units="ms" |
| expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the latency of the VCN 3DS authentication, from the time the pop-up was |
| shown to the time the pop-up was closed. Logged when the pop-up closes due |
| to the user completing the authentication successfully or unsuccessfully. |
| Not logged when the user manually closes the pop-up. |
| </summary> |
| <token key="Result"> |
| <variant name="Failure"/> |
| <variant name="Success"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Autofill.Vcn3ds.PaymentsWindowUserConsentDialogResult" |
| enum="PaymentsWindowUserConsentDialogResult" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the result of the payments window user consent dialog, broken down by |
| closed reason. Logged when the dialog is closing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.Vcn3ds.PaymentsWindowUserConsentDialogShown" |
| enum="BooleanShown" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Tracks the number of shows for the payments window user consent dialog. |
| Logged every time a dialog is shown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCard.Enroll.Attempt.{Source}" |
| enum="BooleanAttempted" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true whenever a virtual card Enroll request is sent. It is broken down |
| by the source of the request (i.e., Upstream, Downstream, settings page). |
| </summary> |
| <token key="Source" variants="Autofill.VirtualCard.RequestSource"/> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCard.Enroll.Result.{Source}" |
| enum="BooleanSuccess" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emitted whenever a virtual card Enroll response is received. It is broken |
| down by the source of the request (i.e., Upstream, Downstream, settings |
| page) and logged based on whether the request suceeded. |
| </summary> |
| <token key="Source" variants="Autofill.VirtualCard.RequestSource"/> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCard.GetDetailsForEnrollment.Attempt.{Source}" |
| enum="BooleanAttempted" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true whenever a virtual card GetDetailsForEnrollment request is sent. |
| It is broken down by the source of the request (i.e., Upstream, Downstream, |
| settings page). |
| </summary> |
| <token key="Source" variants="Autofill.VirtualCard.RequestSource"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.VirtualCard.GetDetailsForEnrollment.Latency.{Source}.{Result}" |
| units="ms" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the latency for the GetDetailsForEnrollment roundtrip call. The |
| timer starts when a GetDetailsForEnrollment request is sent. It is recorded |
| (the timer stops) when a GetDetailsForEnrollment response is received. |
| </summary> |
| <token key="Source" variants="Autofill.VirtualCard.RequestSource"/> |
| <token key="Result" variants="Autofill.PaymentsRpcResult"/> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCard.GetDetailsForEnrollment.Result.{Source}" |
| enum="BooleanSuccess" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits whenever a virtual card GetDetailsForEnrollment response is received. |
| It is broken down by the source of the request (i.e., Upstream, Downstream, |
| settings page) and logged based on whether the request suceeded. |
| </summary> |
| <token key="Source" variants="Autofill.VirtualCard.RequestSource"/> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCard.MetadataSynced" enum="BooleanExists" |
| expires_after="2027-04-30"> |
| <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.VirtualCard.StandaloneCvc.FormEvents" |
| enum="VirtualCardStandaloneCvcSuggestionFormEvent" |
| expires_after="2027-04-30"> |
| <owner>yishuil@google.com</owner> |
| <owner>hvs@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| These metrics log the autofill form events for virtual card standalone CVC |
| fields, such as when suggestion(s) is/are shown, selected, or filled for a |
| virtual card standalone CVC field, or the form is about to be submitted or |
| submitted after a virtual card standalone CVC field is autofilled. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCard.Unenroll.Attempt.{Source}" |
| enum="BooleanAttempted" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true whenever a virtual card Unenroll request is sent. It is broken |
| down by the source of the request (i.e., Upstream, Downstream, settings |
| page). |
| </summary> |
| <token key="Source" variants="Autofill.VirtualCard.RequestSource"/> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCard.Unenroll.Result.{Source}" |
| enum="BooleanSuccess" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emitted whenever a virtual card Unenroll response is received. It is broken |
| down by the source of the request (i.e., Upstream, Downstream, settings |
| page) and logged based on whether the request suceeded. |
| </summary> |
| <token key="Source" variants="Autofill.VirtualCard.RequestSource"/> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCard.{Dialog}" enum="BooleanAccepted" |
| expires_after="2027-04-30"> |
| <owner>siashah@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Emits true when a user accepts {Dialog} in the mobile virtual card edit |
| page. Emits false if the user declines. |
| </summary> |
| <token key="Dialog" variants="Autofill.SettingsPage.VirtualCardDialogType"/> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCard.{Dialog}.LinkClicked" |
| enum="AutofillVirtualCardDialogLinkClicked" expires_after="2027-04-30"> |
| <owner>siashah@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records which link is clicked whenever a user clicks on links in {Dialog} in |
| the mobile virtual card edit page. The links are the education text link, |
| Google legal message link, and issuer legal message link. |
| </summary> |
| <token key="Dialog" variants="Autofill.SettingsPage.VirtualCardDialogType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.VirtualCardEnroll.CardArtImageAvailable.{EnrollmentSource}" |
| enum="BooleanAvailable" expires_after="2027-04-30"> |
| <owner>hvs@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| This metric emits true if the card art image is available for use in the |
| virtual card enroll bubble for the {EnrollmentSource} and false if it is not |
| available. Recorded when bubble is shown. |
| </summary> |
| <token key="EnrollmentSource" |
| variants="Autofill.VirtualCardEnrollmentSource"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.VirtualCardEnroll.LinkClicked.{EnrollmentSource}.{LinkType}" |
| enum="BooleanClicked" expires_after="2027-04-30"> |
| <owner>hvs@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| This metric emits true when a user clicks on virtual card enrollment link |
| from flows that start from the {EnrollmentSource}. |
| </summary> |
| <token key="EnrollmentSource" |
| variants="Autofill.VirtualCardEnrollmentSource"/> |
| <token key="LinkType" variants="Autofill.VirtualCardEnrollmentLinkType"/> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCardEnrollBubble.LatencySinceDownstream" |
| units="ms" expires_after="2027-04-30"> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the latency between card extraction of the server retrieved masked |
| server card and the timestamp for when the Virtual Card Enroll Bubble is |
| shown. This metric is logged right before the Virtual Card Enroll Bubble is |
| shown, but if web contents are unavailable it will be logged before waiting |
| for web contents to become available. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCardEnrollBubble.LatencySinceUpstream" |
| units="ms" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>hvs@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logs the latency between Save Card Bubble accepted and the timestamp for |
| when the Virtual Card Enroll Bubble is shown. This metric is logged right |
| before the Virtual Card Enroll Bubble is shown, but if web contents are |
| unavailable it will be logged before waiting for web contents to become |
| available. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCardEnrollBubble.LoadingResult" |
| enum="AutofillVirtualCardEnrollBubbleResult" expires_after="2026-10-04"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the reason for closing the virtual card loading bubble. Recorded |
| when the loading bubble is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCardEnrollBubble.LoadingShown" |
| enum="AutofillVirtualCardEnrollBubbleResult" expires_after="2026-10-04"> |
| <owner>darwinyang@google.com</owner> |
| <owner>chrome-payments-eng@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records if the virtual card loading bubble is shown during credit card |
| enrollment. Recorded after the loading bubble is shown or after the decision |
| to not show the loading bubble. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCardEnrollBubble.MaxStrikesLimitReached" |
| enum="AutofillVirtualCardEnrollmentSource" expires_after="2027-04-30"> |
| <owner>vinnypersky@google.com</owner> |
| <owner>hvs@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| This metric is recorded every time the virtual card enrollment bubble would |
| have been offered but is not offered due to the maximum number of strikes |
| being reached. It logs the source for the flow where the bubble would have |
| been shown, if the strike limit did not block it (for example, upstream i.e. |
| the save card flow). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Autofill.VirtualCardEnrollBubble.Result.{EnrollmentSource}.{ShowType}{PreviousStrikes}" |
| enum="AutofillVirtualCardEnrollBubbleResult" expires_after="2027-04-30"> |
| <owner>hvs@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the reason for closing the virtual card enroll bubble for flows that |
| start from the {EnrollmentSource}. ShowType ({ShowType}) indicates whether |
| the bubble is a first time show or a reshow triggered by the user. A |
| subcategory indicating ({PreviousStrikes}) is also logged. Recorded when the |
| bubble is closed. |
| </summary> |
| <token key="EnrollmentSource" |
| variants="Autofill.VirtualCardEnrollmentSource"/> |
| <token key="ShowType" variants="FirstShowOrReshow"/> |
| <token key="PreviousStrikes" variants="Autofill.FeaturePreviousStrikes"/> |
| </histogram> |
| |
| <histogram name="Autofill.VirtualCardEnrollBubble.Shown.{EnrollmentSource}" |
| enum="BooleanPreviouslyShown" expires_after="2027-04-30"> |
| <owner>hvs@google.com</owner> |
| <owner>siyua@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Records the reason for starting the virtual card enroll bubble for flows |
| that start from {EnrollmentSource}. Recorded when the bubble is shown. |
| Records false the first time the bubble is shown, true for subsequent bubble |
| shows. |
| </summary> |
| <token key="EnrollmentSource" |
| variants="Autofill.VirtualCardEnrollmentSource"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.VirtualCardEnrollmentStrikeDatabase.{EnrollmentSource}" |
| enum="AutofillVirtualCardEnrollmentStrikeDatabaseEvent" |
| expires_after="2027-04-30"> |
| <owner>hvs@google.com</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| Logged when a strike is registered in the virtual card enrollment strike |
| database because a user rejects the bubble, or when strikes are cleared |
| because the user accepted enrollment. |
| </summary> |
| <token key="EnrollmentSource" |
| variants="Autofill.VirtualCardEnrollmentSource"/> |
| </histogram> |
| |
| <histogram name="Autofill.WebOTP.OneTimeCode.FillDuration.FromInteraction" |
| units="ms" expires_after="2026-07-26"> |
| <owner>yigu@chromium.org</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>web-identity-eng@google.com</owner> |
| <summary> |
| Time elapsed between the user's first interaction with a form and the form's |
| submission, for form with autocomplete="one-time-code". 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. This is recorded once per form submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.WebOTP.OneTimeCode.FillDuration.FromLoad" units="ms" |
| expires_after="2026-09-12"> |
| <owner>yigu@chromium.org</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>web-identity-eng@google.com</owner> |
| <summary> |
| Time elapsed between form load and form submission, for forms with |
| autocomplete="one-time-code". This is recorded once per form |
| submission. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.WebOTP.OneTimeCode.FromAutocomplete" enum="Boolean" |
| expires_after="2026-11-01"> |
| <owner>yigu@chromium.org</owner> |
| <owner>battre@chromium.org</owner> |
| <owner>web-identity-eng@google.com</owner> |
| <summary> |
| Records whether a frame has ever used autocomplete="one-time-code" |
| 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.PhonePlusWebOTPPlusOTC" |
| enum="PhoneCollectionState" expires_after="2026-11-01"> |
| <owner>yigu@chromium.org</owner> |
| <owner>web-identity-eng@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="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>src/android_webview/OWNERS</owner> |
| <summary>Records the state of an autofill session.</summary> |
| </histogram> |
| |
| <histogram name="Autofill.WebView.AutofillSessionWithBottomSheet" |
| enum="AutofillSessionStates" expires_after="2026-07-27"> |
| <owner>jkeitel@google.com</owner> |
| <owner>src/android_webview/OWNERS</owner> |
| <summary> |
| Records the state of an autofill session in the presence of a bottom sheet. |
| Emitted at the end of a session (i.e. on submit, on start of a new session, |
| or on destruction of the WebContents). |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.WebView.Enabled" enum="BooleanEnabled" |
| expires_after="2026-12-12"> |
| <owner>battre@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.Funnel.FillAfterInteraction{AutofillFormType}" |
| enum="BooleanAutofillFillAfterInteraction" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Counts whether users filled the form, given that they have already |
| interacted with the form. |
| |
| This metric is recorded on Android WebView, only for forms that users |
| interacted with. It is recorded only once per form, meaning that it does not |
| matter if the user fills the form multiple times. If a form changes |
| dynamically, then Autofill treats the different versions of the form as |
| different forms. {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.WebView.Funnel.InteractionAfterParsedAsType{AutofillFormType}" |
| enum="BooleanAutofillParsedAsType" expires_after="2026-09-06"> |
| <owner>pkotwicz@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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 on Android |
| WebView, 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. {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"/> |
| </histogram> |
| |
| <histogram name="Autofill.WebView.Funnel.ParsedAsType{AutofillFormType}" |
| enum="BooleanAutofillParsedAsType" expires_after="2026-12-12"> |
| <owner>pkotwicz@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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 on Android |
| WebView. If a form changes dynamically, then Autofill treats the different |
| versions of the form as different forms. {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"/> |
| </histogram> |
| |
| <histogram name="Autofill.WebView.Funnel.SubmissionAfterFill{AutofillFormType}" |
| enum="BooleanAutofillSubmissionAfterFill" expires_after="2026-09-06"> |
| <owner>pkotwicz@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Counts whether users submitted a form that was filled via autofill. |
| |
| This metric is recorded once for each form observed by Autofill on Android |
| WebView but only for forms that the user filled via Autofill. |
| {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.WebView.KeyMetrics.FillingAssistance{AutofillFormType}" |
| enum="BooleanAutofillFillingAssistance" expires_after="2026-09-06"> |
| <owner>pkotwicz@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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.WebView.KeyMetrics.FillingAcceptance |
| in the sense that the latter is only recorded if the user has actually seen |
| a prompt to fill data. {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.WebView.KeyMetrics.FillingCorrectness{AutofillFormType}" |
| enum="BooleanAutofillFillingCorrectness" expires_after="2026-09-06"> |
| <owner>pkotwicz@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Counts for submitted and autofilled forms on Android WebView whether users |
| edited at least one filled value before submitting the form. |
| {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.WebView.KeyMetrics.FormSubmission.Autofilled{AutofillFormType}" |
| enum="BooleanAutofillSubmission" expires_after="2026-09-06"> |
| <owner>pkotwicz@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</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 on Android |
| WebView. 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). {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"/> |
| </histogram> |
| |
| <histogram |
| name="Autofill.WebView.KeyMetrics.FormSubmission.NotAutofilled{AutofillFormType}" |
| enum="BooleanAutofillSubmission" expires_after="2026-09-06"> |
| <owner>pkotwicz@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Counts for not filled (by Autofill) forms whether users submitted those |
| forms. |
| |
| This is only recorded for Android WebView. It is only recorded for forms for |
| 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). {AutofillFormType} |
| </summary> |
| <token key="AutofillFormType" variants="AutofillFormType"/> |
| </histogram> |
| |
| <histogram name="Autofill.WebView.PrefillRequestState" |
| enum="AndroidAutofillPrefillRequestState" expires_after="2026-12-12"> |
| <owner>jkeitel@google.com</owner> |
| <owner>jihadghanna@google.com</owner> |
| <owner>elabadysayed@chromium.org</owner> |
| <summary> |
| Records the state of a prefill request (was a request sent, was it answered, |
| was a bottom sheet shown) for a form that was deemed cacheable. Emitted |
| whenever OnAskForValuesToFill is triggered on a cacheable form. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.WebView.Provider.PackageName" |
| enum="AutofillProviderPackageName" expires_after="2026-11-01"> |
| <owner>alexmitra@chromium.org</owner> |
| <owner>src/android_webview/OWNERS</owner> |
| <summary> |
| Records the Autofill provider on the device if it matches a fixed list of |
| package names or unknown otherwise. This is recorded once for a given |
| AwContents. It is recorded on AutofillProvider initialization. Only recorded |
| in Android P and beyond. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.WebView.ServerPrediction.AwGSuggestionAvailability" |
| enum="AutofillAwGSuggestionAvailability" expires_after="2026-12-12"> |
| <owner>battre@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="2026-12-12"> |
| <owner>battre@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. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.WebView.ServerPredicton.PredictionAvailability" |
| enum="AutofillServerPredictionAvailability" expires_after="2026-12-12"> |
| <owner>battre@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. |
| </summary> |
| </histogram> |
| |
| <histogram name="Autofill.WebView.SubmissionSource" |
| enum="AutofillSubmissionSource" expires_after="2026-12-12"> |
| <owner>battre@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="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>src/android_webview/OWNERS</owner> |
| <summary>The time taken to display suggestion.</summary> |
| </histogram> |
| |
| <!-- TODO(crbug.com/491115361): Rename YourSavedInfoSettingsPage to AddressesSettingsPage --> |
| |
| <histogram name="Autofill.YourSavedInfoSettingsPage.CategoryLinkClick" |
| enum="YourSavedInfoDataCategory" expires_after="2026-10-28"> |
| <owner>ireneuszszulc@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records clicks on data categories in the 'Your saved info' settings page. |
| Emitted on every click on such a data category. Recorded on Desktop only. |
| </summary> |
| </histogram> |
| |
| <!-- TODO(crbug.com/491115361): Rename YourSavedInfoSettingsPage to AddressesSettingsPage --> |
| |
| <histogram name="Autofill.YourSavedInfoSettingsPage.DataChipClick" |
| enum="YourSavedInfoDataChip" expires_after="2026-10-28"> |
| <owner>ireneuszszulc@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records clicks on data chips in the 'Your saved info' settings page. Emitted |
| on every click on such a data chip. Recorded on Desktop only. |
| </summary> |
| </histogram> |
| |
| <!-- TODO(crbug.com/491115361): Rename YourSavedInfoSettingsPage to AddressesSettingsPage --> |
| |
| <histogram name="Autofill.YourSavedInfoSettingsPage.RelatedServiceLinkClick" |
| enum="YourSavedInfoRelatedService" expires_after="2026-10-28"> |
| <owner>ireneuszszulc@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records clicks on Related Services links in the 'Your saved info' settings |
| page. Emitted on every click on such a Related Service link. Recorded on |
| Desktop only. |
| </summary> |
| </histogram> |
| |
| <!-- TODO(crbug.com/491115361): Merge this metric with the existing Autofill.AddressesSettingsPage.VisitReferrer --> |
| |
| <histogram name="Autofill.YourSavedInfoSettingsPage.VisitReferrer" |
| enum="AutofillSettingsReferrer" expires_after="2026-10-28"> |
| <owner>ireneuszszulc@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the entry point (referrer) every time the user visits the 'Your |
| saved info' settings page from a tracked entry point. This metric is emitted |
| on navigation to the page, with the enum values distinguishing the entry |
| points (different ways of reaching the page). Only applicable on Desktop. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebDatabase.AutofillWebDataBackendImpl.OperationResult" |
| enum="AutofillWebDataBackendImplOperationResult" expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records the success or failure of various database operations in |
| autofill::AutofillWebDataBackendImpl. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebDatabase.DatabaseErrors" enum="SqliteLoggedResultCode" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary>Records the errors reported by SQLite.</summary> |
| </histogram> |
| |
| <histogram name="WebDatabase.FailedMigrationToVersion" units="version" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| If a migration to a new WebDatabase schema fails, this histogram records the |
| target version to which the migration failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebDatabase.InitResult" enum="WebDatabaseInitResult" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Records whether WebDatabase::Init succeeds or otherwise a failure reason. |
| </summary> |
| </histogram> |
| |
| <histogram name="WebDatabase.SucceededMigrationToVersion" units="version" |
| expires_after="2026-12-12"> |
| <owner>battre@chromium.org</owner> |
| <owner>fleimgruber@google.com</owner> |
| <summary> |
| If a migration to a new WebDatabase schema succeeds, this histogram records |
| the target version to which the migration failed. |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |