bidding.proto 6.7 KB

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