1 // Copyright 2019 Google LLC.
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
7 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 package google.ads.googleads.v1.resources;
20 import "google/ads/googleads/v1/common/bidding.proto";
21 import "google/ads/googleads/v1/common/custom_parameter.proto";
22 import "google/ads/googleads/v1/common/frequency_cap.proto";
23 import "google/ads/googleads/v1/common/real_time_bidding_setting.proto";
24 import "google/ads/googleads/v1/common/targeting_setting.proto";
25 import "google/ads/googleads/v1/enums/ad_serving_optimization_status.proto";
26 import "google/ads/googleads/v1/enums/advertising_channel_sub_type.proto";
27 import "google/ads/googleads/v1/enums/advertising_channel_type.proto";
28 import "google/ads/googleads/v1/enums/bidding_strategy_type.proto";
29 import "google/ads/googleads/v1/enums/brand_safety_suitability.proto";
30 import "google/ads/googleads/v1/enums/campaign_serving_status.proto";
31 import "google/ads/googleads/v1/enums/campaign_status.proto";
32 import "google/ads/googleads/v1/enums/negative_geo_target_type.proto";
33 import "google/ads/googleads/v1/enums/positive_geo_target_type.proto";
34 import "google/ads/googleads/v1/enums/vanity_pharma_display_url_mode.proto";
35 import "google/ads/googleads/v1/enums/vanity_pharma_text.proto";
36 import "google/protobuf/wrappers.proto";
37 import "google/api/annotations.proto";
39 option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources";
40 option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources";
41 option java_multiple_files = true;
42 option java_outer_classname = "CampaignProto";
43 option java_package = "com.google.ads.googleads.v1.resources";
44 option objc_class_prefix = "GAA";
45 option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources";
46 option ruby_package = "Google::Ads::GoogleAds::V1::Resources";
47 // Proto file describing the Campaign resource.
51 // The network settings for the campaign.
52 message NetworkSettings {
53 // Whether ads will be served with google.com search results.
54 google.protobuf.BoolValue target_google_search = 1;
56 // Whether ads will be served on partner sites in the Google Search Network
57 // (requires `target_google_search` to also be `true`).
58 google.protobuf.BoolValue target_search_network = 2;
60 // Whether ads will be served on specified placements in the Google Display
61 // Network. Placements are specified using the Placement criterion.
62 google.protobuf.BoolValue target_content_network = 3;
64 // Whether ads will be served on the Google Partner Network.
65 // This is available only to some select Google partner accounts.
66 google.protobuf.BoolValue target_partner_search_network = 4;
69 // Campaign-level settings for hotel ads.
70 message HotelSettingInfo {
71 // The linked Hotel Center account.
72 google.protobuf.Int64Value hotel_center_id = 1;
75 // The setting for controlling Dynamic Search Ads (DSA).
76 message DynamicSearchAdsSetting {
77 // The Internet domain name that this setting represents, e.g., "google.com"
78 // or "www.google.com".
79 google.protobuf.StringValue domain_name = 1;
81 // The language code specifying the language of the domain, e.g., "en".
82 google.protobuf.StringValue language_code = 2;
84 // Whether the campaign uses advertiser supplied URLs exclusively.
85 google.protobuf.BoolValue use_supplied_urls_only = 3;
87 // The list of page feeds associated with the campaign.
88 repeated google.protobuf.StringValue feeds = 5;
91 // Represents a collection of settings related to ads geotargeting.
92 message GeoTargetTypeSetting {
93 // The setting used for positive geotargeting in this particular campaign.
94 google.ads.googleads.v1.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1;
96 // The setting used for negative geotargeting in this particular campaign.
97 google.ads.googleads.v1.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2;
100 // The setting for Shopping campaigns. Defines the universe of products that
101 // can be advertised by the campaign, and how this campaign interacts with
102 // other Shopping campaigns.
103 message ShoppingSetting {
104 // ID of the Merchant Center account.
105 // This field is required for create operations. This field is immutable for
106 // Shopping campaigns.
107 google.protobuf.Int64Value merchant_id = 1;
109 // Sales country of products to include in the campaign.
110 // This field is required for Shopping campaigns. This field is immutable.
111 // This field is optional for non-Shopping campaigns, but it must be equal
113 google.protobuf.StringValue sales_country = 2;
115 // Priority of the campaign. Campaigns with numerically higher priorities
116 // take precedence over those with lower priorities.
117 // This field is required for Shopping campaigns, with values between 0 and
119 // This field is optional for Smart Shopping campaigns, but must be equal to
121 google.protobuf.Int32Value campaign_priority = 3;
123 // Enable local inventory ads. This field may only be set to false for Smart
124 // Shopping Campaigns.
125 google.protobuf.BoolValue enable_local = 4;
128 // Selective optimization setting for this campaign, which includes a set of
129 // conversion actions to optimize this campaign towards.
130 message SelectiveOptimization {
131 // The selected set of conversion actions for optimizing this campaign.
132 repeated google.protobuf.StringValue conversion_actions = 1;
135 // Campaign level settings for tracking information.
136 message TrackingSetting {
137 // The url used for dynamic tracking.
138 google.protobuf.StringValue tracking_url = 1;
141 // Describes how unbranded pharma ads will be displayed.
142 message VanityPharma {
143 // The display mode for vanity pharma URLs.
144 google.ads.googleads.v1.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1;
146 // The text that will be displayed in display URL of the text ad when
147 // website description is the selected display mode for vanity pharma URLs.
148 google.ads.googleads.v1.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2;
151 // The resource name of the campaign.
152 // Campaign resource names have the form:
154 // `customers/{customer_id}/campaigns/{campaign_id}`
155 string resource_name = 1;
157 // The ID of the campaign.
158 google.protobuf.Int64Value id = 3;
160 // The name of the campaign.
162 // This field is required and should not be empty when creating new
165 // It must not contain any null (code point 0x0), NL line feed
166 // (code point 0xA) or carriage return (code point 0xD) characters.
167 google.protobuf.StringValue name = 4;
169 // The status of the campaign.
171 // When a new campaign is added, the status defaults to ENABLED.
172 google.ads.googleads.v1.enums.CampaignStatusEnum.CampaignStatus status = 5;
174 // The ad serving status of the campaign.
175 google.ads.googleads.v1.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21;
177 // The ad serving optimization status of the campaign.
178 google.ads.googleads.v1.enums.AdServingOptimizationStatusEnum.AdServingOptimizationStatus ad_serving_optimization_status = 8;
180 // The primary serving target for ads within the campaign.
181 // The targeting options can be refined in `network_settings`.
183 // This field is required and should not be empty when creating new
186 // Can be set only when creating campaigns.
187 // After the campaign is created, the field can not be changed.
188 google.ads.googleads.v1.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 9;
190 // Optional refinement to `advertising_channel_type`.
191 // Must be a valid sub-type of the parent channel type.
193 // Can be set only when creating campaigns.
194 // After campaign is created, the field can not be changed.
195 google.ads.googleads.v1.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 10;
197 // The URL template for constructing a tracking URL.
198 google.protobuf.StringValue tracking_url_template = 11;
200 // The list of mappings used to substitute custom parameter tags in a
201 // `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
202 repeated google.ads.googleads.v1.common.CustomParameter url_custom_parameters = 12;
204 // Settings for Real-Time Bidding, a feature only available for campaigns
205 // targeting the Ad Exchange network.
206 google.ads.googleads.v1.common.RealTimeBiddingSetting real_time_bidding_setting = 39;
208 // The network settings for the campaign.
209 NetworkSettings network_settings = 14;
211 // The hotel setting for the campaign.
212 HotelSettingInfo hotel_setting = 32;
214 // The setting for controlling Dynamic Search Ads (DSA).
215 DynamicSearchAdsSetting dynamic_search_ads_setting = 33;
217 // The setting for controlling Shopping campaigns.
218 ShoppingSetting shopping_setting = 36;
220 // Setting for targeting related features.
221 google.ads.googleads.v1.common.TargetingSetting targeting_setting = 43;
223 // The setting for ads geotargeting.
224 GeoTargetTypeSetting geo_target_type_setting = 47;
226 // The budget of the campaign.
227 google.protobuf.StringValue campaign_budget = 6;
229 // The type of bidding strategy.
231 // A bidding strategy can be created by setting either the bidding scheme to
232 // create a standard bidding strategy or the `bidding_strategy` field to
233 // create a portfolio bidding strategy.
235 // This field is read-only.
236 google.ads.googleads.v1.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22;
238 // The date when campaign started.
240 // This field must not be used in WHERE clauses.
241 google.protobuf.StringValue start_date = 19;
243 // The date when campaign ended.
245 // This field must not be used in WHERE clauses.
246 google.protobuf.StringValue end_date = 20;
248 // Suffix used to append query parameters to landing pages that are served
249 // with parallel tracking.
250 google.protobuf.StringValue final_url_suffix = 38;
252 // A list that limits how often each user will see this campaign's ads.
253 repeated google.ads.googleads.v1.common.FrequencyCapEntry frequency_caps = 40;
255 // 3-Tier Brand Safety setting for the campaign.
256 google.ads.googleads.v1.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability video_brand_safety_suitability = 42;
258 // Describes how unbranded pharma ads will be displayed.
259 VanityPharma vanity_pharma = 44;
261 // Selective optimization setting for this campaign, which includes a set of
262 // conversion actions to optimize this campaign towards.
263 SelectiveOptimization selective_optimization = 45;
265 // Campaign level settings for tracking information.
266 TrackingSetting tracking_setting = 46;
268 // The bidding strategy for the campaign.
270 // Must be either portfolio (created via BiddingStrategy service) or
271 // standard, that is embedded into the campaign.
272 oneof campaign_bidding_strategy {
273 // Portfolio bidding strategy used by campaign.
274 google.protobuf.StringValue bidding_strategy = 23;
276 // Standard Manual CPC bidding strategy.
277 // Manual click-based bidding where user pays per click.
278 google.ads.googleads.v1.common.ManualCpc manual_cpc = 24;
280 // Standard Manual CPM bidding strategy.
281 // Manual impression-based bidding where user pays per thousand
283 google.ads.googleads.v1.common.ManualCpm manual_cpm = 25;
285 // A bidding strategy that pays a configurable amount per video view.
286 google.ads.googleads.v1.common.ManualCpv manual_cpv = 37;
288 // Standard Maximize Conversions bidding strategy that automatically
289 // maximizes number of conversions given a daily budget.
290 google.ads.googleads.v1.common.MaximizeConversions maximize_conversions = 30;
292 // Standard Maximize Conversion Value bidding strategy that automatically
293 // sets bids to maximize revenue while spending your budget.
294 google.ads.googleads.v1.common.MaximizeConversionValue maximize_conversion_value = 31;
296 // Standard Target CPA bidding strategy that automatically sets bids to
297 // help get as many conversions as possible at the target
298 // cost-per-acquisition (CPA) you set.
299 google.ads.googleads.v1.common.TargetCpa target_cpa = 26;
301 // Target Impression Share bidding strategy. An automated bidding strategy
302 // that sets bids to achieve a desired percentage of impressions.
303 google.ads.googleads.v1.common.TargetImpressionShare target_impression_share = 48;
305 // Standard Target ROAS bidding strategy that automatically maximizes
306 // revenue while averaging a specific target return on ad spend (ROAS).
307 google.ads.googleads.v1.common.TargetRoas target_roas = 29;
309 // Standard Target Spend bidding strategy that automatically sets your bids
310 // to help get as many clicks as possible within your budget.
311 google.ads.googleads.v1.common.TargetSpend target_spend = 27;
313 // Standard Percent Cpc bidding strategy where bids are a fraction of the
314 // advertised price for some good or service.
315 google.ads.googleads.v1.common.PercentCpc percent_cpc = 34;
317 // A bidding strategy that automatically optimizes cost per thousand
319 google.ads.googleads.v1.common.TargetCpm target_cpm = 41;