--- v24/services/benchmarks_service.proto 2026-04-22 18:40:52.000000000 +0000 +++ v25/services/benchmarks_service.proto 2026-09-21 15:58:41.000000000 +0000 @@ -1,456 +1,654 @@ // Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; -package google.ads.googleads.v24.services; +package google.ads.googleads.v25.services; -import "google/ads/googleads/v24/common/additional_application_info.proto"; -import "google/ads/googleads/v24/common/criteria.proto"; -import "google/ads/googleads/v24/common/dates.proto"; -import "google/ads/googleads/v24/enums/benchmarks_marketing_objective.proto"; -import "google/ads/googleads/v24/enums/benchmarks_source_type.proto"; -import "google/ads/googleads/v24/enums/benchmarks_time_granularity.proto"; +import "google/ads/googleads/v25/common/additional_application_info.proto"; +import "google/ads/googleads/v25/common/criteria.proto"; +import "google/ads/googleads/v25/common/dates.proto"; +import "google/ads/googleads/v25/enums/benchmarks_customer_percentile_tier.proto"; +import "google/ads/googleads/v25/enums/benchmarks_marketing_objective.proto"; +import "google/ads/googleads/v25/enums/benchmarks_source_type.proto"; +import "google/ads/googleads/v25/enums/benchmarks_supplemental_data.proto"; +import "google/ads/googleads/v25/enums/benchmarks_time_granularity.proto"; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; -option csharp_namespace = "Google.Ads.GoogleAds.V24.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v24/services;services"; +option csharp_namespace = "Google.Ads.GoogleAds.V25.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v25/services;services"; option java_multiple_files = true; option java_outer_classname = "BenchmarksServiceProto"; -option java_package = "com.google.ads.googleads.v24.services"; +option java_package = "com.google.ads.googleads.v25.services"; option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V24\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V24::Services"; +option php_namespace = "Google\\Ads\\GoogleAds\\V25\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V25::Services"; // Proto file describing the benchmarks service. // BenchmarksService helps users compare YouTube advertisement data against // industry benchmarks. Accessible to allowlisted customers only. service BenchmarksService { option (google.api.default_host) = "googleads.googleapis.com"; option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; // Returns a date range that supports benchmarks. // // List of thrown errors: // [AuthenticationError]() // [AuthorizationError]() // [FieldError]() // [HeaderError]() // [InternalError]() // [QuotaError]() // [RequestError]() rpc ListBenchmarksAvailableDates(ListBenchmarksAvailableDatesRequest) returns (ListBenchmarksAvailableDatesResponse) { option (google.api.http) = { - post: "/v24:listBenchmarksAvailableDates" + post: "/v25:listBenchmarksAvailableDates" body: "*" }; } // Returns the list of locations that support benchmarks (for example, // countries). // // List of thrown errors: // [AuthenticationError]() // [AuthorizationError]() // [FieldError]() // [HeaderError]() // [InternalError]() // [QuotaError]() // [RequestError]() rpc ListBenchmarksLocations(ListBenchmarksLocationsRequest) returns (ListBenchmarksLocationsResponse) { option (google.api.http) = { - post: "/v24:listBenchmarksLocations" + post: "/v25:listBenchmarksLocations" body: "*" }; } // Returns the list of products that supports benchmarks. // // List of thrown errors: // [AuthenticationError]() // [AuthorizationError]() // [FieldError]() // [HeaderError]() // [InternalError]() // [QuotaError]() // [RequestError]() rpc ListBenchmarksProducts(ListBenchmarksProductsRequest) returns (ListBenchmarksProductsResponse) { option (google.api.http) = { - post: "/v24:listBenchmarksProducts" + post: "/v25:listBenchmarksProducts" body: "*" }; } // Returns the list of benchmarks sources (for example, Industry Verticals). // // List of thrown errors: // [AuthenticationError]() // [AuthorizationError]() // [FieldError]() // [HeaderError]() // [InternalError]() // [QuotaError]() // [RequestError]() rpc ListBenchmarksSources(ListBenchmarksSourcesRequest) returns (ListBenchmarksSourcesResponse) { option (google.api.http) = { - post: "/v24:listBenchmarksSources" + post: "/v25:listBenchmarksSources" body: "*" }; option (google.api.method_signature) = "benchmarks_sources"; } // Returns YouTube advertisement metrics for the given client against industry // benchmarks. // // List of thrown errors: // [AuthenticationError]() // [AuthorizationError]() // [BenchmarksError]() // [FieldError]() // [HeaderError]() // [InternalError]() // [QuotaError]() // [RangeError]() // [RequestError]() rpc GenerateBenchmarksMetrics(GenerateBenchmarksMetricsRequest) returns (GenerateBenchmarksMetricsResponse) { option (google.api.http) = { - post: "/v24/customers/{customer_id=*}:generateBenchmarksMetrics" + post: "/v25/customers/{customer_id=*}:generateBenchmarksMetrics" body: "*" }; option (google.api.method_signature) = "customer_id,location,benchmarks_source,product_filter"; } } // Request message for -// [BenchmarksService.ListBenchmarksAvailableDates][google.ads.googleads.v24.services.BenchmarksService.ListBenchmarksAvailableDates]. +// [BenchmarksService.ListBenchmarksAvailableDates][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksAvailableDates]. message ListBenchmarksAvailableDatesRequest { // Additional information on the application issuing the request. - google.ads.googleads.v24.common.AdditionalApplicationInfo application_info = + google.ads.googleads.v25.common.AdditionalApplicationInfo application_info = 1; } // Response message for -// [BenchmarksService.ListBenchmarksAvailableDates][google.ads.googleads.v24.services.BenchmarksService.ListBenchmarksAvailableDates]. +// [BenchmarksService.ListBenchmarksAvailableDates][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksAvailableDates]. message ListBenchmarksAvailableDatesResponse { // The dates that support benchmarks metrics. Data is supported for any dates - // within this date range inclusive. - google.ads.googleads.v24.common.DateRange supported_dates = 1; + // within this date range inclusive. This is a general date range where + // benchmarks data is available. Some metrics are only returned within more + // restricted dates `supported_dates_for_all_metrics`. + google.ads.googleads.v25.common.DateRange supported_dates = 1; + + // The subset of `supported_dates` that support all metrics. Some metrics are + // only supported within this specific date range due to limited availability. + // This applies to the following metrics: + // + // 1. Average rate metrics of the selected benchmarks source. For example, the + // `average_cpm` of category "/Apparel/Clothing." + // 2. Customer share metrics. For example, the customer's `share_of_voice`. + // + // These metrics are omitted from the response if the request `date_range` + // does not fall within this smaller date range. + google.ads.googleads.v25.common.DateRange supported_dates_for_all_metrics = 2; } // Request message for -// [BenchmarksService.ListBenchmarksLocations][google.ads.googleads.v24.services.BenchmarksService.ListBenchmarksLocations]. +// [BenchmarksService.ListBenchmarksLocations][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksLocations]. message ListBenchmarksLocationsRequest { // Additional information on the application issuing the request. - google.ads.googleads.v24.common.AdditionalApplicationInfo application_info = + google.ads.googleads.v25.common.AdditionalApplicationInfo application_info = 1; } // Response message for -// [BenchmarksService.ListBenchmarksLocations][google.ads.googleads.v24.services.BenchmarksService.ListBenchmarksLocations]. +// [BenchmarksService.ListBenchmarksLocations][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksLocations]. message ListBenchmarksLocationsResponse { // The list of locations supported for benchmarks data. repeated BenchmarksLocation benchmarks_locations = 1; } // A location that supports benchmarks data. message BenchmarksLocation { // The unique location name in English. string location_name = 1; // The location's type. Location types correspond to target_type returned by // searching location type in GoogleAdsService.Search/SearchStream. string location_type = 2; // Information on the geographic location, including the location ID. - google.ads.googleads.v24.common.LocationInfo location_info = 3; + google.ads.googleads.v25.common.LocationInfo location_info = 3; } // Request message for -// [BenchmarksService.ListBenchmarksProducts][google.ads.googleads.v24.services.BenchmarksService.ListBenchmarksProducts]. +// [BenchmarksService.ListBenchmarksProducts][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksProducts]. message ListBenchmarksProductsRequest { // Additional information on the application issuing the request. - google.ads.googleads.v24.common.AdditionalApplicationInfo application_info = + google.ads.googleads.v25.common.AdditionalApplicationInfo application_info = 1; } // Response message for -// [BenchmarksService.ListBenchmarksProducts][google.ads.googleads.v24.services.BenchmarksService.ListBenchmarksProducts]. +// [BenchmarksService.ListBenchmarksProducts][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksProducts]. message ListBenchmarksProductsResponse { // The list of products available for benchmarks data. repeated BenchmarksProductMetadata benchmarks_products = 1; } // The metadata associated with a product supported for benchmarks data. message BenchmarksProductMetadata { // The name of the product. string product_name = 1; // The identifier of the product. The identifier can be used as inputs // for - // [BenchmarksService.GenerateBenchmarksMetrics][google.ads.googleads.v24.services.BenchmarksService.GenerateBenchmarksMetrics]. + // [BenchmarksService.GenerateBenchmarksMetrics][google.ads.googleads.v25.services.BenchmarksService.GenerateBenchmarksMetrics]. string product_code = 2; // The marketing objective associated with the product. A marketing objective // is a broader classification of products. - google.ads.googleads.v24.enums.BenchmarksMarketingObjectiveEnum + google.ads.googleads.v25.enums.BenchmarksMarketingObjectiveEnum .BenchmarksMarketingObjective marketing_objective = 3; } // Request message for -// [BenchmarksService.ListBenchmarksSources][google.ads.googleads.v24.services.BenchmarksService.ListBenchmarksSources]. +// [BenchmarksService.ListBenchmarksSources][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksSources]. message ListBenchmarksSourcesRequest { - // Required. The types of benchmarks sources to be returned (for example, - // INDUSTRY_VERTICAL). - repeated google.ads.googleads.v24.enums.BenchmarksSourceTypeEnum + // Required. The types of benchmarks sources to be returned. Supported sources + // include INDUSTRY_VERTICAL and CATEGORY. Categories are used as filters for + // scoping the benchmarks analysis when benchmarking against all advertisers. + repeated google.ads.googleads.v25.enums.BenchmarksSourceTypeEnum .BenchmarksSourceType benchmarks_sources = 1 [(google.api.field_behavior) = REQUIRED]; // Additional information on the application issuing the request. - google.ads.googleads.v24.common.AdditionalApplicationInfo application_info = + google.ads.googleads.v25.common.AdditionalApplicationInfo application_info = 2; } // Response message for -// [BenchmarksService.ListBenchmarksSources][google.ads.googleads.v24.services.BenchmarksService.ListBenchmarksSources]. +// [BenchmarksService.ListBenchmarksSources][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksSources]. message ListBenchmarksSourcesResponse { // The list of available source used to generate benchmarks data for. repeated BenchmarksSourceMetadata benchmarks_sources = 1; } // The metadata associated with a benchmarks source. message BenchmarksSourceMetadata { // The type of benchmarks source. - google.ads.googleads.v24.enums.BenchmarksSourceTypeEnum.BenchmarksSourceType + google.ads.googleads.v25.enums.BenchmarksSourceTypeEnum.BenchmarksSourceType benchmarks_source_type = 1; // Information on benchmarks source. oneof benchmarks_source_info { // Information on the Industry Vertical. IndustryVerticalInfo industry_vertical_info = 2; + + // Information on the Product & Service Category. + CategoryInfo category_info = 3; } } // The information associated with an Industry Vertical. message IndustryVerticalInfo { // The name of the Industry Vertical. string industry_vertical_name = 1; // The unique identifier of the Industry Vertical. int64 industry_vertical_id = 2; // The unique identifier of the parent Industry Vertical, if exists. int64 parent_industry_vertical_id = 3; } +// The information associated with a Product & Service Category. +message CategoryInfo { + // The name of the Product & Service Category. + string category_name = 1; + + // The unique identifier of the Product & Service Category. + int64 category_id = 2; + + // The full path of the Product & Service Category. + string category_path = 3; +} + // Request message for -// [BenchmarksService.GenerateBenchmarksMetrics][google.ads.googleads.v24.services.BenchmarksService.GenerateBenchmarksMetrics]. +// [BenchmarksService.GenerateBenchmarksMetrics][google.ads.googleads.v25.services.BenchmarksService.GenerateBenchmarksMetrics]. message GenerateBenchmarksMetricsRequest { // Required. The ID of the customer. Supply a client customer ID to generate // metrics for the customer. A manager account customer ID will not return // customer metrics since it does not have any associated direct ad campaigns. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; // The date range to aggregate metrics over. If unset, data will be returned // for the most recent quarter for which data is available. Dates can be // retrieved using - // [BenchmarksService.ListBenchmarksAvailableDates][google.ads.googleads.v24.services.BenchmarksService.ListBenchmarksAvailableDates]. - google.ads.googleads.v24.common.DateRange date_range = 2; + // [BenchmarksService.ListBenchmarksAvailableDates][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksAvailableDates]. + google.ads.googleads.v25.common.DateRange date_range = 2; // Required. The location to generate benchmarks metrics for. - google.ads.googleads.v24.common.LocationInfo location = 3 + google.ads.googleads.v25.common.LocationInfo location = 3 [(google.api.field_behavior) = REQUIRED]; // Required. The source used to generate benchmarks metrics for. BenchmarksSource benchmarks_source = 4 [(google.api.field_behavior) = REQUIRED]; + // A list of Product & Service Categories for scoping a YouTube benchmarks + // analysis. For example, when category "/Apparel/Clothing" is selected, + // customer metrics represent Ad performance for "/Apparel/Clothing" Ads only + // and the customer is benchmarking against all advertisers’ Ads in the + // "/Apparel/Clothing" category. + // + // This filter can only be used when `all_advertisers` is used as the + // [benchmarks_source][google.ads.googleads.v25.services.GenerateBenchmarksMetricsRequest.benchmarks_source]. + CategoryFilter category_filter = 10; + // Required. The products to aggregate metrics over. Product filter settings // support a list of product IDs or a list of marketing objectives. ProductFilter product_filter = 5 [(google.api.field_behavior) = REQUIRED]; // Optional. The set of dimensions to group metrics by. If multiple dimensions // are selected, cross-dimension breakdowns are returned. BreakdownDefinition breakdown_definition = 9 [(google.api.field_behavior) = OPTIONAL]; // Optional. The three-character ISO 4217 currency code. If unspecified, the // default currency for monetary values is USD. string currency_code = 6 [(google.api.field_behavior) = OPTIONAL]; // The name of the customer being planned for. This is a user-defined value. string customer_benchmarks_group = 7; + // Optional. Optional features to include in the response. By default, only + // core data is returned. Including supplemental data here will populate + // additional metrics in the response such as percentile metrics. + repeated google.ads.googleads.v25.enums.BenchmarksSupplementalDataEnum + .BenchmarksSupplementalData supplemental_data = 11 + [(google.api.field_behavior) = OPTIONAL]; + // Additional information on the application issuing the request. - google.ads.googleads.v24.common.AdditionalApplicationInfo application_info = + google.ads.googleads.v25.common.AdditionalApplicationInfo application_info = 8; } // The source used to generate benchmarks metrics for. The ID of the source can // be obtained from -// [BenchmarksService.ListBenchmarksSources][google.ads.googleads.v24.services.BenchmarksService.ListBenchmarksSources]. +// [BenchmarksService.ListBenchmarksSources][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksSources]. message BenchmarksSource { // The ID of the chosen benchmarks source. oneof benchmarks_source_id { // The ID of the Industry Vertical. int64 industry_vertical_id = 1; + + // Comparison against all advertisers running Ads. This benchmarking option + // must utilize additional filters. Setting the `category_filter` is + // required. One or more categories will scope the metrics of both the + // customer and all advertisers to those selected categories. + bool all_advertisers = 2; } } +// A list of Product & Service Categories for scoping benchmarks. +message CategoryFilter { + // Required. Product & Service Category IDs. The supported list of IDs can be + // retrieved using + // [BenchmarksService.ListBenchmarksSources][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksSources]. + // The scope of benchmarks analysis will be the union (ORs) of all categories + // supplied. + repeated string category_ids = 1 [(google.api.field_behavior) = REQUIRED]; +} + // The type and list of products to aggregate benchmarks metrics over. message ProductFilter { // The list of products to generate benchmarks metrics for. message ProductList { // Required. Products to generate benchmarks metrics for. repeated string product_codes = 1 [(google.api.field_behavior) = REQUIRED]; } // The list of marketing objectives to generate benchmarks metrics for. message MarketingObjectiveList { // Required. Marketing objectives to generate benchmarks metrics for. - repeated google.ads.googleads.v24.enums.BenchmarksMarketingObjectiveEnum + repeated google.ads.googleads.v25.enums.BenchmarksMarketingObjectiveEnum .BenchmarksMarketingObjective marketing_objectives = 1 [(google.api.field_behavior) = REQUIRED]; } // The products to aggregate benchmarks metrics over. oneof filter_settings { // The list of products. ProductList product_list = 1; // The list of marketing goals. Marketing objective is a broader product // classification of products. MarketingObjectiveList marketing_objective_list = 2; } } // The set of dimensions to group metrics by. message BreakdownDefinition { // The granularity for segmenting metrics by date. When this field is set, // a valid date_range in the GenerateBenchmarksMetricsRequest is required // and must precisely align with the boundaries of the selected granularity. // // For example, a monthly breakdown must start on the first day of a month and // end on the last day of a month. A quarterly breakdown must start on the // first day of a quarter and end on the last day of a quarter. A weekly // breakdown must start on a Sunday and end on a Saturday. This is different // from the ISO 8601 standard, where weeks start on Monday. - google.ads.googleads.v24.enums.BenchmarksTimeGranularityEnum + google.ads.googleads.v25.enums.BenchmarksTimeGranularityEnum .BenchmarksTimeGranularity date_breakdown = 1; } // Response message for -// [BenchmarksService.GenerateBenchmarksMetrics][google.ads.googleads.v24.services.BenchmarksService.GenerateBenchmarksMetrics]. +// [BenchmarksService.GenerateBenchmarksMetrics][google.ads.googleads.v25.services.BenchmarksService.GenerateBenchmarksMetrics]. message GenerateBenchmarksMetricsResponse { - // Metrics belonging to the customer. - Metrics customer_metrics = 1; + // Metrics representing the customer's Ad performance. + CustomerMetrics customer_metrics = 4; - // Metrics for the selected benchmarks source. + // Metrics for the selected benchmarks source. Rate metrics for the benchmarks + // source are only returned when the request `date_range` is a subset of + // `supported_dates_for_all_metrics` returned by + // [BenchmarksService.ListBenchmarksAvailableDates][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksAvailableDates] + // due to limited availability. Metrics average_benchmarks_metrics = 2; // Breakdown metrics grouped by dimensions. repeated BreakdownMetrics breakdown_metrics = 3; } // Metrics for a given breakdown. message BreakdownMetrics { // Dimensions by which the breakdown metrics are grouped by. BreakdownKey breakdown_key = 1; - // Metrics belonging to the customer. - Metrics customer_metrics = 2; + // Metrics representing the customer's Ad performance. + CustomerMetrics customer_metrics = 4; - // Metrics for the selected benchmarks source. + // Metrics for the selected benchmarks source. Rate metrics for the benchmarks + // source are only returned when the request `date_range` is a subset of + // `supported_dates_for_all_metrics` returned by + // [BenchmarksService.ListBenchmarksAvailableDates][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksAvailableDates] + // due to limited availability. Metrics average_benchmarks_metrics = 3; } // Dimensions by which the breakdown metrics are grouped by. message BreakdownKey { // Dates used for the breakdown. For example, this represents the start and // end dates of the week for a weekly breakdown. - google.ads.googleads.v24.common.DateRange dates = 1; + google.ads.googleads.v25.common.DateRange dates = 1; } // All metrics returned against a criteria. message Metrics { // Average rate metrics calculated by dividing one metric by another. RateMetrics average_rate_metrics = 1; } +// Metrics representing the customer’s Ad performance. +message CustomerMetrics { + // Average rate metrics calculated by dividing one metric by another. + RateMetrics average_rate_metrics = 1; + + // Metrics calculated by dividing the metric of the customer by that of the + // selected benchmarks source. These metrics are only returned when: + // + // 1. `all_advertisers` is used as the `benchmarks_source`. Note that the + // request `category_filter` must be set when using `all_advertisers`. + // 2. The request `date_range` is a subset of + // `supported_dates_for_all_metrics` returned by + // [BenchmarksService.ListBenchmarksAvailableDates][google.ads.googleads.v25.services.BenchmarksService.ListBenchmarksAvailableDates]. + ShareMetrics share_metrics = 2; + + // Metrics calculated by aggregating values of a single metric for the + // customer. + AggregateMetrics aggregate_metrics = 3; + + // Metrics representing the customer’s competitive standing among advertisers + // scoped by the analysis. Percentile metrics are only returned when: + // + // 1. `all_advertisers` is used as the `benchmarks_source`. Note that the + // request `category_filter` must be set when using `all_advertisers`. + // 2. `PERCENTILE_DATA` is requested as `supplemental_data`. + PercentileMetrics percentile_metrics = 4; +} + // Average rate metrics. Metrics that represent monetary values are returned // in USD by default, if unspecified in the request. message RateMetrics { // Average cost-per-thousand impressions (CPM). double average_cpm = 1; // Average cost-per-thousand viewable impressions. double average_active_view_cpm = 2; // The average TrueView cost-per-view (CPV) is defined by the total cost of // all ad TrueView views divided by the number of TrueView views. double trueview_average_cpv = 3; // The average cost-per-click (CPC) is defined by the total cost of all // clicks divided by the total number of clicks received. double average_cpc = 4; // The average cost-per-interaction (CPI) is defined by the total cost of // all interactions divided by the total number of interactions. double average_cpi = 5; // The average cost-per-engagement (CPE) is defined by the total cost of all // ad engagements divided by the total number of ad engagements. double average_cpe = 6; // How often people interact with your ad after it is shown to them. This is // the number of interactions divided by the number of times your ad is // shown. double interaction_rate = 7; // How often people engage with your ad after it's shown to them. This is // the number of ad expansions divided by the number of times your ad is // shown. double engagement_rate = 8; // The percentage of time when your ad appeared on an Active View enabled // site (measurable impressions) and was viewable (viewable impressions). double active_view_viewability = 9; // Number of completed TrueView views divided by the number of impressions. double trueview_view_rate = 10; // The number of clicks your ad receives (Clicks) divided by the number // of times your ad is shown (Impressions). double click_through_rate = 11; // Percentage of impressions where the viewer watched 25% of your video. double video_completion_p25_rate = 12; // Percentage of impressions where the viewer watched 50% of your video. double video_completion_p50_rate = 13; // Percentage of impressions where the viewer watched 75% of your video. double video_completion_p75_rate = 14; // Percentage of impressions where the viewer watched all of your video. double video_completion_p100_rate = 15; } + +// Metrics calculated by dividing the metric of the customer by that of the +// selected benchmarks source. +message ShareMetrics { + // Relative impressions. Share of voice is defined by the customer’s total + // number of impressions divided by the aggregated number of impressions of + // all advertisers in the selected benchmarks source including your own. Share + // of voice is represented on a scale of 0 to 1 precise to 4 decimal places. + // For example, 0.0123 which corresponds to 1.23%. + double share_of_voice = 1; + + // Relative spend. Share of spend is defined by the customer’s total cost + // divided by the total aggregated cost of all advertisers in the selected + // benchmarks source including your own. Share of spend is represented on a + // scale of 0 to 1 precise to 4 decimal places. For example, 0.0123 which + // corresponds to 1.23%. + double share_of_spend = 2; +} + +// Metrics calculated by aggregating values of a single metric. +message AggregateMetrics { + // The total cost paid by the customer. Cost is represented in USD by default, + // if unspecified in the request. + double cost = 1; + + // The number of video TrueView views. + // + // See https://support.google.com/google-ads/answer/2375431 for more + // information on TrueView Views. + double video_trueview_views = 2; + + // The number of times the Ad was shown to users. + double impressions = 3; + + // The number of impressions that are considered viewable according to the + // Active View criteria. + // + // See https://support.google.com/google-ads/answer/7029393 for more + // information on Active View. + double viewable_impressions = 4; + + // The number of clicks received. + double clicks = 5; + + // The number of interactions. Interactions include physical clicks, + // engagements, and video views that are logged as clicks. + // + // See https://support.google.com/google-ads/answer/2375431 for more + // information on interactions. + double interactions = 6; + + // The number of engagements. Engagements are ad interactions such as + // expanding a lightbox Ad or clicking on a video teaser. + // + // See https://support.google.com/google-ads/answer/2375431 for more + // information on engagements. + double engagements = 7; +} + +// Metrics representing the customer’s competitive standing among advertisers +// scoped by the analysis. +// +// Percentile tier values classify the customer's percentile rank among other +// advertisers scoped by the analysis. For example, EMERGING_PLAYER indicates +// the customer ranks between the 25th and 50th percentiles, while MARKET_LEADER +// indicates they rank in the top 10%. +message PercentileMetrics { + // The customer's cost percentile tier. + google.ads.googleads.v25.enums.BenchmarksCustomerPercentileTierEnum + .BenchmarksCustomerPercentileTier cost_percentile_tier = 1; + + // The customer's video TrueView views percentile tier. + google.ads.googleads.v25.enums.BenchmarksCustomerPercentileTierEnum + .BenchmarksCustomerPercentileTier video_trueview_views_percentile_tier = + 2; + + // The customer's impressions percentile tier. + google.ads.googleads.v25.enums.BenchmarksCustomerPercentileTierEnum + .BenchmarksCustomerPercentileTier impressions_percentile_tier = 3; + + // The customer's viewable impressions percentile tier. + google.ads.googleads.v25.enums.BenchmarksCustomerPercentileTierEnum + .BenchmarksCustomerPercentileTier viewable_impressions_percentile_tier = + 4; + + // The customer's clicks percentile tier. + google.ads.googleads.v25.enums.BenchmarksCustomerPercentileTierEnum + .BenchmarksCustomerPercentileTier clicks_percentile_tier = 5; + + // The customer's interactions percentile tier. + google.ads.googleads.v25.enums.BenchmarksCustomerPercentileTierEnum + .BenchmarksCustomerPercentileTier interactions_percentile_tier = 6; + + // The customer's engagements percentile tier. + google.ads.googleads.v25.enums.BenchmarksCustomerPercentileTierEnum + .BenchmarksCustomerPercentileTier engagements_percentile_tier = 7; +}
/services/benchmarks_service.proto
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2026-09-24。
[null,null,["最后更新时间 (UTC):2026-09-24。"],[],[]]