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.v15.resources; 18 19import "google/ads/googleads/v15/common/criteria.proto"; 20import "google/ads/googleads/v15/enums/asset_group_signal_approval_status.proto"; 21import "google/api/field_behavior.proto"; 22import "google/api/resource.proto"; 23 24option csharp_namespace = "Google.Ads.GoogleAds.V15.Resources"; 25option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; 26option java_multiple_files = true; 27option java_outer_classname = "AssetGroupSignalProto"; 28option java_package = "com.google.ads.googleads.v15.resources"; 29option objc_class_prefix = "GAA"; 30option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; 31option ruby_package = "Google::Ads::GoogleAds::V15::Resources"; 32 33// AssetGroupSignal represents a signal in an asset group. The existence of a 34// signal tells the performance max campaign who's most likely to convert. 35// Performance Max uses the signal to look for new people with similar or 36// stronger intent to find conversions across Search, Display, Video, and more. 37message AssetGroupSignal { 38 option (google.api.resource) = { 39 type: "googleads.googleapis.com/AssetGroupSignal" 40 pattern: "customers/{customer_id}/assetGroupSignals/{asset_group_id}~{criterion_id}" 41 }; 42 43 // Immutable. The resource name of the asset group signal. 44 // Asset group signal resource name have the form: 45 // 46 // `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}` 47 string resource_name = 1 [ 48 (google.api.field_behavior) = IMMUTABLE, 49 (google.api.resource_reference) = { 50 type: "googleads.googleapis.com/AssetGroupSignal" 51 } 52 ]; 53 54 // Immutable. The asset group which this asset group signal belongs to. 55 string asset_group = 2 [ 56 (google.api.field_behavior) = IMMUTABLE, 57 (google.api.resource_reference) = { 58 type: "googleads.googleapis.com/AssetGroup" 59 } 60 ]; 61 62 // Output only. Approval status is the output value for search theme signal 63 // after Google ads policy review. When using Audience signal, this field is 64 // not used and will be absent. 65 google.ads.googleads.v15.enums.AssetGroupSignalApprovalStatusEnum 66 .AssetGroupSignalApprovalStatus approval_status = 6 67 [(google.api.field_behavior) = OUTPUT_ONLY]; 68 69 // Output only. Computed for SearchTheme signals. 70 // When using Audience signal, this field is not used and will be absent. 71 repeated string disapproval_reasons = 7 72 [(google.api.field_behavior) = OUTPUT_ONLY]; 73 74 // The signal of the asset group. 75 oneof signal { 76 // Immutable. The audience signal to be used by the performance max 77 // campaign. 78 google.ads.googleads.v15.common.AudienceInfo audience = 4 79 [(google.api.field_behavior) = IMMUTABLE]; 80 81 // Immutable. The search_theme signal to be used by the performance max 82 // campaign. 83 // Mutate errors of search_theme criterion includes 84 // AssetGroupSignalError.UNSPECIFIED 85 // AssetGroupSignalError.UNKNOWN 86 // AssetGroupSignalError.TOO_MANY_WORDS 87 // AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION 88 // FieldError.REQUIRED 89 // StringFormatError.ILLEGAL_CHARS 90 // StringLengthError.TOO_LONG 91 // ResourceCountLimitExceededError.RESOURCE_LIMIT 92 google.ads.googleads.v15.common.SearchThemeInfo search_theme = 5 93 [(google.api.field_behavior) = IMMUTABLE]; 94 } 95} 96