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