• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2023 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
15syntax = "proto3";
16
17package google.ads.searchads360.v0.common;
18
19import "google/ads/searchads360/v0/enums/target_impression_share_location.proto";
20import "google/protobuf/wrappers.proto";
21
22option csharp_namespace = "Google.Ads.SearchAds360.V0.Common";
23option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/common;common";
24option java_multiple_files = true;
25option java_outer_classname = "BiddingProto";
26option java_package = "com.google.ads.searchads360.v0.common";
27option objc_class_prefix = "GASA360";
28option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Common";
29option ruby_package = "Google::Ads::SearchAds360::V0::Common";
30
31// Proto file describing bidding schemes.
32
33// An automated bidding strategy that raises bids for clicks
34// that seem more likely to lead to a conversion and lowers
35// them for clicks where they seem less likely.
36//
37// This bidding strategy is deprecated and cannot be created anymore. Use
38// ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality.
39message EnhancedCpc {}
40
41// Manual bidding strategy that allows advertiser to set the bid per
42// advertiser-specified action.
43message ManualCpa {}
44
45// Manual click-based bidding where user pays per click.
46message ManualCpc {
47  // Whether bids are to be enhanced based on conversion optimizer data.
48  optional bool enhanced_cpc_enabled = 2;
49}
50
51// Manual impression-based bidding where user pays per thousand impressions.
52message ManualCpm {}
53
54// An automated bidding strategy to help get the most conversions for your
55// campaigns while spending your budget.
56message MaximizeConversions {
57  // Maximum bid limit that can be set by the bid strategy.
58  // The limit applies to all keywords managed by the strategy.
59  // Mutable for portfolio bidding strategies only.
60  int64 cpc_bid_ceiling_micros = 2;
61
62  // Minimum bid limit that can be set by the bid strategy.
63  // The limit applies to all keywords managed by the strategy.
64  // Mutable for portfolio bidding strategies only.
65  int64 cpc_bid_floor_micros = 3;
66
67  // The target cost-per-action (CPA) option. This is the average amount that
68  // you would like to spend per conversion action specified in micro units of
69  // the bidding strategy's currency. If set, the bid strategy will get as many
70  // conversions as possible at or below the target cost-per-action. If the
71  // target CPA is not set, the bid strategy will aim to achieve the lowest
72  // possible CPA given the budget.
73  int64 target_cpa_micros = 4;
74}
75
76// An automated bidding strategy to help get the most conversion value for your
77// campaigns while spending your budget.
78message MaximizeConversionValue {
79  // The target return on ad spend (ROAS) option. If set, the bid strategy will
80  // maximize revenue while averaging the target return on ad spend. If the
81  // target ROAS is high, the bid strategy may not be able to spend the full
82  // budget. If the target ROAS is not set, the bid strategy will aim to
83  // achieve the highest possible ROAS for the budget.
84  optional double target_roas = 2;
85
86  // Maximum bid limit that can be set by the bid strategy.
87  // The limit applies to all keywords managed by the strategy.
88  // Mutable for portfolio bidding strategies only.
89  int64 cpc_bid_ceiling_micros = 3;
90
91  // Minimum bid limit that can be set by the bid strategy.
92  // The limit applies to all keywords managed by the strategy.
93  // Mutable for portfolio bidding strategies only.
94  int64 cpc_bid_floor_micros = 4;
95}
96
97// An automated bid strategy that sets bids to help get as many conversions as
98// possible at the target cost-per-acquisition (CPA) you set.
99message TargetCpa {
100  // Average CPA target.
101  // This target should be greater than or equal to minimum billable unit based
102  // on the currency for the account.
103  optional int64 target_cpa_micros = 4;
104
105  // Maximum bid limit that can be set by the bid strategy.
106  // The limit applies to all keywords managed by the strategy.
107  // This should only be set for portfolio bid strategies.
108  optional int64 cpc_bid_ceiling_micros = 5;
109
110  // Minimum bid limit that can be set by the bid strategy.
111  // The limit applies to all keywords managed by the strategy.
112  // This should only be set for portfolio bid strategies.
113  optional int64 cpc_bid_floor_micros = 6;
114}
115
116// Target CPM (cost per thousand impressions) is an automated bidding strategy
117// that sets bids to optimize performance given the target CPM you set.
118message TargetCpm {}
119
120// An automated bidding strategy that sets bids so that a certain percentage of
121// search ads are shown at the top of the first page (or other targeted
122// location).
123message TargetImpressionShare {
124  // The targeted location on the search results page.
125  google.ads.searchads360.v0.enums.TargetImpressionShareLocationEnum
126      .TargetImpressionShareLocation location = 1;
127
128  // The chosen fraction of ads to be shown in the targeted location in micros.
129  // For example, 1% equals 10,000.
130  optional int64 location_fraction_micros = 4;
131
132  // The highest CPC bid the automated bidding system is permitted to specify.
133  // This is a required field entered by the advertiser that sets the ceiling
134  // and specified in local micros.
135  optional int64 cpc_bid_ceiling_micros = 5;
136}
137
138// An automated bidding strategy that sets bids based on the target fraction of
139// auctions where the advertiser should outrank a specific competitor.
140// This strategy is deprecated.
141message TargetOutrankShare {
142  // Maximum bid limit that can be set by the bid strategy.
143  // The limit applies to all keywords managed by the strategy.
144  google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
145}
146
147// An automated bidding strategy that helps you maximize revenue while
148// averaging a specific target return on ad spend (ROAS).
149message TargetRoas {
150  // Required. The chosen revenue (based on conversion data) per unit of spend.
151  // Value must be between 0.01 and 1000.0, inclusive.
152  optional double target_roas = 4;
153
154  // Maximum bid limit that can be set by the bid strategy.
155  // The limit applies to all keywords managed by the strategy.
156  // This should only be set for portfolio bid strategies.
157  optional int64 cpc_bid_ceiling_micros = 5;
158
159  // Minimum bid limit that can be set by the bid strategy.
160  // The limit applies to all keywords managed by the strategy.
161  // This should only be set for portfolio bid strategies.
162  optional int64 cpc_bid_floor_micros = 6;
163}
164
165// An automated bid strategy that sets your bids to help get as many clicks
166// as possible within your budget.
167message TargetSpend {
168  // The spend target under which to maximize clicks.
169  // A TargetSpend bidder will attempt to spend the smaller of this value
170  // or the natural throttling spend amount.
171  // If not specified, the budget is used as the spend target.
172  // This field is deprecated and should no longer be used. See
173  // https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html
174  // for details.
175  optional int64 target_spend_micros = 3 [deprecated = true];
176
177  // Maximum bid limit that can be set by the bid strategy.
178  // The limit applies to all keywords managed by the strategy.
179  optional int64 cpc_bid_ceiling_micros = 4;
180}
181
182// A bidding strategy where bids are a fraction of the advertised price for
183// some good or service.
184message PercentCpc {
185  // Maximum bid limit that can be set by the bid strategy. This is
186  // an optional field entered by the advertiser and specified in local micros.
187  // Note: A zero value is interpreted in the same way as having bid_ceiling
188  // undefined.
189  optional int64 cpc_bid_ceiling_micros = 3;
190
191  // Adjusts the bid for each auction upward or downward, depending on the
192  // likelihood of a conversion. Individual bids may exceed
193  // cpc_bid_ceiling_micros, but the average bid amount for a campaign should
194  // not.
195  optional bool enhanced_cpc_enabled = 4;
196}
197