--- v24/services/benchmarks_service.proto 2026-09-23 01:11:58.000000000 +0000 +++ v25/services/benchmarks_service.proto 2026-09-23 01:12:01.000000000 +0000 @@ -240,13 +257,16 @@ // 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; } } @@ -262,8 +282,20 @@ 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 @@ -273,17 +305,27 @@ // 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]; @@ -300,8 +342,15 @@ // 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; } @@ -307,15 +356,31 @@ // 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. @@ -359,12 +424,16 @@ } // 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. @@ -376,10 +445,14 @@ // 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; } @@ -396,6 +469,34 @@ 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 { @@ -454,3 +555,100 @@ // 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。"],[],[]]