diff options
Diffstat (limited to 'google/ads/googleads/v1/common/bidding.proto')
-rw-r--r-- | google/ads/googleads/v1/common/bidding.proto | 232 |
1 files changed, 232 insertions, 0 deletions
diff --git a/google/ads/googleads/v1/common/bidding.proto b/google/ads/googleads/v1/common/bidding.proto new file mode 100644 index 000000000..a971119f2 --- /dev/null +++ b/google/ads/googleads/v1/common/bidding.proto @@ -0,0 +1,232 @@ +// Copyright 2019 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package google.ads.googleads.v1.common; + +import "google/ads/googleads/v1/enums/page_one_promoted_strategy_goal.proto"; +import "google/ads/googleads/v1/enums/target_impression_share_location.proto"; +import "google/protobuf/wrappers.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Ads.GoogleAds.V1.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common"; +option java_multiple_files = true; +option java_outer_classname = "BiddingProto"; +option java_package = "com.google.ads.googleads.v1.common"; +option objc_class_prefix = "GAA"; +option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V1::Common"; + +// Proto file describing bidding schemes. + +// Commission is an automatic bidding strategy in which the advertiser pays a +// certain portion of the conversion value. +message Commission { + // Commission rate defines the portion of the conversion value that the + // advertiser will be billed. A commission rate of x should be passed into + // this field as (x * 1,000,000). For example, 106,000 represents a commission + // rate of 0.106 (10.6%). + google.protobuf.Int64Value commission_rate_micros = 1; +} + +// An automated bidding strategy that raises bids for clicks +// that seem more likely to lead to a conversion and lowers +// them for clicks where they seem less likely. +message EnhancedCpc { + +} + +// Manual click-based bidding where user pays per click. +message ManualCpc { + // Whether bids are to be enhanced based on conversion optimizer data. + google.protobuf.BoolValue enhanced_cpc_enabled = 1; +} + +// Manual impression-based bidding where user pays per thousand impressions. +message ManualCpm { + +} + +// View based bidding where user pays per video view. +message ManualCpv { + +} + +// An automated bidding strategy that sets bids to help get the most conversions +// for your campaign while spending your budget. +message MaximizeConversions { + +} + +// An automated bidding strategy which tries to maximize conversion value +// given a daily budget. +message MaximizeConversionValue { + // The target return on ad spend (ROAS) option. If set, the bid strategy will + // maximize revenue while averaging the target return on ad spend. If the + // target ROAS is high, the bid strategy may not be able to spend the full + // budget. If the target ROAS is not set, the bid strategy will aim to + // achieve the highest possible ROAS for the budget. + google.protobuf.DoubleValue target_roas = 1; +} + +// An automated bidding strategy which sets CPC bids to target impressions on +// page one, or page one promoted slots on google.com. +message PageOnePromoted { + // The strategy goal of where impressions are desired to be shown on + // search result pages. + google.ads.googleads.v1.enums.PageOnePromotedStrategyGoalEnum.PageOnePromotedStrategyGoal strategy_goal = 1; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + google.protobuf.Int64Value cpc_bid_ceiling_micros = 2; + + // Bid multiplier to be applied to the relevant bid estimate (depending on + // the `strategy_goal`) in determining a keyword's new CPC bid. + google.protobuf.DoubleValue bid_modifier = 3; + + // Whether the strategy should always follow bid estimate changes, or only + // increase. + // If false, always sets a keyword's new bid to the current bid estimate. + // If true, only updates a keyword's bid if the current bid estimate is + // greater than the current bid. + google.protobuf.BoolValue only_raise_cpc_bids = 4; + + // Whether the strategy is allowed to raise bids when the throttling + // rate of the budget it is serving out of rises above a threshold. + google.protobuf.BoolValue raise_cpc_bid_when_budget_constrained = 5; + + // Whether the strategy is allowed to raise bids on keywords with + // lower-range quality scores. + google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 6; +} + +// An automated bid strategy that sets bids to help get as many conversions as +// possible at the target cost-per-acquisition (CPA) you set. +message TargetCpa { + // Average CPA target. + // This target should be greater than or equal to minimum billable unit based + // on the currency for the account. + google.protobuf.Int64Value target_cpa_micros = 1; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + google.protobuf.Int64Value cpc_bid_ceiling_micros = 2; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + google.protobuf.Int64Value cpc_bid_floor_micros = 3; +} + +// Target CPM (cost per thousand impressions) is an automated bidding strategy +// that sets bids to optimize performance given the target CPM you set. +message TargetCpm { + +} + +// An automated bidding strategy that sets bids so that a certain percentage of +// search ads are shown at the top of the first page (or other targeted +// location). +// Next Id = 4 +message TargetImpressionShare { + // The targeted location on the search results page. + google.ads.googleads.v1.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1; + + // The desired fraction of ads to be shown in the targeted location in micros. + // E.g. 1% equals 10,000. + google.protobuf.Int64Value location_fraction_micros = 2; + + // The highest CPC bid the automated bidding system is permitted to specify. + // This is a required field entered by the advertiser that sets the ceiling + // and specified in local micros. + google.protobuf.Int64Value cpc_bid_ceiling_micros = 3; +} + +// An automated bidding strategy that sets bids based on the target fraction of +// auctions where the advertiser should outrank a specific competitor. +message TargetOutrankShare { + // The target fraction of auctions where the advertiser should outrank the + // competitor. + // The advertiser outranks the competitor in an auction if either the + // advertiser appears above the competitor in the search results, or appears + // in the search results when the competitor does not. + // Value must be between 1 and 1000000, inclusive. + google.protobuf.Int32Value target_outrank_share_micros = 1; + + // Competitor's visible domain URL. + google.protobuf.StringValue competitor_domain = 2; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + google.protobuf.Int64Value cpc_bid_ceiling_micros = 3; + + // Whether the strategy should always follow bid estimate changes, + // or only increase. + // If false, always set a keyword's new bid to the current bid estimate. + // If true, only updates a keyword's bid if the current bid estimate is + // greater than the current bid. + google.protobuf.BoolValue only_raise_cpc_bids = 4; + + // Whether the strategy is allowed to raise bids on keywords with + // lower-range quality scores. + google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 5; +} + +// An automated bidding strategy that helps you maximize revenue while +// averaging a specific target return on ad spend (ROAS). +message TargetRoas { + // Required. The desired revenue (based on conversion data) per unit of spend. + // Value must be between 0.01 and 1000.0, inclusive. + google.protobuf.DoubleValue target_roas = 1; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + google.protobuf.Int64Value cpc_bid_ceiling_micros = 2; + + // Minimum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + google.protobuf.Int64Value cpc_bid_floor_micros = 3; +} + +// An automated bid strategy that sets your bids to help get as many clicks +// as possible within your budget. +message TargetSpend { + // The spend target under which to maximize clicks. + // A TargetSpend bidder will attempt to spend the smaller of this value + // or the natural throttling spend amount. + // If not specified, the budget is used as the spend target. + google.protobuf.Int64Value target_spend_micros = 1; + + // Maximum bid limit that can be set by the bid strategy. + // The limit applies to all keywords managed by the strategy. + google.protobuf.Int64Value cpc_bid_ceiling_micros = 2; +} + +// A bidding strategy where bids are a fraction of the advertised price for +// some good or service. +message PercentCpc { + // Maximum bid limit that can be set by the bid strategy. This is + // an optional field entered by the advertiser and specified in local micros. + // Note: A zero value is interpreted in the same way as having bid_ceiling + // undefined. + google.protobuf.Int64Value cpc_bid_ceiling_micros = 1; + + // Adjusts the bid for each auction upward or downward, depending on the + // likelihood of a conversion. Individual bids may exceed + // cpc_bid_ceiling_micros, but the average bid amount for a campaign should + // not. + google.protobuf.BoolValue enhanced_cpc_enabled = 2; +} |