/common/metrics.proto

--- v23/common/metrics.proto    2026-05-08 16:34:05.000000000 +0000
+++ v24/common/metrics.proto    2026-05-08 16:34:19.000000000 +0000
@@ -248,6 +248,10 @@
   // The number of clicks.
   optional int64 clicks = 131;

+  // The number of clicks on the control arm of an experiment.
+  // The treatment clicks value can be selected by using `clicks`.
+  optional int64 control_clicks = 443;
+
   // The number of times your ad or your site's listing in the unpaid
   // results was clicked. See the help page at
   // https://support.google.com/google-ads/answer/3097241 for details.
@@ -1361,6 +1365,423 @@
   // The number of biddable first in app conversions where the app install was
   // driven by interaction with a web campaign.
   optional int64 biddable_indirect_install_first_in_app_conversion_micros = 426;
+
+  // All average cart size is the average number of products in each order
+  // attributed to your ads. Includes the amount from the average_cart_size
+  // metric, plus avg. cart size from all your conversion actions, even if your
+  // campaigns are not actively optimizing towards them. It's calculated using
+  // product info from cart data to give more detail than conversion value
+  // alone.
+  optional double all_average_cart_size = 427;
+
+  // All average order value is the average revenue you made per order
+  // attributed to your ads. Includes the amount from the average_order_value
+  // metric, plus avg. order value from all your conversion actions, even
+  // if your campaigns are not actively optimizing towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional int64 all_average_order_value_micros = 428;
+
+  // All cost of goods sold is the total cost of the products you sold in orders
+  // attributed to your ads. Includes the amount from the
+  // cost_of_goods_sold_micros metric, plus cost of goods sold from all
+  // conversion actions, even if your campaigns are not actively optimizing
+  // towards them. It's calculated using product info from cart data to give
+  // more detail than conversion value alone.
+  optional int64 all_cost_of_goods_sold_micros = 429;
+
+  // All cross-sell cost of goods sold is the total cost of products sold as a
+  // result of advertising a different product. Includes the amount from the
+  // cross_sell_cost_of_goods_sold_micros metric, plus cross-sell cost of goods
+  // sold from all your conversion actions, even if your campaigns are not
+  // actively optimizing towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional int64 all_cross_sell_cost_of_goods_sold_micros = 430;
+
+  // All cross-sell gross profit is the profit you made from products sold as a
+  // result of advertising a different product, minus cost of goods sold (COGS).
+  // Includes the amount from the cross_sell_gross_profit_micros metric, plus
+  // cross-sell gross profit from all your conversion actions, even if your
+  // campaigns are not actively optimizing towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional int64 all_cross_sell_gross_profit_micros = 431;
+
+  // All cross-sell revenue is the total amount you made from products sold as
+  // a result of advertising a different product. Includes the amount from the
+  // cross_sell_revenue_micros metric, plus cross-sell revenue from all your
+  // conversion actions, even if your campaigns are not actively optimizing
+  // towards them. It's calculated using product info from cart data to give
+  // more detail than conversion value alone.
+  optional int64 all_cross_sell_revenue_micros = 432;
+
+  // All cross-sell units sold is the total number of products sold as a result
+  // of advertising a different product. Includes the amount shown in the
+  // cross_sell_units_sold metric, plus cross-sell units sold from all your
+  // conversion actions, even if your campaigns are not actively optimizing
+  // towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional double all_cross_sell_units_sold = 433;
+
+  // All gross profit margin is the percentage gross profit you made from
+  // orders attributed to your ads, after taking out the cost of goods sold
+  // (COGS). This value is between 0.0 and 1.0, where 1.0 means 100%. Includes
+  // the amount from the gross_profit_margin metric, plus gross profit margin
+  // across all conversion actions, even if your campaigns are not actively
+  // optimizing towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional double all_gross_profit_margin = 434;
+
+  // All gross profit is the total profit made from orders attributed to your
+  // ads minus the cost of goods sold (COGS). Includes the amount from the
+  // gross_profit_micros metric, plus gross profit from all your conversion
+  // actions, even if your campaigns are not actively optimizing towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional int64 all_gross_profit_micros = 435;
+
+  // All lead cost of goods sold is the total cost of products sold as a result
+  // of advertising the same product. Includes the amount shown in the
+  // lead_cost_of_goods_sold_micros metric, plus lead cost of goods sold from
+  // all your conversion actions, even if your campaigns are not actively
+  // optimizing towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional int64 all_lead_cost_of_goods_sold_micros = 436;
+
+  // All lead gross profit is the profit you made from products sold as a result
+  // of advertising the same product, minus cost of goods sold (COGS). Includes
+  // the amount from the lead_gross_profit_micros metric, plus lead gross profit
+  // from all your conversion actions, even if your campaigns are not actively
+  // optimizing towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional int64 all_lead_gross_profit_micros = 437;
+
+  // All lead revenue is the total amount you made from products sold as a
+  // result of advertising the same product. Includes the amount shown in the
+  // lead_revenue_micros metric, plus lead revenue from all your conversion
+  // actions, even if your campaigns are not actively optimizing towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional int64 all_lead_revenue_micros = 438;
+
+  // All lead units sold is the total number of products sold as a result of
+  // advertising the same product. Includes the amount shown in the
+  // lead_units_sold metric, plus lead units sold from all your conversion
+  // actions, even if your campaigns are not actively optimizing towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional double all_lead_units_sold = 439;
+
+  // All orders is total number of purchase conversions attributed to your ads.
+  // Includes the amount from the orders metric, plus orders from all your
+  // conversion actions, even if your campaigns are not actively optimizing
+  // towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional double all_orders = 440;
+
+  // All revenue is the total you made from orders attributed to your ads.
+  // Includes the amount from the revenue_micros metric, plus revenue from all
+  // your conversion actions, even if your campaigns are not actively optimizing
+  // towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional int64 all_revenue_micros = 441;
+
+  // All units sold is the total number of products sold from orders attributed
+  // to your ads. Includes the amount from the units_sold metric, plus
+  // units sold from all your conversion actions, even if your campaigns are not
+  // actively optimizing towards them.
+  // It's calculated using product info from cart data to give more detail than
+  // conversion value alone.
+  optional double all_units_sold = 442;
+
+  // The cost per conversion metric on the control arm of the
+  // experiment. The treatment cost per conversion value can be
+  // selected by using `cost_per_conversion`.
+  optional double control_cost_per_conversion = 446;
+
+  // The margin of error when estimating the experiment's effect on cost per
+  // conversion.
+  //
+  // Together with `cost_per_conversion_change_point_estimate` and
+  // `cost_per_conversion_p_value`, they describe a confidence interval
+  // with confidence level `cost_per_conversion_p_value` for the
+  // difference being estimated. The quantity being estimated is (treatment /
+  // control - 1). This field specifies the radius of the confidence interval,
+  // which is centered at `cost_per_conversion_change_point_estimate`.
+  optional double cost_per_conversion_margin_of_error = 447;
+
+  // The p-value when estimating the experiment's effect on cost per
+  // conversion. Ranges from 0 to 1.
+  //
+  // Together with `cost_per_conversion_change_point_estimate` and
+  // `cost_per_conversion_margin_of_error`, they describe a confidence
+  // interval with confidence level `cost_per_conversion_p_value` for the
+  // difference being estimated. The quantity being estimated is (treatment /
+  // control - 1). This field specifies the confidence level of the confidence
+  // interval, which is centered at
+  // `cost_per_conversion_change_point_estimate` with radius
+  // `cost_per_conversion_margin_of_error`.
+  optional double cost_per_conversion_p_value = 448;
+
+  // The point estimate when estimating the experiment's effect on cost per
+  // conversion change.
+  //
+  // Together with `cost_per_conversion_margin_of_error` and
+  // `cost_per_conversion_p_value`, they describe a confidence interval
+  // with confidence level `cost_per_conversion_p_value` for the
+  // difference being estimated. The quantity being estimated is (treatment /
+  // control - 1). This field specifies the point estimate, which is the center
+  // of the confidence interval:
+  // `(cost_per_conversion_change_point_estimate -
+  // cost_per_conversion_margin_of_error,
+  //  cost_per_conversion_change_point_estimate +
+  //  cost_per_conversion_margin_of_error)`.
+  optional double cost_per_conversion_change_point_estimate = 449;
+
+  // The conversions metric on the control arm of the experiment.
+  // The treatment conversions value can be selected by using
+  // `conversions`.
+  optional double control_conversions = 450;
+
+  // The margin of error when estimating the experiment's effect on conversions
+  // absolute change.
+  //
+  // Together with `conversions_absolute_change_point_estimate` and
+  // `conversions_absolute_change_p_value`, they describe a confidence
+  // interval with confidence level `conversions_absolute_change_p_value`
+  // for the difference being estimated. The quantity being estimated is
+  // (treatment - control). This field specifies the radius of the confidence
+  // interval, which is centered at
+  // `conversions_absolute_change_point_estimate`.
+  optional double conversions_absolute_change_margin_of_error = 451;
+
+  // The p-value when estimating the experiment's effect on conversions
+  // absolute change. Ranges from 0 to 1.
+  //
+  // Together with `conversions_absolute_change_point_estimate` and
+  // `conversions_absolute_change_margin_of_error`, they describe a
+  // confidence interval with confidence level
+  // `conversions_absolute_change_p_value` for the difference being
+  // estimated. The quantity being estimated is (treatment - control). This
+  // field specifies the confidence level of the confidence interval, which is
+  // centered at `conversions_absolute_change_point_estimate` with radius
+  // `conversions_absolute_change_margin_of_error`.
+  optional double conversions_absolute_change_p_value = 452;
+
+  // The point estimate when estimating the experiment's effect on conversions
+  // absolute change.
+  //
+  // Together with `conversions_absolute_change_point_estimate` and
+  // `conversions_absolute_change_p_value`, they describe a confidence
+  // interval with confidence level `conversions_absolute_change_p_value`
+  // for the difference being estimated. The quantity being estimated is
+  // (treatment - control). This field specifies the point estimate, which is
+  // the center of the confidence interval:
+  // `(conversions_absolute_change_point_estimate -
+  // conversions_absolute_change_margin_of_error,
+  //  conversions_absolute_change_point_estimate +
+  //  conversions_absolute_change_margin_of_error)`.
+  optional double conversions_absolute_change_point_estimate = 453;
+
+  // The conversion value per cost metric on the control arm of the
+  // experiment. The treatment conversion value per cost value can be
+  // selected by using `conversions_value_per_cost`.
+  optional double control_conversion_value_per_cost = 454;
+
+  // The margin of error when estimating the experiment's effect on
+  // conversion value per cost.
+  //
+  // Together with `conversion_value_per_cost_change_point_estimate` and
+  // `conversion_value_per_cost_p_value`, they describe a confidence
+  // interval with confidence level `conversion_value_per_cost_p_value`
+  // for the difference being estimated. The quantity being estimated is
+  // (treatment / control - 1). This field specifies the radius of the
+  // confidence interval, which is centered at
+  // `conversion_value_per_cost_change_point_estimate`.
+  optional double conversion_value_per_cost_margin_of_error = 455;
+
+  // The p-value when estimating the experiment's effect on conversion
+  // value per cost. Ranges from 0 to 1.
+  //
+  // Together with `conversion_value_per_cost_change_point_estimate` and
+  // `conversion_value_per_cost_margin_of_error`, they describe a
+  // confidence interval with confidence level
+  // `conversion_value_per_cost_p_value` for the difference being
+  // estimated. The quantity being estimated is (treatment / control - 1). This
+  // field specifies the confidence level of the confidence interval, which is
+  // centered at `conversion_value_per_cost_change_point_estimate` with
+  // radius `conversion_value_per_cost_margin_of_error`.
+  optional double conversion_value_per_cost_p_value = 456;
+
+  // The point estimate when estimating the experiment's effect on
+  // conversion value per cost change.
+  //
+  // Together with `conversion_value_per_cost_margin_of_error` and
+  // `conversion_value_per_cost_p_value`, they describe a confidence
+  // interval with confidence level `conversion_value_per_cost_p_value`
+  // for the difference being estimated. The quantity being estimated is
+  // (treatment / control - 1). This field specifies the point estimate, which
+  // is the center of the confidence interval:
+  // `(conversion_value_per_cost_change_point_estimate -
+  // conversion_value_per_cost_margin_of_error,
+  //  conversion_value_per_cost_change_point_estimate +
+  //  conversion_value_per_cost_margin_of_error)`.
+  optional double conversion_value_per_cost_change_point_estimate = 457;
+
+  // The cost metric on the control arm of the experiment.
+  // The treatment cost value can be selected by using `cost_micros`.
+  optional int64 control_cost_micros = 458;
+
+  // The margin of error when estimating the experiment's effect on cost.
+  //
+  // Together with `cost_micros_change_point_estimate` and
+  // `cost_micros_p_value`, they describe a confidence interval with confidence
+  // level `cost_micros_p_value` for the difference being estimated. The
+  // quantity being estimated is (treatment / control - 1). This field specifies
+  // the radius of the confidence interval, which is centered at
+  // `cost_micros_change_point_estimate`.
+  optional double cost_micros_margin_of_error = 459;
+
+  // The p-value when estimating the experiment's effect on cost. Ranges from 0
+  // to 1.
+  //
+  // Together with `cost_micros_change_point_estimate` and
+  // `cost_micros_margin_of_error`, they describe a confidence interval with
+  // confidence level `cost_micros_p_value` for the difference being estimated.
+  // The quantity being estimated is (treatment / control - 1). This field
+  // specifies the confidence level of the confidence interval, which is
+  // centered at `cost_micros_change_point_estimate` with radius
+  // `cost_micros_margin_of_error`.
+  optional double cost_micros_p_value = 460;
+
+  // The point estimate when estimating the experiment's effect on cost change.
+  //
+  // Together with `cost_micros_margin_of_error` and `cost_micros_p_value`,
+  // they describe a confidence interval with confidence level
+  // `cost_micros_p_value` for the difference being estimated. The quantity
+  // being estimated is (treatment / control - 1). This field specifies the
+  // point estimate, which is the center of the confidence interval:
+  // `(cost_micros_change_point_estimate - cost_micros_margin_of_error,
+  //  cost_micros_change_point_estimate + cost_micros_margin_of_error)`.
+  optional double cost_micros_change_point_estimate = 461;
+
+  // The impressions metric on the control arm of the experiment.
+  // The treatment impressions value can be selected by using `impressions`.
+  optional int64 control_impressions = 462;
+
+  // The margin of error when estimating the experiment's effect on impressions.
+  //
+  // Together with `impressions_point_estimate` and `impressions_p_value`,
+  // they describe a confidence interval with confidence level
+  // `impressions_p_value` for the difference being estimated. The quantity
+  // being estimated is (treatment / control - 1). This field specifies the
+  // radius of the confidence interval, which is centered at
+  // `impressions_point_estimate`.
+  optional double impressions_margin_of_error = 463;
+
+  // The p-value when estimating the experiment's effect on impressions. Ranges
+  // from 0 to 1.
+  //
+  // Together with `impressions_point_estimate` and
+  // `impressions_margin_of_error`, they describe a confidence interval with
+  // confidence level `impressions_p_value` for the difference being estimated.
+  // The quantity being estimated is (treatment / control - 1). This field
+  // specifies the confidence level of the confidence interval, which is
+  // centered at `impressions_point_estimate` with radius
+  // `impressions_margin_of_error`.
+  optional double impressions_p_value = 464;
+
+  // The point estimate when estimating the experiment's effect on impressions.
+  //
+  // Together with `impressions_margin_of_error` and `impressions_p_value`,
+  // they describe a confidence interval with confidence level
+  // `impressions_p_value` for the difference being estimated. The quantity
+  // being estimated is (treatment / control - 1). This field specifies the
+  // point estimate, which is the center of the confidence interval:
+  // `(impressions_point_estimate - impressions_margin_of_error,
+  //  impressions_point_estimate + impressions_margin_of_error)`.
+  optional double impressions_point_estimate = 465;
+
+  // The margin of error when estimating the experiment's effect on clicks.
+  //
+  // Together with `clicks_point_estimate` and `clicks_p_value`,
+  // they describe a confidence interval with confidence level `clicks_p_value`
+  // for the difference being estimated. The quantity being estimated is
+  // (treatment / control - 1). This field specifies the radius of the
+  // confidence interval, which is centered at `clicks_point_estimate`.
+  optional double clicks_margin_of_error = 466;
+
+  // The p-value when estimating the experiment's effect on clicks. Ranges from
+  // 0 to 1.
+  //
+  // Together with `clicks_point_estimate` and `clicks_margin_of_error`,
+  // they describe a confidence interval with confidence level `clicks_p_value`
+  // for the difference being estimated. The quantity being estimated is
+  // (treatment / control - 1). This field specifies the confidence level of the
+  // confidence interval, which is centered at `clicks_point_estimate` with
+  // radius `clicks_margin_of_error`.
+  optional double clicks_p_value = 467;
+
+  // The point estimate when estimating the experiment's effect on clicks.
+  //
+  // Together with `clicks_margin_of_error` and `clicks_p_value`,
+  // they describe a confidence interval with confidence level `clicks_p_value`
+  // for the difference being estimated. The quantity being estimated is
+  // (treatment / control - 1). This field specifies the point estimate, which
+  // is the center of the confidence interval: `(clicks_point_estimate -
+  // clicks_margin_of_error,
+  //  clicks_point_estimate + clicks_margin_of_error)`.
+  optional double clicks_point_estimate = 468;
+
+  // The conversion value metric on the control arm of the experiment.
+  // The treatment conversion value can be selected by using
+  // `conversions_value`.
+  optional double control_conversion_value = 469;
+
+  // The margin of error when estimating the experiment's effect on
+  // conversion value.
+  //
+  // Together with `conversion_value_change_point_estimate` and
+  // `conversion_value_p_value`, they describe a confidence interval with
+  // confidence level `conversion_value_p_value` for the difference being
+  // estimated. The quantity being estimated is (treatment / control - 1). This
+  // field specifies the radius of the confidence interval, which is centered at
+  // `conversion_value_change_point_estimate`.
+  optional double conversion_value_margin_of_error = 470;
+
+  // The p-value when estimating the experiment's effect on conversion
+  // value. Ranges from 0 to 1.
+  //
+  // Together with `conversion_value_change_point_estimate` and
+  // `conversion_value_margin_of_error`, they describe a confidence
+  // interval with confidence level `conversion_value_p_value` for the
+  // difference being estimated. The quantity being estimated is (treatment /
+  // control - 1). This field specifies the confidence level of the confidence
+  // interval, which is centered at
+  // `conversion_value_change_point_estimate` with radius
+  // `conversion_value_margin_of_error`.
+  optional double conversion_value_p_value = 471;
+
+  // The point estimate when estimating the experiment's effect on
+  // conversion value change.
+  //
+  // Together with `conversion_value_margin_of_error` and
+  // `conversion_value_p_value`, they describe a confidence interval with
+  // confidence level `conversion_value_p_value` for the difference being
+  // estimated. The quantity being estimated is (treatment / control - 1). This
+  // field specifies the point estimate, which is the center of the confidence
+  // interval: `(conversion_value_change_point_estimate -
+  // conversion_value_margin_of_error,
+  //  conversion_value_change_point_estimate +
+  //  conversion_value_margin_of_error)`.
+  optional double conversion_value_change_point_estimate = 472;
 }

 // Search volume range.