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