// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.ads.googleads.v4.common; import "google/ads/googleads/v4/enums/targeting_dimension.proto"; import "google/protobuf/wrappers.proto"; import "google/api/annotations.proto"; option csharp_namespace = "Google.Ads.GoogleAds.V4.Common"; option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v4/common;common"; option java_multiple_files = true; option java_outer_classname = "TargetingSettingProto"; option java_package = "com.google.ads.googleads.v4.common"; option objc_class_prefix = "GAA"; option php_namespace = "Google\\Ads\\GoogleAds\\V4\\Common"; option ruby_package = "Google::Ads::GoogleAds::V4::Common"; // Proto file describing TargetingSetting // Settings for the targeting-related features, at the campaign and ad group // levels. For more details about the targeting setting, visit // https://support.google.com/google-ads/answer/7365594 message TargetingSetting { // The per-targeting-dimension setting to restrict the reach of your campaign // or ad group. repeated TargetRestriction target_restrictions = 1; // The list of operations changing the target restrictions. // // Adding a target restriction with a targeting dimension that already exists // causes the existing target restriction to be replaced with the new value. repeated TargetRestrictionOperation target_restriction_operations = 2; } // The list of per-targeting-dimension targeting settings. message TargetRestriction { // The targeting dimension that these settings apply to. google.ads.googleads.v4.enums.TargetingDimensionEnum.TargetingDimension targeting_dimension = 1; // Indicates whether to restrict your ads to show only for the criteria you // have selected for this targeting_dimension, or to target all values for // this targeting_dimension and show ads based on your targeting in other // TargetingDimensions. A value of `true` means that these criteria will only // apply bid modifiers, and not affect targeting. A value of `false` means // that these criteria will restrict targeting as well as applying bid // modifiers. google.protobuf.BoolValue bid_only = 2; } // Operation to be performed on a target restriction list in a mutate. message TargetRestrictionOperation { // The operator. enum Operator { // Unspecified. UNSPECIFIED = 0; // Used for return value only. Represents value unknown in this version. UNKNOWN = 1; // Add the restriction to the existing restrictions. ADD = 2; // Remove the restriction from the existing restrictions. REMOVE = 3; } // Type of list operation to perform. Operator operator = 1; // The target restriction being added to or removed from the list. TargetRestriction value = 2; }