aboutsummaryrefslogtreecommitdiff
path: root/google/ads/googleads/v16/resources/campaign_criterion.proto
blob: 1da73358d2249c66e06b98b8bfefe0e6c70f52d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.ads.googleads.v16.resources;

import "google/ads/googleads/v16/common/criteria.proto";
import "google/ads/googleads/v16/enums/campaign_criterion_status.proto";
import "google/ads/googleads/v16/enums/criterion_type.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";

option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources";
option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources";
option java_multiple_files = true;
option java_outer_classname = "CampaignCriterionProto";
option java_package = "com.google.ads.googleads.v16.resources";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources";
option ruby_package = "Google::Ads::GoogleAds::V16::Resources";

// Proto file describing the Campaign Criterion resource.

// A campaign criterion.
message CampaignCriterion {
  option (google.api.resource) = {
    type: "googleads.googleapis.com/CampaignCriterion"
    pattern: "customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}"
  };

  // Immutable. The resource name of the campaign criterion.
  // Campaign criterion resource names have the form:
  //
  // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
  string resource_name = 1 [
    (google.api.field_behavior) = IMMUTABLE,
    (google.api.resource_reference) = {
      type: "googleads.googleapis.com/CampaignCriterion"
    }
  ];

  // Immutable. The campaign to which the criterion belongs.
  optional string campaign = 37 [
    (google.api.field_behavior) = IMMUTABLE,
    (google.api.resource_reference) = {
      type: "googleads.googleapis.com/Campaign"
    }
  ];

  // Output only. The ID of the criterion.
  //
  // This field is ignored during mutate.
  optional int64 criterion_id = 38 [(google.api.field_behavior) = OUTPUT_ONLY];

  // Output only. The display name of the criterion.
  //
  // This field is ignored for mutates.
  string display_name = 43 [(google.api.field_behavior) = OUTPUT_ONLY];

  // The modifier for the bids when the criterion matches. The modifier must be
  // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
  // Use 0 to opt out of a Device type.
  optional float bid_modifier = 39;

  // Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
  optional bool negative = 40 [(google.api.field_behavior) = IMMUTABLE];

  // Output only. The type of the criterion.
  google.ads.googleads.v16.enums.CriterionTypeEnum.CriterionType type = 6
      [(google.api.field_behavior) = OUTPUT_ONLY];

  // The status of the criterion.
  google.ads.googleads.v16.enums.CampaignCriterionStatusEnum
      .CampaignCriterionStatus status = 35;

  // The campaign criterion.
  //
  // Exactly one must be set.
  oneof criterion {
    // Immutable. Keyword.
    google.ads.googleads.v16.common.KeywordInfo keyword = 8
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Placement.
    google.ads.googleads.v16.common.PlacementInfo placement = 9
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Mobile app category.
    google.ads.googleads.v16.common.MobileAppCategoryInfo mobile_app_category =
        10 [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Mobile application.
    google.ads.googleads.v16.common.MobileApplicationInfo mobile_application =
        11 [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Location.
    google.ads.googleads.v16.common.LocationInfo location = 12
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Device.
    google.ads.googleads.v16.common.DeviceInfo device = 13
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Ad Schedule.
    google.ads.googleads.v16.common.AdScheduleInfo ad_schedule = 15
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Age range.
    google.ads.googleads.v16.common.AgeRangeInfo age_range = 16
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Gender.
    google.ads.googleads.v16.common.GenderInfo gender = 17
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Income range.
    google.ads.googleads.v16.common.IncomeRangeInfo income_range = 18
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Parental status.
    google.ads.googleads.v16.common.ParentalStatusInfo parental_status = 19
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. User List.
    google.ads.googleads.v16.common.UserListInfo user_list = 22
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. YouTube Video.
    google.ads.googleads.v16.common.YouTubeVideoInfo youtube_video = 20
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. YouTube Channel.
    google.ads.googleads.v16.common.YouTubeChannelInfo youtube_channel = 21
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Proximity.
    google.ads.googleads.v16.common.ProximityInfo proximity = 23
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Topic.
    google.ads.googleads.v16.common.TopicInfo topic = 24
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Listing scope.
    google.ads.googleads.v16.common.ListingScopeInfo listing_scope = 25
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Language.
    google.ads.googleads.v16.common.LanguageInfo language = 26
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. IpBlock.
    google.ads.googleads.v16.common.IpBlockInfo ip_block = 27
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. ContentLabel.
    google.ads.googleads.v16.common.ContentLabelInfo content_label = 28
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Carrier.
    google.ads.googleads.v16.common.CarrierInfo carrier = 29
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. User Interest.
    google.ads.googleads.v16.common.UserInterestInfo user_interest = 30
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Webpage.
    google.ads.googleads.v16.common.WebpageInfo webpage = 31
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Operating system version.
    google.ads.googleads.v16.common.OperatingSystemVersionInfo
        operating_system_version = 32 [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Mobile Device.
    google.ads.googleads.v16.common.MobileDeviceInfo mobile_device = 33
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Location Group
    google.ads.googleads.v16.common.LocationGroupInfo location_group = 34
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Custom Affinity.
    google.ads.googleads.v16.common.CustomAffinityInfo custom_affinity = 36
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Custom Audience
    google.ads.googleads.v16.common.CustomAudienceInfo custom_audience = 41
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Combined Audience.
    google.ads.googleads.v16.common.CombinedAudienceInfo combined_audience = 42
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Smart Campaign Keyword Theme.
    google.ads.googleads.v16.common.KeywordThemeInfo keyword_theme = 45
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. GLS service campaign criterion.
    google.ads.googleads.v16.common.LocalServiceIdInfo local_service_id = 46
        [(google.api.field_behavior) = IMMUTABLE];

    // Immutable. Brand list campaign criterion.
    google.ads.googleads.v16.common.BrandListInfo brand_list = 47
        [(google.api.field_behavior) = IMMUTABLE];
  }
}