bidding.proto 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. // Copyright 2022 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.ads.googleads.v10.common;
  16. import "google/ads/googleads/v10/enums/target_impression_share_location.proto";
  17. option csharp_namespace = "Google.Ads.GoogleAds.V10.Common";
  18. option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v10/common;common";
  19. option java_multiple_files = true;
  20. option java_outer_classname = "BiddingProto";
  21. option java_package = "com.google.ads.googleads.v10.common";
  22. option objc_class_prefix = "GAA";
  23. option php_namespace = "Google\\Ads\\GoogleAds\\V10\\Common";
  24. option ruby_package = "Google::Ads::GoogleAds::V10::Common";
  25. // Proto file describing bidding schemes.
  26. // Commission is an automatic bidding strategy in which the advertiser pays a
  27. // certain portion of the conversion value.
  28. message Commission {
  29. // Commission rate defines the portion of the conversion value that the
  30. // advertiser will be billed. A commission rate of x should be passed into
  31. // this field as (x * 1,000,000). For example, 106,000 represents a commission
  32. // rate of 0.106 (10.6%).
  33. optional int64 commission_rate_micros = 2;
  34. }
  35. // An automated bidding strategy that raises bids for clicks
  36. // that seem more likely to lead to a conversion and lowers
  37. // them for clicks where they seem less likely.
  38. message EnhancedCpc {
  39. }
  40. // Manual click-based bidding where user pays per click.
  41. message ManualCpc {
  42. // Whether bids are to be enhanced based on conversion optimizer data.
  43. optional bool enhanced_cpc_enabled = 2;
  44. }
  45. // Manual impression-based bidding where user pays per thousand impressions.
  46. message ManualCpm {
  47. }
  48. // View based bidding where user pays per video view.
  49. message ManualCpv {
  50. }
  51. // An automated bidding strategy to help get the most conversions for your
  52. // campaigns while spending your budget.
  53. message MaximizeConversions {
  54. // The target cost-per-action (CPA) option. This is the average amount that
  55. // you would like to spend per conversion action specified in micro units of
  56. // the bidding strategy's currency. If set, the bid strategy will get as many
  57. // conversions as possible at or below the target cost-per-action. If the
  58. // target CPA is not set, the bid strategy will aim to achieve the lowest
  59. // possible CPA given the budget.
  60. int64 target_cpa = 1;
  61. // Maximum bid limit that can be set by the bid strategy.
  62. // The limit applies to all keywords managed by the strategy.
  63. // Mutable for portfolio bidding strategies only.
  64. int64 cpc_bid_ceiling_micros = 2;
  65. // Minimum bid limit that can be set by the bid strategy.
  66. // The limit applies to all keywords managed by the strategy.
  67. // Mutable for portfolio bidding strategies only.
  68. int64 cpc_bid_floor_micros = 3;
  69. }
  70. // An automated bidding strategy to help get the most conversion value for your
  71. // campaigns while spending your budget.
  72. message MaximizeConversionValue {
  73. // The target return on ad spend (ROAS) option. If set, the bid strategy will
  74. // maximize revenue while averaging the target return on ad spend. If the
  75. // target ROAS is high, the bid strategy may not be able to spend the full
  76. // budget. If the target ROAS is not set, the bid strategy will aim to
  77. // achieve the highest possible ROAS for the budget.
  78. double target_roas = 2;
  79. // Maximum bid limit that can be set by the bid strategy.
  80. // The limit applies to all keywords managed by the strategy.
  81. // Mutable for portfolio bidding strategies only.
  82. int64 cpc_bid_ceiling_micros = 3;
  83. // Minimum bid limit that can be set by the bid strategy.
  84. // The limit applies to all keywords managed by the strategy.
  85. // Mutable for portfolio bidding strategies only.
  86. int64 cpc_bid_floor_micros = 4;
  87. }
  88. // An automated bid strategy that sets bids to help get as many conversions as
  89. // possible at the target cost-per-acquisition (CPA) you set.
  90. message TargetCpa {
  91. // Average CPA target.
  92. // This target should be greater than or equal to minimum billable unit based
  93. // on the currency for the account.
  94. optional int64 target_cpa_micros = 4;
  95. // Maximum bid limit that can be set by the bid strategy.
  96. // The limit applies to all keywords managed by the strategy.
  97. // This should only be set for portfolio bid strategies.
  98. optional int64 cpc_bid_ceiling_micros = 5;
  99. // Minimum bid limit that can be set by the bid strategy.
  100. // The limit applies to all keywords managed by the strategy.
  101. // This should only be set for portfolio bid strategies.
  102. optional int64 cpc_bid_floor_micros = 6;
  103. }
  104. // Target CPM (cost per thousand impressions) is an automated bidding strategy
  105. // that sets bids to optimize performance given the target CPM you set.
  106. message TargetCpm {
  107. }
  108. // An automated bidding strategy that sets bids so that a certain percentage of
  109. // search ads are shown at the top of the first page (or other targeted
  110. // location).
  111. message TargetImpressionShare {
  112. // The targeted location on the search results page.
  113. google.ads.googleads.v10.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1;
  114. // The desired fraction of ads to be shown in the targeted location in micros.
  115. // E.g. 1% equals 10,000.
  116. optional int64 location_fraction_micros = 4;
  117. // The highest CPC bid the automated bidding system is permitted to specify.
  118. // This is a required field entered by the advertiser that sets the ceiling
  119. // and specified in local micros.
  120. optional int64 cpc_bid_ceiling_micros = 5;
  121. }
  122. // An automated bidding strategy that helps you maximize revenue while
  123. // averaging a specific target return on ad spend (ROAS).
  124. message TargetRoas {
  125. // Required. The desired revenue (based on conversion data) per unit of spend.
  126. // Value must be between 0.01 and 1000.0, inclusive.
  127. optional double target_roas = 4;
  128. // Maximum bid limit that can be set by the bid strategy.
  129. // The limit applies to all keywords managed by the strategy.
  130. // This should only be set for portfolio bid strategies.
  131. optional int64 cpc_bid_ceiling_micros = 5;
  132. // Minimum bid limit that can be set by the bid strategy.
  133. // The limit applies to all keywords managed by the strategy.
  134. // This should only be set for portfolio bid strategies.
  135. optional int64 cpc_bid_floor_micros = 6;
  136. }
  137. // An automated bid strategy that sets your bids to help get as many clicks
  138. // as possible within your budget.
  139. message TargetSpend {
  140. // The spend target under which to maximize clicks.
  141. // A TargetSpend bidder will attempt to spend the smaller of this value
  142. // or the natural throttling spend amount.
  143. // If not specified, the budget is used as the spend target.
  144. // This field is deprecated and should no longer be used. See
  145. // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html
  146. // for details.
  147. optional int64 target_spend_micros = 3 [deprecated = true];
  148. // Maximum bid limit that can be set by the bid strategy.
  149. // The limit applies to all keywords managed by the strategy.
  150. optional int64 cpc_bid_ceiling_micros = 4;
  151. }
  152. // A bidding strategy where bids are a fraction of the advertised price for
  153. // some good or service.
  154. message PercentCpc {
  155. // Maximum bid limit that can be set by the bid strategy. This is
  156. // an optional field entered by the advertiser and specified in local micros.
  157. // Note: A zero value is interpreted in the same way as having bid_ceiling
  158. // undefined.
  159. optional int64 cpc_bid_ceiling_micros = 3;
  160. // Adjusts the bid for each auction upward or downward, depending on the
  161. // likelihood of a conversion. Individual bids may exceed
  162. // cpc_bid_ceiling_micros, but the average bid amount for a campaign should
  163. // not.
  164. optional bool enhanced_cpc_enabled = 4;
  165. }