audiences.proto 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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.common;
  16. import "google/ads/googleads/v12/enums/gender_type.proto";
  17. import "google/ads/googleads/v12/enums/income_range_type.proto";
  18. import "google/ads/googleads/v12/enums/parental_status_type.proto";
  19. option csharp_namespace = "Google.Ads.GoogleAds.V12.Common";
  20. option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/common;common";
  21. option java_multiple_files = true;
  22. option java_outer_classname = "AudiencesProto";
  23. option java_package = "com.google.ads.googleads.v12.common";
  24. option objc_class_prefix = "GAA";
  25. option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Common";
  26. option ruby_package = "Google::Ads::GoogleAds::V12::Common";
  27. // Positive dimension specifying user's audience.
  28. message AudienceDimension {
  29. // Dimension specifying users who belong to the audience.
  30. oneof dimension {
  31. // Dimension specifying users by their age.
  32. AgeDimension age = 1;
  33. // Dimension specifying users by their gender.
  34. GenderDimension gender = 2;
  35. // Dimension specifying users by their household income.
  36. HouseholdIncomeDimension household_income = 3;
  37. // Dimension specifying users by their parental status.
  38. ParentalStatusDimension parental_status = 4;
  39. // Dimension specifying users by their membership in other audience
  40. // segments.
  41. AudienceSegmentDimension audience_segments = 5;
  42. }
  43. }
  44. // Negative dimension specifying users to exclude from the audience.
  45. message AudienceExclusionDimension {
  46. // Audience segment to be excluded.
  47. repeated ExclusionSegment exclusions = 1;
  48. }
  49. // An audience segment to be excluded from an audience.
  50. message ExclusionSegment {
  51. // Segment to be excluded.
  52. oneof segment {
  53. // User list segment to be excluded.
  54. UserListSegment user_list = 1;
  55. }
  56. }
  57. // Dimension specifying users by their age.
  58. message AgeDimension {
  59. // Contiguous age range to be included in the dimension.
  60. repeated AgeSegment age_ranges = 1;
  61. // Include users whose age is not determined.
  62. optional bool include_undetermined = 2;
  63. }
  64. // Contiguous age range.
  65. message AgeSegment {
  66. // Minimum age to include. A minimum age must be specified and must be at
  67. // least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
  68. optional int32 min_age = 1;
  69. // Maximum age to include. A maximum age need not be specified. If specified,
  70. // max_age must be greater than min_age, and allowed values are 24, 34, 44,
  71. // 54, and 64.
  72. optional int32 max_age = 2;
  73. }
  74. // Dimension specifying users by their gender.
  75. message GenderDimension {
  76. // Included gender demographic segments.
  77. repeated google.ads.googleads.v12.enums.GenderTypeEnum.GenderType genders = 1;
  78. // Include users whose gender is not determined.
  79. optional bool include_undetermined = 2;
  80. }
  81. // Dimension specifying users by their household income.
  82. message HouseholdIncomeDimension {
  83. // Included household income demographic segments.
  84. repeated google.ads.googleads.v12.enums.IncomeRangeTypeEnum.IncomeRangeType income_ranges = 1;
  85. // Include users whose household income is not determined.
  86. optional bool include_undetermined = 2;
  87. }
  88. // Dimension specifying users by their parental status.
  89. message ParentalStatusDimension {
  90. // Included parental status demographic segments.
  91. repeated google.ads.googleads.v12.enums.ParentalStatusTypeEnum.ParentalStatusType parental_statuses = 1;
  92. // Include users whose parental status is undetermined.
  93. optional bool include_undetermined = 2;
  94. }
  95. // Dimension specifying users by their membership in other audience segments.
  96. message AudienceSegmentDimension {
  97. // Included audience segments. Users are included if they belong to at least
  98. // one segment.
  99. repeated AudienceSegment segments = 1;
  100. }
  101. // Positive audience segment.
  102. message AudienceSegment {
  103. // Positive segment.
  104. oneof segment {
  105. // User list segment.
  106. UserListSegment user_list = 1;
  107. // Affinity or In-market segment.
  108. UserInterestSegment user_interest = 2;
  109. // Live-event audience segment.
  110. LifeEventSegment life_event = 3;
  111. // Detailed demographic segment.
  112. DetailedDemographicSegment detailed_demographic = 4;
  113. // Custom audience segment.
  114. CustomAudienceSegment custom_audience = 5;
  115. }
  116. }
  117. // User list segment.
  118. message UserListSegment {
  119. // The user list resource.
  120. optional string user_list = 1;
  121. }
  122. // User interest segment.
  123. message UserInterestSegment {
  124. // The user interest resource.
  125. optional string user_interest_category = 1;
  126. }
  127. // Live event segment.
  128. message LifeEventSegment {
  129. // The life event resource.
  130. optional string life_event = 1;
  131. }
  132. // Detailed demographic segment.
  133. message DetailedDemographicSegment {
  134. // The detailed demographic resource.
  135. optional string detailed_demographic = 1;
  136. }
  137. // Custom audience segment.
  138. message CustomAudienceSegment {
  139. // The custom audience resource.
  140. optional string custom_audience = 1;
  141. }