123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- // Copyright 2022 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.v11.common;
- import "google/ads/googleads/v11/enums/customer_match_upload_key_type.proto";
- import "google/ads/googleads/v11/enums/user_list_combined_rule_operator.proto";
- import "google/ads/googleads/v11/enums/user_list_crm_data_source_type.proto";
- import "google/ads/googleads/v11/enums/user_list_date_rule_item_operator.proto";
- import "google/ads/googleads/v11/enums/user_list_flexible_rule_operator.proto";
- import "google/ads/googleads/v11/enums/user_list_logical_rule_operator.proto";
- import "google/ads/googleads/v11/enums/user_list_number_rule_item_operator.proto";
- import "google/ads/googleads/v11/enums/user_list_prepopulation_status.proto";
- import "google/ads/googleads/v11/enums/user_list_rule_type.proto";
- import "google/ads/googleads/v11/enums/user_list_string_rule_item_operator.proto";
- option csharp_namespace = "Google.Ads.GoogleAds.V11.Common";
- option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/common;common";
- option java_multiple_files = true;
- option java_outer_classname = "UserListsProto";
- option java_package = "com.google.ads.googleads.v11.common";
- option objc_class_prefix = "GAA";
- option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Common";
- option ruby_package = "Google::Ads::GoogleAds::V11::Common";
- // Proto file describing user list types.
- // SimilarUserList is a list of users which are similar to users from another
- // UserList. These lists are read-only and automatically created by Google.
- message SimilarUserListInfo {
- // Seed UserList from which this list is derived.
- optional string seed_user_list = 2;
- }
- // UserList of CRM users provided by the advertiser.
- message CrmBasedUserListInfo {
- // A string that uniquely identifies a mobile application from which the data
- // was collected.
- // For iOS, the ID string is the 9 digit string that appears at the end of an
- // App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store
- // link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For
- // Android, the ID string is the application's package name (for example,
- // "com.labpixies.colordrips" for "Color Drips" given Google Play link
- // https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
- // Required when creating CrmBasedUserList for uploading mobile advertising
- // IDs.
- optional string app_id = 4;
- // Matching key type of the list.
- // Mixed data types are not allowed on the same list.
- // This field is required for an ADD operation.
- google.ads.googleads.v11.enums.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType upload_key_type = 2;
- // Data source of the list. Default value is FIRST_PARTY.
- // Only customers on the allow-list can create third-party sourced CRM lists.
- google.ads.googleads.v11.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3;
- }
- // A client defined rule based on custom parameters sent by web sites or
- // uploaded by the advertiser.
- message UserListRuleInfo {
- // Rule type is used to determine how to group rule items.
- //
- // The default is OR of ANDs (disjunctive normal form).
- // That is, rule items will be ANDed together within rule item groups and the
- // groups themselves will be ORed together.
- //
- // Currently AND of ORs (conjunctive normal form) is only supported for
- // ExpressionRuleUserList.
- google.ads.googleads.v11.enums.UserListRuleTypeEnum.UserListRuleType rule_type = 1;
- // List of rule item groups that defines this rule.
- // Rule item groups are grouped together based on rule_type.
- repeated UserListRuleItemGroupInfo rule_item_groups = 2;
- }
- // A group of rule items.
- message UserListRuleItemGroupInfo {
- // Rule items that will be grouped together based on rule_type.
- repeated UserListRuleItemInfo rule_items = 1;
- }
- // An atomic rule item.
- message UserListRuleItemInfo {
- // Rule variable name. It should match the corresponding key name fired
- // by the pixel.
- // A name must begin with US-ascii letters or underscore or UTF8 code that is
- // greater than 127 and consist of US-ascii letters or digits or underscore or
- // UTF8 code that is greater than 127.
- // For websites, there are two built-in variable URL (name = 'url__') and
- // referrer URL (name = 'ref_url__').
- // This field must be populated when creating a new rule item.
- optional string name = 5;
- // An atomic rule item.
- oneof rule_item {
- // An atomic rule item composed of a number operation.
- UserListNumberRuleItemInfo number_rule_item = 2;
- // An atomic rule item composed of a string operation.
- UserListStringRuleItemInfo string_rule_item = 3;
- // An atomic rule item composed of a date operation.
- UserListDateRuleItemInfo date_rule_item = 4;
- }
- }
- // A rule item composed of a date operation.
- message UserListDateRuleItemInfo {
- // Date comparison operator.
- // This field is required and must be populated when creating new date
- // rule item.
- google.ads.googleads.v11.enums.UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator operator = 1;
- // String representing date value to be compared with the rule variable.
- // Supported date format is YYYY-MM-DD.
- // Times are reported in the customer's time zone.
- optional string value = 4;
- // The relative date value of the right hand side denoted by number of days
- // offset from now. The value field will override this field when both are
- // present.
- optional int64 offset_in_days = 5;
- }
- // A rule item composed of a number operation.
- message UserListNumberRuleItemInfo {
- // Number comparison operator.
- // This field is required and must be populated when creating a new number
- // rule item.
- google.ads.googleads.v11.enums.UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator operator = 1;
- // Number value to be compared with the variable.
- // This field is required and must be populated when creating a new number
- // rule item.
- optional double value = 3;
- }
- // A rule item composed of a string operation.
- message UserListStringRuleItemInfo {
- // String comparison operator.
- // This field is required and must be populated when creating a new string
- // rule item.
- google.ads.googleads.v11.enums.UserListStringRuleItemOperatorEnum.UserListStringRuleItemOperator operator = 1;
- // The right hand side of the string rule item. For URLs or referrer URLs,
- // the value can not contain illegal URL chars such as newlines, quotes,
- // tabs, or parentheses. This field is required and must be populated when
- // creating a new string rule item.
- optional string value = 3;
- }
- // User lists defined by combining two rules, left operand and right operand.
- // There are two operators: AND where left operand and right operand have to be
- // true; AND_NOT where left operand is true but right operand is false.
- message CombinedRuleUserListInfo {
- // Left operand of the combined rule.
- // This field is required and must be populated when creating new combined
- // rule based user list.
- UserListRuleInfo left_operand = 1;
- // Right operand of the combined rule.
- // This field is required and must be populated when creating new combined
- // rule based user list.
- UserListRuleInfo right_operand = 2;
- // Operator to connect the two operands.
- //
- // Required for creating a combined rule user list.
- google.ads.googleads.v11.enums.UserListCombinedRuleOperatorEnum.UserListCombinedRuleOperator rule_operator = 3;
- }
- // Visitors of a page. The page visit is defined by one boolean rule expression.
- message ExpressionRuleUserListInfo {
- // Boolean rule that defines this user list. The rule consists of a list of
- // rule item groups and each rule item group consists of a list of rule items.
- // All the rule item groups are ORed or ANDed together for evaluation based on
- // rule.rule_type.
- //
- // Required for creating an expression rule user list.
- UserListRuleInfo rule = 1;
- }
- // Flexible rule that wraps the common rule and a lookback window.
- message FlexibleRuleOperandInfo {
- // List of rule item groups that defines this rule.
- // Rule item groups are grouped together.
- UserListRuleInfo rule = 1;
- // Lookback window for this rule in days. From now until X days ago.
- optional int64 lookback_window_days = 2;
- }
- // Flexible rule representation of visitors with one or multiple actions.
- message FlexibleRuleUserListInfo {
- // Operator that defines how the inclusive operands are combined.
- google.ads.googleads.v11.enums.UserListFlexibleRuleOperatorEnum.UserListFlexibleRuleOperator inclusive_rule_operator = 1;
- // Actions that are located on the inclusive side.
- // These are joined together by either AND/OR as specified by the
- // inclusive_rule_operator.
- repeated FlexibleRuleOperandInfo inclusive_operands = 2;
- // Actions that are located on the exclusive side.
- // These are joined together with OR.
- repeated FlexibleRuleOperandInfo exclusive_operands = 3;
- }
- // Representation of a userlist that is generated by a rule.
- message RuleBasedUserListInfo {
- // The status of pre-population. The field is default to NONE if not set which
- // means the previous users will not be considered. If set to REQUESTED, past
- // site visitors or app users who match the list definition will be included
- // in the list (works on the Display Network only). This will only
- // add past users from within the last 30 days, depending on the
- // list's membership duration and the date when the remarketing tag is added.
- // The status will be updated to FINISHED once request is processed, or FAILED
- // if the request fails.
- google.ads.googleads.v11.enums.UserListPrepopulationStatusEnum.UserListPrepopulationStatus prepopulation_status = 1;
- // Flexible rule representation of visitors with one or multiple actions.
- FlexibleRuleUserListInfo flexible_rule_user_list = 5;
- // Subtypes of rule based user lists.
- oneof rule_based_user_list {
- // User lists defined by combining two rules.
- // There are two operators: AND, where the left and right operands have to
- // be true; AND_NOT where left operand is true but right operand is false.
- CombinedRuleUserListInfo combined_rule_user_list = 2;
- // Visitors of a page. The page visit is defined by one boolean rule
- // expression.
- ExpressionRuleUserListInfo expression_rule_user_list = 4;
- }
- }
- // Represents a user list that is a custom combination of user lists.
- message LogicalUserListInfo {
- // Logical list rules that define this user list. The rules are defined as a
- // logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are
- // ANDed when they are evaluated.
- //
- // Required for creating a logical user list.
- repeated UserListLogicalRuleInfo rules = 1;
- }
- // A user list logical rule. A rule has a logical operator (and/or/not) and a
- // list of user lists as operands.
- message UserListLogicalRuleInfo {
- // The logical operator of the rule.
- google.ads.googleads.v11.enums.UserListLogicalRuleOperatorEnum.UserListLogicalRuleOperator operator = 1;
- // The list of operands of the rule.
- repeated LogicalUserListOperandInfo rule_operands = 2;
- }
- // Operand of logical user list that consists of a user list.
- message LogicalUserListOperandInfo {
- // Resource name of a user list as an operand.
- optional string user_list = 2;
- }
- // User list targeting as a collection of conversions or remarketing actions.
- message BasicUserListInfo {
- // Actions associated with this user list.
- repeated UserListActionInfo actions = 1;
- }
- // Represents an action type used for building remarketing user lists.
- message UserListActionInfo {
- // Subtypes of user list action.
- oneof user_list_action {
- // A conversion action that's not generated from remarketing.
- string conversion_action = 3;
- // A remarketing action.
- string remarketing_action = 4;
- }
- }
|