xref: /aosp_15_r20/external/googleapis/google/ads/googleads/v14/resources/ad_group.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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.googleads.v14.resources;
18
19import "google/ads/googleads/v14/common/custom_parameter.proto";
20import "google/ads/googleads/v14/common/targeting_setting.proto";
21import "google/ads/googleads/v14/enums/ad_group_ad_rotation_mode.proto";
22import "google/ads/googleads/v14/enums/ad_group_status.proto";
23import "google/ads/googleads/v14/enums/ad_group_type.proto";
24import "google/ads/googleads/v14/enums/asset_field_type.proto";
25import "google/ads/googleads/v14/enums/asset_set_type.proto";
26import "google/ads/googleads/v14/enums/bidding_source.proto";
27import "google/ads/googleads/v14/enums/targeting_dimension.proto";
28import "google/api/field_behavior.proto";
29import "google/api/resource.proto";
30
31option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources";
32option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources";
33option java_multiple_files = true;
34option java_outer_classname = "AdGroupProto";
35option java_package = "com.google.ads.googleads.v14.resources";
36option objc_class_prefix = "GAA";
37option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources";
38option ruby_package = "Google::Ads::GoogleAds::V14::Resources";
39
40// Proto file describing the ad group resource.
41
42// An ad group.
43message AdGroup {
44  option (google.api.resource) = {
45    type: "googleads.googleapis.com/AdGroup"
46    pattern: "customers/{customer_id}/adGroups/{ad_group_id}"
47  };
48
49  // Settings for the audience targeting.
50  message AudienceSetting {
51    // Immutable. If true, this ad group uses an Audience resource for audience
52    // targeting. If false, this ad group may use audience segment criteria
53    // instead.
54    bool use_audience_grouped = 1 [(google.api.field_behavior) = IMMUTABLE];
55  }
56
57  // Immutable. The resource name of the ad group.
58  // Ad group resource names have the form:
59  //
60  // `customers/{customer_id}/adGroups/{ad_group_id}`
61  string resource_name = 1 [
62    (google.api.field_behavior) = IMMUTABLE,
63    (google.api.resource_reference) = {
64      type: "googleads.googleapis.com/AdGroup"
65    }
66  ];
67
68  // Output only. The ID of the ad group.
69  optional int64 id = 34 [(google.api.field_behavior) = OUTPUT_ONLY];
70
71  // The name of the ad group.
72  //
73  // This field is required and should not be empty when creating new ad
74  // groups.
75  //
76  // It must contain fewer than 255 UTF-8 full-width characters.
77  //
78  // It must not contain any null (code point 0x0), NL line feed
79  // (code point 0xA) or carriage return (code point 0xD) characters.
80  optional string name = 35;
81
82  // The status of the ad group.
83  google.ads.googleads.v14.enums.AdGroupStatusEnum.AdGroupStatus status = 5;
84
85  // Immutable. The type of the ad group.
86  google.ads.googleads.v14.enums.AdGroupTypeEnum.AdGroupType type = 12
87      [(google.api.field_behavior) = IMMUTABLE];
88
89  // The ad rotation mode of the ad group.
90  google.ads.googleads.v14.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode
91      ad_rotation_mode = 22;
92
93  // Output only. For draft or experiment ad groups, this field is the resource
94  // name of the base ad group from which this ad group was created. If a draft
95  // or experiment ad group does not have a base ad group, then this field is
96  // null.
97  //
98  // For base ad groups, this field equals the ad group resource name.
99  //
100  // This field is read-only.
101  optional string base_ad_group = 36 [
102    (google.api.field_behavior) = OUTPUT_ONLY,
103    (google.api.resource_reference) = {
104      type: "googleads.googleapis.com/AdGroup"
105    }
106  ];
107
108  // The URL template for constructing a tracking URL.
109  optional string tracking_url_template = 37;
110
111  // The list of mappings used to substitute custom parameter tags in a
112  // `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
113  repeated google.ads.googleads.v14.common.CustomParameter
114      url_custom_parameters = 6;
115
116  // Immutable. The campaign to which the ad group belongs.
117  optional string campaign = 38 [
118    (google.api.field_behavior) = IMMUTABLE,
119    (google.api.resource_reference) = {
120      type: "googleads.googleapis.com/Campaign"
121    }
122  ];
123
124  // The maximum CPC (cost-per-click) bid.
125  optional int64 cpc_bid_micros = 39;
126
127  // Output only. Value will be same as that of the CPC (cost-per-click) bid
128  // value when the bidding strategy is one of manual cpc, enhanced cpc, page
129  // one promoted or target outrank share, otherwise the value will be null.
130  optional int64 effective_cpc_bid_micros = 57
131      [(google.api.field_behavior) = OUTPUT_ONLY];
132
133  // The maximum CPM (cost-per-thousand viewable impressions) bid.
134  optional int64 cpm_bid_micros = 40;
135
136  // The target CPA (cost-per-acquisition). If the ad group's campaign
137  // bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa
138  // field set), then this field overrides the target CPA specified in the
139  // campaign's bidding strategy.
140  // Otherwise, this value is ignored.
141  optional int64 target_cpa_micros = 41;
142
143  // The CPV (cost-per-view) bid.
144  optional int64 cpv_bid_micros = 42;
145
146  // Average amount in micros that the advertiser is willing to pay for every
147  // thousand times the ad is shown.
148  optional int64 target_cpm_micros = 43;
149
150  // The target ROAS (return-on-ad-spend) override. If the ad group's campaign
151  // bidding strategy is TargetRoas or MaximizeConversionValue (with its
152  // target_roas field set), then this field overrides the target ROAS specified
153  // in the campaign's bidding strategy.
154  // Otherwise, this value is ignored.
155  optional double target_roas = 44;
156
157  // The percent cpc bid amount, expressed as a fraction of the advertised price
158  // for some good or service. The valid range for the fraction is [0,1) and the
159  // value stored here is 1,000,000 * [fraction].
160  optional int64 percent_cpc_bid_micros = 45;
161
162  // True if optimized targeting is enabled. Optimized Targeting is the
163  // replacement for Audience Expansion.
164  bool optimized_targeting_enabled = 59;
165
166  // Allows advertisers to specify a targeting dimension on which to place
167  // absolute bids. This is only applicable for campaigns that target only the
168  // display network and not search.
169  google.ads.googleads.v14.enums.TargetingDimensionEnum.TargetingDimension
170      display_custom_bid_dimension = 23;
171
172  // URL template for appending params to Final URL.
173  optional string final_url_suffix = 46;
174
175  // Setting for targeting related features.
176  google.ads.googleads.v14.common.TargetingSetting targeting_setting = 25;
177
178  // Immutable. Setting for audience related features.
179  AudienceSetting audience_setting = 56
180      [(google.api.field_behavior) = IMMUTABLE];
181
182  // Output only. The effective target CPA (cost-per-acquisition).
183  // This field is read-only.
184  optional int64 effective_target_cpa_micros = 47
185      [(google.api.field_behavior) = OUTPUT_ONLY];
186
187  // Output only. Source of the effective target CPA.
188  // This field is read-only.
189  google.ads.googleads.v14.enums.BiddingSourceEnum.BiddingSource
190      effective_target_cpa_source = 29
191      [(google.api.field_behavior) = OUTPUT_ONLY];
192
193  // Output only. The effective target ROAS (return-on-ad-spend).
194  // This field is read-only.
195  optional double effective_target_roas = 48
196      [(google.api.field_behavior) = OUTPUT_ONLY];
197
198  // Output only. Source of the effective target ROAS.
199  // This field is read-only.
200  google.ads.googleads.v14.enums.BiddingSourceEnum.BiddingSource
201      effective_target_roas_source = 32
202      [(google.api.field_behavior) = OUTPUT_ONLY];
203
204  // Output only. The resource names of labels attached to this ad group.
205  repeated string labels = 49 [
206    (google.api.field_behavior) = OUTPUT_ONLY,
207    (google.api.resource_reference) = {
208      type: "googleads.googleapis.com/AdGroupLabel"
209    }
210  ];
211
212  // The asset field types that should be excluded from this ad group. Asset
213  // links with these field types will not be inherited by this ad group from
214  // the upper levels.
215  repeated google.ads.googleads.v14.enums.AssetFieldTypeEnum.AssetFieldType
216      excluded_parent_asset_field_types = 54;
217
218  // The asset set types that should be excluded from this ad group. Asset set
219  // links with these types will not be inherited by this ad group from the
220  // upper levels.
221  // Location group types (GMB_DYNAMIC_LOCATION_GROUP,
222  // CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of
223  // LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all
224  // location group asset sets are not allowed to be linked to this ad group,
225  // and all Location Extension (LE) and Affiliate Location Extensions (ALE)
226  // will not be served under this ad group.
227  // Only LOCATION_SYNC is currently supported.
228  repeated google.ads.googleads.v14.enums.AssetSetTypeEnum.AssetSetType
229      excluded_parent_asset_set_types = 58;
230}
231