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