• 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.resources;
18
19import "google/ads/searchads360/v0/common/criteria.proto";
20import "google/ads/searchads360/v0/enums/ad_group_criterion_engine_status.proto";
21import "google/ads/searchads360/v0/enums/ad_group_criterion_status.proto";
22import "google/ads/searchads360/v0/enums/criterion_type.proto";
23import "google/api/field_behavior.proto";
24import "google/api/resource.proto";
25
26option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources";
27option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources";
28option java_multiple_files = true;
29option java_outer_classname = "AdGroupCriterionProto";
30option java_package = "com.google.ads.searchads360.v0.resources";
31option objc_class_prefix = "GASA360";
32option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources";
33option ruby_package = "Google::Ads::SearchAds360::V0::Resources";
34
35// Proto file describing the ad group criterion resource.
36
37// An ad group criterion.
38// The ad_group_criterion report only returns criteria that were explicitly
39// added to the ad group.
40message AdGroupCriterion {
41  option (google.api.resource) = {
42    type: "searchads360.googleapis.com/AdGroupCriterion"
43    pattern: "customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}"
44  };
45
46  // A container for ad group criterion quality information.
47  message QualityInfo {
48    // Output only. The quality score.
49    //
50    // This field may not be populated if Google does not have enough
51    // information to determine a value.
52    optional int32 quality_score = 5
53        [(google.api.field_behavior) = OUTPUT_ONLY];
54  }
55
56  // Estimates for criterion bids at various positions.
57  message PositionEstimates {
58    // Output only. The estimate of the CPC bid required for ad to be displayed
59    // at the top of the first page of search results.
60    optional int64 top_of_page_cpc_micros = 8
61        [(google.api.field_behavior) = OUTPUT_ONLY];
62  }
63
64  // Immutable. The resource name of the ad group criterion.
65  // Ad group criterion resource names have the form:
66  //
67  // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
68  string resource_name = 1 [
69    (google.api.field_behavior) = IMMUTABLE,
70    (google.api.resource_reference) = {
71      type: "searchads360.googleapis.com/AdGroupCriterion"
72    }
73  ];
74
75  // Output only. The ID of the criterion.
76  optional int64 criterion_id = 56 [(google.api.field_behavior) = OUTPUT_ONLY];
77
78  // Output only. The timestamp when this ad group criterion was created. The
79  // timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss"
80  // format.
81  string creation_time = 81 [(google.api.field_behavior) = OUTPUT_ONLY];
82
83  // The status of the criterion.
84  //
85  // This is the status of the ad group criterion entity, set by the client.
86  // Note: UI reports may incorporate additional information that affects
87  // whether a criterion is eligible to run. In some cases a criterion that's
88  // REMOVED in the API can still show as enabled in the UI.
89  // For example, campaigns by default show to users of all age ranges unless
90  // excluded. The UI will show each age range as "enabled", since they're
91  // eligible to see the ads; but AdGroupCriterion.status will show "removed",
92  // since no positive criterion was added.
93  google.ads.searchads360.v0.enums.AdGroupCriterionStatusEnum
94      .AdGroupCriterionStatus status = 3;
95
96  // Output only. Information regarding the quality of the criterion.
97  QualityInfo quality_info = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
98
99  // Immutable. The ad group to which the criterion belongs.
100  optional string ad_group = 57 [
101    (google.api.field_behavior) = IMMUTABLE,
102    (google.api.resource_reference) = {
103      type: "searchads360.googleapis.com/AdGroup"
104    }
105  ];
106
107  // Output only. The type of the criterion.
108  google.ads.searchads360.v0.enums.CriterionTypeEnum.CriterionType type = 25
109      [(google.api.field_behavior) = OUTPUT_ONLY];
110
111  // Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
112  //
113  // This field is immutable. To switch a criterion from positive to negative,
114  // remove then re-add it.
115  optional bool negative = 58 [(google.api.field_behavior) = IMMUTABLE];
116
117  // Output only. The resource names of labels attached to this ad group
118  // criterion.
119  repeated string labels = 60 [
120    (google.api.field_behavior) = OUTPUT_ONLY,
121    (google.api.resource_reference) = {
122      type: "searchads360.googleapis.com/AdGroupCriterionLabel"
123    }
124  ];
125
126  // The modifier for the bid when the criterion matches. The modifier must be
127  // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
128  optional double bid_modifier = 61;
129
130  // The CPC (cost-per-click) bid.
131  optional int64 cpc_bid_micros = 62;
132
133  // Output only. The effective CPC (cost-per-click) bid.
134  optional int64 effective_cpc_bid_micros = 66
135      [(google.api.field_behavior) = OUTPUT_ONLY];
136
137  // Output only. Estimates for criterion bids at various positions.
138  PositionEstimates position_estimates = 10
139      [(google.api.field_behavior) = OUTPUT_ONLY];
140
141  // The list of possible final URLs after all cross-domain redirects for the
142  // ad.
143  repeated string final_urls = 70;
144
145  // Output only. The Engine Status for ad group criterion.
146  optional google.ads.searchads360.v0.enums.AdGroupCriterionEngineStatusEnum
147      .AdGroupCriterionEngineStatus engine_status = 80
148      [(google.api.field_behavior) = OUTPUT_ONLY];
149
150  // URL template for appending params to final URL.
151  optional string final_url_suffix = 72;
152
153  // The URL template for constructing a tracking URL.
154  optional string tracking_url_template = 73;
155
156  // Output only. ID of the ad group criterion in the external engine account.
157  // This field is for non-Google Ads account only, for example, Yahoo Japan,
158  // Microsoft, Baidu etc. For Google Ads entity, use
159  // "ad_group_criterion.criterion_id" instead.
160  string engine_id = 76 [(google.api.field_behavior) = OUTPUT_ONLY];
161
162  // Output only. The datetime when this ad group criterion was last modified.
163  // The datetime is in the customer's time zone and in "yyyy-MM-dd
164  // HH:mm:ss.ssssss" format.
165  string last_modified_time = 78 [(google.api.field_behavior) = OUTPUT_ONLY];
166
167  // The ad group criterion.
168  //
169  // Exactly one must be set.
170  oneof criterion {
171    // Immutable. Keyword.
172    google.ads.searchads360.v0.common.KeywordInfo keyword = 27
173        [(google.api.field_behavior) = IMMUTABLE];
174
175    // Immutable. Listing group.
176    google.ads.searchads360.v0.common.ListingGroupInfo listing_group = 32
177        [(google.api.field_behavior) = IMMUTABLE];
178
179    // Immutable. Age range.
180    google.ads.searchads360.v0.common.AgeRangeInfo age_range = 36
181        [(google.api.field_behavior) = IMMUTABLE];
182
183    // Immutable. Gender.
184    google.ads.searchads360.v0.common.GenderInfo gender = 37
185        [(google.api.field_behavior) = IMMUTABLE];
186
187    // Immutable. User List.
188    google.ads.searchads360.v0.common.UserListInfo user_list = 42
189        [(google.api.field_behavior) = IMMUTABLE];
190
191    // Immutable. Webpage
192    google.ads.searchads360.v0.common.WebpageInfo webpage = 46
193        [(google.api.field_behavior) = IMMUTABLE];
194
195    // Immutable. Location.
196    google.ads.searchads360.v0.common.LocationInfo location = 82
197        [(google.api.field_behavior) = IMMUTABLE];
198  }
199}
200