xref: /aosp_15_r20/external/googleapis/google/ads/googleads/v14/resources/custom_audience.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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.googleads.v14.resources;
18
19import "google/ads/googleads/v14/enums/custom_audience_member_type.proto";
20import "google/ads/googleads/v14/enums/custom_audience_status.proto";
21import "google/ads/googleads/v14/enums/custom_audience_type.proto";
22import "google/api/field_behavior.proto";
23import "google/api/resource.proto";
24
25option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources";
26option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources";
27option java_multiple_files = true;
28option java_outer_classname = "CustomAudienceProto";
29option java_package = "com.google.ads.googleads.v14.resources";
30option objc_class_prefix = "GAA";
31option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources";
32option ruby_package = "Google::Ads::GoogleAds::V14::Resources";
33
34// Proto file describing the Custom Audience resource.
35
36// A custom audience. This is a list of users by interest.
37message CustomAudience {
38  option (google.api.resource) = {
39    type: "googleads.googleapis.com/CustomAudience"
40    pattern: "customers/{customer_id}/customAudiences/{custom_audience_id}"
41  };
42
43  // Immutable. The resource name of the custom audience.
44  // Custom audience resource names have the form:
45  //
46  // `customers/{customer_id}/customAudiences/{custom_audience_id}`
47  string resource_name = 1 [
48    (google.api.field_behavior) = IMMUTABLE,
49    (google.api.resource_reference) = {
50      type: "googleads.googleapis.com/CustomAudience"
51    }
52  ];
53
54  // Output only. ID of the custom audience.
55  int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
56
57  // Output only. Status of this custom audience. Indicates whether the custom
58  // audience is enabled or removed.
59  google.ads.googleads.v14.enums.CustomAudienceStatusEnum.CustomAudienceStatus
60      status = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
61
62  // Name of the custom audience. It should be unique for all custom audiences
63  // created by a customer.
64  // This field is required for creating operations.
65  string name = 4;
66
67  // Type of the custom audience.
68  // ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom
69  // audience but kept for existing audiences)
70  google.ads.googleads.v14.enums.CustomAudienceTypeEnum.CustomAudienceType
71      type = 5;
72
73  // Description of this custom audience.
74  string description = 6;
75
76  // List of custom audience members that this custom audience is composed of.
77  // Members can be added during CustomAudience creation. If members are
78  // presented in UPDATE operation, existing members will be overridden.
79  repeated CustomAudienceMember members = 7;
80}
81
82// A member of custom audience. A member can be a KEYWORD, URL,
83// PLACE_CATEGORY or APP. It can only be created or removed but not changed.
84message CustomAudienceMember {
85  // The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.
86  google.ads.googleads.v14.enums.CustomAudienceMemberTypeEnum
87      .CustomAudienceMemberType member_type = 1;
88
89  // The CustomAudienceMember value. One field is populated depending on the
90  // member type.
91  oneof value {
92    // A keyword or keyword phrase — at most 10 words and 80 characters.
93    // Languages with double-width characters such as Chinese, Japanese,
94    // or Korean, are allowed 40 characters, which describes the user's
95    // interests or actions.
96    string keyword = 2;
97
98    // An HTTP URL, protocol-included — at most 2048 characters, which includes
99    // contents users have interests in.
100    string url = 3;
101
102    // A place type described by a place category users visit.
103    int64 place_category = 4;
104
105    // A package name of Android apps which users installed such as
106    // com.google.example.
107    string app = 5;
108  }
109}
110