ad_group_criterion.proto 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. // Copyright 2022 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. syntax = "proto3";
  15. package google.ads.googleads.v12.resources;
  16. import "google/ads/googleads/v12/common/criteria.proto";
  17. import "google/ads/googleads/v12/common/custom_parameter.proto";
  18. import "google/ads/googleads/v12/enums/ad_group_criterion_approval_status.proto";
  19. import "google/ads/googleads/v12/enums/ad_group_criterion_status.proto";
  20. import "google/ads/googleads/v12/enums/bidding_source.proto";
  21. import "google/ads/googleads/v12/enums/criterion_system_serving_status.proto";
  22. import "google/ads/googleads/v12/enums/criterion_type.proto";
  23. import "google/ads/googleads/v12/enums/quality_score_bucket.proto";
  24. import "google/api/field_behavior.proto";
  25. import "google/api/resource.proto";
  26. option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources";
  27. option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources";
  28. option java_multiple_files = true;
  29. option java_outer_classname = "AdGroupCriterionProto";
  30. option java_package = "com.google.ads.googleads.v12.resources";
  31. option objc_class_prefix = "GAA";
  32. option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources";
  33. option ruby_package = "Google::Ads::GoogleAds::V12::Resources";
  34. // Proto file describing the ad group criterion resource.
  35. // An ad group criterion.
  36. message AdGroupCriterion {
  37. option (google.api.resource) = {
  38. type: "googleads.googleapis.com/AdGroupCriterion"
  39. pattern: "customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}"
  40. };
  41. // A container for ad group criterion quality information.
  42. message QualityInfo {
  43. // Output only. The quality score.
  44. //
  45. // This field may not be populated if Google does not have enough
  46. // information to determine a value.
  47. optional int32 quality_score = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  48. // Output only. The performance of the ad compared to other advertisers.
  49. google.ads.googleads.v12.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  50. // Output only. The quality score of the landing page.
  51. google.ads.googleads.v12.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  52. // Output only. The click-through rate compared to that of other advertisers.
  53. google.ads.googleads.v12.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  54. }
  55. // Estimates for criterion bids at various positions.
  56. message PositionEstimates {
  57. // Output only. The estimate of the CPC bid required for ad to be shown on first
  58. // page of search results.
  59. optional int64 first_page_cpc_micros = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  60. // Output only. The estimate of the CPC bid required for ad to be displayed in first
  61. // position, at the top of the first page of search results.
  62. optional int64 first_position_cpc_micros = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  63. // Output only. The estimate of the CPC bid required for ad to be displayed at the top
  64. // of the first page of search results.
  65. optional int64 top_of_page_cpc_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
  66. // Output only. Estimate of how many clicks per week you might get by changing your
  67. // keyword bid to the value in first_position_cpc_micros.
  68. optional int64 estimated_add_clicks_at_first_position_cpc = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
  69. // Output only. Estimate of how your cost per week might change when changing your
  70. // keyword bid to the value in first_position_cpc_micros.
  71. optional int64 estimated_add_cost_at_first_position_cpc = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
  72. }
  73. // Immutable. The resource name of the ad group criterion.
  74. // Ad group criterion resource names have the form:
  75. //
  76. // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
  77. string resource_name = 1 [
  78. (google.api.field_behavior) = IMMUTABLE,
  79. (google.api.resource_reference) = {
  80. type: "googleads.googleapis.com/AdGroupCriterion"
  81. }
  82. ];
  83. // Output only. The ID of the criterion.
  84. //
  85. // This field is ignored for mutates.
  86. optional int64 criterion_id = 56 [(google.api.field_behavior) = OUTPUT_ONLY];
  87. // Output only. The display name of the criterion.
  88. //
  89. // This field is ignored for mutates.
  90. string display_name = 77 [(google.api.field_behavior) = OUTPUT_ONLY];
  91. // The status of the criterion.
  92. //
  93. // This is the status of the ad group criterion entity, set by the client.
  94. // Note: UI reports may incorporate additional information that affects
  95. // whether a criterion is eligible to run. In some cases a criterion that's
  96. // REMOVED in the API can still show as enabled in the UI.
  97. // For example, campaigns by default show to users of all age ranges unless
  98. // excluded. The UI will show each age range as "enabled", since they're
  99. // eligible to see the ads; but AdGroupCriterion.status will show "removed",
  100. // since no positive criterion was added.
  101. google.ads.googleads.v12.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3;
  102. // Output only. Information regarding the quality of the criterion.
  103. QualityInfo quality_info = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  104. // Immutable. The ad group to which the criterion belongs.
  105. optional string ad_group = 57 [
  106. (google.api.field_behavior) = IMMUTABLE,
  107. (google.api.resource_reference) = {
  108. type: "googleads.googleapis.com/AdGroup"
  109. }
  110. ];
  111. // Output only. The type of the criterion.
  112. google.ads.googleads.v12.enums.CriterionTypeEnum.CriterionType type = 25 [(google.api.field_behavior) = OUTPUT_ONLY];
  113. // Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
  114. //
  115. // This field is immutable. To switch a criterion from positive to negative,
  116. // remove then re-add it.
  117. optional bool negative = 58 [(google.api.field_behavior) = IMMUTABLE];
  118. // Output only. Serving status of the criterion.
  119. google.ads.googleads.v12.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52 [(google.api.field_behavior) = OUTPUT_ONLY];
  120. // Output only. Approval status of the criterion.
  121. google.ads.googleads.v12.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53 [(google.api.field_behavior) = OUTPUT_ONLY];
  122. // Output only. List of disapproval reasons of the criterion.
  123. //
  124. // The different reasons for disapproving a criterion can be found here:
  125. // https://support.google.com/adspolicy/answer/6008942
  126. //
  127. // This field is read-only.
  128. repeated string disapproval_reasons = 59 [(google.api.field_behavior) = OUTPUT_ONLY];
  129. // Output only. The resource names of labels attached to this ad group criterion.
  130. repeated string labels = 60 [
  131. (google.api.field_behavior) = OUTPUT_ONLY,
  132. (google.api.resource_reference) = {
  133. type: "googleads.googleapis.com/AdGroupCriterionLabel"
  134. }
  135. ];
  136. // The modifier for the bid when the criterion matches. The modifier must be
  137. // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
  138. optional double bid_modifier = 61;
  139. // The CPC (cost-per-click) bid.
  140. optional int64 cpc_bid_micros = 62;
  141. // The CPM (cost-per-thousand viewable impressions) bid.
  142. optional int64 cpm_bid_micros = 63;
  143. // The CPV (cost-per-view) bid.
  144. optional int64 cpv_bid_micros = 64;
  145. // The CPC bid amount, expressed as a fraction of the advertised price
  146. // for some good or service. The valid range for the fraction is [0,1) and the
  147. // value stored here is 1,000,000 * [fraction].
  148. optional int64 percent_cpc_bid_micros = 65;
  149. // Output only. The effective CPC (cost-per-click) bid.
  150. optional int64 effective_cpc_bid_micros = 66 [(google.api.field_behavior) = OUTPUT_ONLY];
  151. // Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
  152. optional int64 effective_cpm_bid_micros = 67 [(google.api.field_behavior) = OUTPUT_ONLY];
  153. // Output only. The effective CPV (cost-per-view) bid.
  154. optional int64 effective_cpv_bid_micros = 68 [(google.api.field_behavior) = OUTPUT_ONLY];
  155. // Output only. The effective Percent CPC bid amount.
  156. optional int64 effective_percent_cpc_bid_micros = 69 [(google.api.field_behavior) = OUTPUT_ONLY];
  157. // Output only. Source of the effective CPC bid.
  158. google.ads.googleads.v12.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
  159. // Output only. Source of the effective CPM bid.
  160. google.ads.googleads.v12.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22 [(google.api.field_behavior) = OUTPUT_ONLY];
  161. // Output only. Source of the effective CPV bid.
  162. google.ads.googleads.v12.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
  163. // Output only. Source of the effective Percent CPC bid.
  164. google.ads.googleads.v12.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35 [(google.api.field_behavior) = OUTPUT_ONLY];
  165. // Output only. Estimates for criterion bids at various positions.
  166. PositionEstimates position_estimates = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
  167. // The list of possible final URLs after all cross-domain redirects for the
  168. // ad.
  169. repeated string final_urls = 70;
  170. // The list of possible final mobile URLs after all cross-domain redirects.
  171. repeated string final_mobile_urls = 71;
  172. // URL template for appending params to final URL.
  173. optional string final_url_suffix = 72;
  174. // The URL template for constructing a tracking URL.
  175. optional string tracking_url_template = 73;
  176. // The list of mappings used to substitute custom parameter tags in a
  177. // `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
  178. repeated google.ads.googleads.v12.common.CustomParameter url_custom_parameters = 14;
  179. // The ad group criterion.
  180. //
  181. // Exactly one must be set.
  182. oneof criterion {
  183. // Immutable. Keyword.
  184. google.ads.googleads.v12.common.KeywordInfo keyword = 27 [(google.api.field_behavior) = IMMUTABLE];
  185. // Immutable. Placement.
  186. google.ads.googleads.v12.common.PlacementInfo placement = 28 [(google.api.field_behavior) = IMMUTABLE];
  187. // Immutable. Mobile app category.
  188. google.ads.googleads.v12.common.MobileAppCategoryInfo mobile_app_category = 29 [(google.api.field_behavior) = IMMUTABLE];
  189. // Immutable. Mobile application.
  190. google.ads.googleads.v12.common.MobileApplicationInfo mobile_application = 30 [(google.api.field_behavior) = IMMUTABLE];
  191. // Immutable. Listing group.
  192. google.ads.googleads.v12.common.ListingGroupInfo listing_group = 32 [(google.api.field_behavior) = IMMUTABLE];
  193. // Immutable. Age range.
  194. google.ads.googleads.v12.common.AgeRangeInfo age_range = 36 [(google.api.field_behavior) = IMMUTABLE];
  195. // Immutable. Gender.
  196. google.ads.googleads.v12.common.GenderInfo gender = 37 [(google.api.field_behavior) = IMMUTABLE];
  197. // Immutable. Income range.
  198. google.ads.googleads.v12.common.IncomeRangeInfo income_range = 38 [(google.api.field_behavior) = IMMUTABLE];
  199. // Immutable. Parental status.
  200. google.ads.googleads.v12.common.ParentalStatusInfo parental_status = 39 [(google.api.field_behavior) = IMMUTABLE];
  201. // Immutable. User List.
  202. google.ads.googleads.v12.common.UserListInfo user_list = 42 [(google.api.field_behavior) = IMMUTABLE];
  203. // Immutable. YouTube Video.
  204. google.ads.googleads.v12.common.YouTubeVideoInfo youtube_video = 40 [(google.api.field_behavior) = IMMUTABLE];
  205. // Immutable. YouTube Channel.
  206. google.ads.googleads.v12.common.YouTubeChannelInfo youtube_channel = 41 [(google.api.field_behavior) = IMMUTABLE];
  207. // Immutable. Topic.
  208. google.ads.googleads.v12.common.TopicInfo topic = 43 [(google.api.field_behavior) = IMMUTABLE];
  209. // Immutable. User Interest.
  210. google.ads.googleads.v12.common.UserInterestInfo user_interest = 45 [(google.api.field_behavior) = IMMUTABLE];
  211. // Immutable. Webpage
  212. google.ads.googleads.v12.common.WebpageInfo webpage = 46 [(google.api.field_behavior) = IMMUTABLE];
  213. // Immutable. App Payment Model.
  214. google.ads.googleads.v12.common.AppPaymentModelInfo app_payment_model = 47 [(google.api.field_behavior) = IMMUTABLE];
  215. // Immutable. Custom Affinity.
  216. google.ads.googleads.v12.common.CustomAffinityInfo custom_affinity = 48 [(google.api.field_behavior) = IMMUTABLE];
  217. // Immutable. Custom Intent.
  218. google.ads.googleads.v12.common.CustomIntentInfo custom_intent = 49 [(google.api.field_behavior) = IMMUTABLE];
  219. // Immutable. Custom Audience.
  220. google.ads.googleads.v12.common.CustomAudienceInfo custom_audience = 74 [(google.api.field_behavior) = IMMUTABLE];
  221. // Immutable. Combined Audience.
  222. google.ads.googleads.v12.common.CombinedAudienceInfo combined_audience = 75 [(google.api.field_behavior) = IMMUTABLE];
  223. // Immutable. Audience.
  224. google.ads.googleads.v12.common.AudienceInfo audience = 79 [(google.api.field_behavior) = IMMUTABLE];
  225. }
  226. }