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.v16.resources; 18 19import "google/ads/googleads/v16/common/policy.proto"; 20import "google/ads/googleads/v16/enums/ad_group_ad_primary_status.proto"; 21import "google/ads/googleads/v16/enums/ad_group_ad_primary_status_reason.proto"; 22import "google/ads/googleads/v16/enums/ad_group_ad_status.proto"; 23import "google/ads/googleads/v16/enums/ad_strength.proto"; 24import "google/ads/googleads/v16/enums/policy_approval_status.proto"; 25import "google/ads/googleads/v16/enums/policy_review_status.proto"; 26import "google/ads/googleads/v16/resources/ad.proto"; 27import "google/api/field_behavior.proto"; 28import "google/api/resource.proto"; 29 30option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; 31option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; 32option java_multiple_files = true; 33option java_outer_classname = "AdGroupAdProto"; 34option java_package = "com.google.ads.googleads.v16.resources"; 35option objc_class_prefix = "GAA"; 36option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; 37option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; 38 39// Proto file describing the ad group ad resource. 40 41// An ad group ad. 42message AdGroupAd { 43 option (google.api.resource) = { 44 type: "googleads.googleapis.com/AdGroupAd" 45 pattern: "customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}" 46 }; 47 48 // Immutable. The resource name of the ad. 49 // Ad group ad resource names have the form: 50 // 51 // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}` 52 string resource_name = 1 [ 53 (google.api.field_behavior) = IMMUTABLE, 54 (google.api.resource_reference) = { 55 type: "googleads.googleapis.com/AdGroupAd" 56 } 57 ]; 58 59 // The status of the ad. 60 google.ads.googleads.v16.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3; 61 62 // Immutable. The ad group to which the ad belongs. 63 optional string ad_group = 9 [ 64 (google.api.field_behavior) = IMMUTABLE, 65 (google.api.resource_reference) = { 66 type: "googleads.googleapis.com/AdGroup" 67 } 68 ]; 69 70 // Immutable. The ad. 71 Ad ad = 5 [(google.api.field_behavior) = IMMUTABLE]; 72 73 // Output only. Policy information for the ad. 74 AdGroupAdPolicySummary policy_summary = 6 75 [(google.api.field_behavior) = OUTPUT_ONLY]; 76 77 // Output only. Overall ad strength for this ad group ad. 78 google.ads.googleads.v16.enums.AdStrengthEnum.AdStrength ad_strength = 7 79 [(google.api.field_behavior) = OUTPUT_ONLY]; 80 81 // Output only. A list of recommendations to improve the ad strength. For 82 // example, a recommendation could be "Try adding a few more unique headlines 83 // or unpinning some assets.". 84 repeated string action_items = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; 85 86 // Output only. The resource names of labels attached to this ad group ad. 87 repeated string labels = 10 [ 88 (google.api.field_behavior) = OUTPUT_ONLY, 89 (google.api.resource_reference) = { 90 type: "googleads.googleapis.com/AdGroupAdLabel" 91 } 92 ]; 93 94 // Output only. Provides aggregated view into why an ad group ad is not 95 // serving or not serving optimally. 96 google.ads.googleads.v16.enums.AdGroupAdPrimaryStatusEnum 97 .AdGroupAdPrimaryStatus primary_status = 16 98 [(google.api.field_behavior) = OUTPUT_ONLY]; 99 100 // Output only. Provides reasons for why an ad group ad is not serving or not 101 // serving optimally. 102 repeated google.ads.googleads.v16.enums.AdGroupAdPrimaryStatusReasonEnum 103 .AdGroupAdPrimaryStatusReason primary_status_reasons = 17 104 [(google.api.field_behavior) = OUTPUT_ONLY]; 105} 106 107// Contains policy information for an ad. 108message AdGroupAdPolicySummary { 109 // Output only. The list of policy findings for this ad. 110 repeated google.ads.googleads.v16.common.PolicyTopicEntry 111 policy_topic_entries = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 112 113 // Output only. Where in the review process this ad is. 114 google.ads.googleads.v16.enums.PolicyReviewStatusEnum.PolicyReviewStatus 115 review_status = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 116 117 // Output only. The overall approval status of this ad, calculated based on 118 // the status of its individual policy topic entries. 119 google.ads.googleads.v16.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus 120 approval_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 121} 122