1 // Copyright 2018 Google LLC.
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
7 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 package google.ads.googleads.v0.common;
20 import "google/ads/googleads/v0/enums/policy_topic_entry_type.proto";
21 import "google/ads/googleads/v0/enums/policy_topic_evidence_destination_mismatch_url_type.proto";
22 import "google/protobuf/wrappers.proto";
24 option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
25 option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
26 option java_multiple_files = true;
27 option java_outer_classname = "PolicyProto";
28 option java_package = "com.google.ads.googleads.v0.common";
29 option objc_class_prefix = "GAA";
30 option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
31 option ruby_package = "Google::Ads::GoogleAds::V0::Common";
33 // Proto file describing policy information.
35 // Key of the violation. The key is used for referring to a violation
36 // when filing an exemption request.
37 message PolicyViolationKey {
38 // Unique ID of the violated policy.
39 google.protobuf.StringValue policy_name = 1;
41 // The text that violates the policy if specified.
42 // Otherwise, refers to the policy in general
43 // (e.g., when requesting to be exempt from the whole policy).
44 // If not specified for criterion exemptions, the whole policy is implied.
45 // Must be specified for ad exemptions.
46 google.protobuf.StringValue violating_text = 2;
49 // Parameter for controlling how policy checking is done.
50 message PolicyValidationParameter {
51 // The list of policy topics that should not cause a PolicyFindingError to
52 // be reported. This field is currently only compatible with Enhanced Text Ad.
53 // It corresponds to the PolicyTopicEntry.topic field.
55 // Resources violating these policies will be saved, but will not be eligible
56 // to serve. They may begin serving at a later time due to a change in
57 // policies, re-review of the resource, or a change in advertiser
59 repeated google.protobuf.StringValue ignorable_policy_topics = 1;
62 // Policy finding attached to a resource (e.g. alcohol policy associated with
63 // a site that sells alcohol).
65 // Each PolicyTopicEntry has a topic that indicates the specific ads policy
66 // the entry is about and a type to indicate the effect that the entry will have
67 // on serving. It may optionally have one or more evidences that indicate the
68 // reason for the finding. It may also optionally have one or more constraints
69 // that provide details about how serving may be restricted.
72 message PolicyTopicEntry {
73 // Policy topic this finding refers to. For example, "ALCOHOL",
74 // "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
75 // policy topics is not fixed for a particular API version and may change
77 google.protobuf.StringValue topic = 1;
79 // Describes the negative or positive effect this policy will have on serving.
80 google.ads.googleads.v0.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType
83 // Additional information that explains policy finding
84 // (e.g. the brand name for a trademark finding).
85 repeated PolicyTopicEvidence evidences = 3;
87 // Indicates how serving of this resource may be affected (e.g. not serving
89 repeated PolicyTopicConstraint constraints = 4;
92 // Additional information that explains a policy finding.
95 message PolicyTopicEvidence {
96 // A list of fragments of text that violated a policy.
100 // The fragments of text from the resource that caused the policy finding.
101 repeated google.protobuf.StringValue texts = 1;
104 // A list of websites that caused a policy finding. Used for
105 // ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more
106 // than five websites, only the top five (those that appear in resources the
107 // most) will be listed here.
110 message WebsiteList {
111 // Websites that caused the policy finding.
112 repeated google.protobuf.StringValue websites = 1;
115 // A list of strings found in a destination page that caused a policy
119 message DestinationTextList {
120 // List of text found in the resource's destination page.
121 repeated google.protobuf.StringValue destination_texts = 1;
124 // Evidence of mismatches between the URLs of a resource.
127 message DestinationMismatch {
128 // The set of URLs that did not match each other.
129 repeated google.ads.googleads.v0.enums
130 .PolicyTopicEvidenceDestinationMismatchUrlTypeEnum
131 .PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1;
134 // Specific evidence information depending on the evidence type.
136 // HTTP code returned when the final URL was crawled.
137 google.protobuf.Int32Value http_code = 2;
139 // List of websites linked with this resource.
140 WebsiteList website_list = 3;
142 // List of evidence found in the text of a resource.
143 TextList text_list = 4;
145 // The language the resource was detected to be written in.
146 // This is an IETF language tag such as "en-US".
147 google.protobuf.StringValue language_code = 5;
149 // The text in the destination of the resource that is causing a policy
151 DestinationTextList destination_text_list = 6;
153 // Mismatch between the destinations of a resource's URLs.
154 DestinationMismatch destination_mismatch = 7;
158 // Describes the effect on serving that a policy topic entry will have.
161 message PolicyTopicConstraint {
162 // A list of countries where a resource's serving is constrained.
165 message CountryConstraintList {
166 // Total number of countries targeted by the resource.
167 google.protobuf.Int32Value total_targeted_countries = 1;
169 // Countries in which serving is restricted.
170 repeated CountryConstraint countries = 2;
173 // Indicates that a policy topic was constrained due to disapproval of the
174 // website for reseller purposes.
177 message ResellerConstraint {}
179 // Indicates that a resource's ability to serve in a particular country is
183 message CountryConstraint {
184 // Geo target constant resource name of the country in which serving is
186 google.protobuf.StringValue country_criterion = 1;
189 // Specific information about the constraint.
191 // Countries where the resource cannot serve.
192 CountryConstraintList country_constraint_list = 1;
194 // Reseller constraint.
195 ResellerConstraint reseller_constraint = 2;
197 // Countries where a certificate is required for serving.
198 CountryConstraintList certificate_missing_in_country_list = 3;
200 // Countries where the resource's domain is not covered by the
201 // certificates associated with it.
202 CountryConstraintList certificate_domain_mismatch_in_country_list = 4;