В ремаркетинговых кампаниях вы можете использовать списки пользователей для повторного взаимодействия с пользователями, которые совершили определенные действия на вашем веб-сайте или в приложении. API Google Ads поддерживает несколько типов списков пользователей. В этом руководстве основное внимание уделяется созданию списков пользователей на основе правил.
Списки пользователей на основе правил
Списки пользователей, созданные на основе правил с помощью flexible_rule_user_list могут содержать несколько правил. Каждое правило представлено сообщением UserListRuleInfo , которое имеет rule_type , определяющий способ объединения элементов правил в группах элементов правил.
Если rule_type имеет значение OR_OF_ANDS (по умолчанию), Google Ads будет объединять все элементы правил в группе элементов правил с помощью операции AND Это означает, что для данного правила каждый элемент правила как минимум в одной группе элементов правил должен совпадать, чтобы правило было выполнено. Это называется «дизъюнктивной нормальной формой».
В качестве альтернативы, если вы установите rule_type в значение AND_OF_ORS , то для выполнения правила необходимо, чтобы хотя бы один элемент правила в каждой группе элементов правил соответствовал условию. Это называется «конъюнктивной нормальной формой».
Осталось лишь объединить указанные выше группы элементов правил в новый список пользователей. В данном случае мы оставим функциональность OR_OF_ANDS по умолчанию, поскольку именно для этого мы и создавали эти правила.
Java
FlexibleRuleUserListInfo flexibleRuleUserListInfo = FlexibleRuleUserListInfo.newBuilder() .setInclusiveRuleOperator(UserListFlexibleRuleOperator.AND) .addInclusiveOperands( FlexibleRuleOperandInfo.newBuilder() .setRule( // The default rule_type for a UserListRuleInfo object 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. UserListRuleInfo.newBuilder() .addRuleItemGroups(checkoutDateRuleGroup) .addRuleItemGroups(checkoutAndCartSizeRuleGroup)) // Optional: includes a lookback window for this rule, in days. .setLookbackWindowDays(7L)) .build();
C#
FlexibleRuleUserListInfo flexibleRuleUserListInfo = new FlexibleRuleUserListInfo(); FlexibleRuleOperandInfo flexibleRuleOperandInfo = new FlexibleRuleOperandInfo() { Rule = new UserListRuleInfo() }; flexibleRuleOperandInfo.Rule.RuleItemGroups.Add(checkoutAndCartSizeRuleGroup); flexibleRuleOperandInfo.Rule.RuleItemGroups.Add(checkoutDateRuleGroup); flexibleRuleUserListInfo.InclusiveOperands.Add(flexibleRuleOperandInfo);
PHP
$flexibleRuleUserListInfo = new FlexibleRuleUserListInfo([ 'inclusive_rule_operator' => UserListFlexibleRuleOperator::PBAND, 'inclusive_operands' => [ new FlexibleRuleOperandInfo([ 'rule' => new UserListRuleInfo([ // The default rule_type for a UserListRuleInfo object 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. 'rule_item_groups' => [ $checkoutAndCartSizeRuleGroup, $checkoutDateRuleGroup ] ]), // Optionally add a lookback window for this rule, in days. 'lookback_window_days' => 7 ]) ], 'exclusive_operands' => [] ]);
Python
# Create a FlexibleRuleUserListInfo object, or a flexible rule # representation of visitors with one or multiple actions. # FlexibleRuleUserListInfo wraps UserListRuleInfo in a # FlexibleRuleOperandInfo object that represents which user lists to # include or exclude. flexible_rule_user_list_info: FlexibleRuleUserListInfo = ( rule_based_user_list_info.flexible_rule_user_list ) flexible_rule_user_list_info.inclusive_rule_operator = ( client.enums.UserListFlexibleRuleOperatorEnum.AND ) # The default rule_type for a UserListRuleInfo object 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. rule_operand: FlexibleRuleOperandInfo = client.get_type( "FlexibleRuleOperandInfo" ) rule_operand.rule.rule_item_groups.extend( [ checkout_and_cart_size_rule_group, checkout_date_rule_group, ] ) rule_operand.lookback_window_days = 7 flexible_rule_user_list_info.inclusive_operands.append(rule_operand)
Руби
r.flexible_rule_user_list = client.resource.flexible_rule_user_list_info do |frul| frul.inclusive_rule_operator = :AND frul.inclusive_operands << client.resource.flexible_rule_operand_info do |froi| froi.rule = client.resource.user_list_rule_info do |info| info.rule_item_groups += [checkout_date_rule_group, checkout_and_cart_size_rule_group] end # Optionally include a lookback window for this rule, in days. froi.lookback_window_days = 7 end end
Perl
my $flexible_rule_user_list_info = Google::Ads::GoogleAds::V23::Common::FlexibleRuleUserListInfo->new({ inclusiveRuleOperator => AND, inclusiveOperands => [ Google::Ads::GoogleAds::V23::Common::FlexibleRuleOperandInfo->new({ rule => Google::Ads::GoogleAds::V23::Common::UserListRuleInfo->new({ # The default rule_type for a UserListRuleInfo object 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. ruleItemGroups => [ $checkout_date_rule_group, $checkout_and_cart_size_rule_group ]} ), # Optionally include a lookback window for this rule, in days. lookback_window_days => 7 }) ], exclusiveOperands => []});
Включить бывших пользователей в список, созданный на основе правил.
Вы также можете включить бывших пользователей в список пользователей, созданный на основе правил, установив для параметра prepopulation_status списка пользователей значение REQUESTED , и отслеживать ход асинхронного процесса предварительного заполнения, периодически проверяя статус этого поля.
Эта функция добавит только пользователей, которые были зарегистрированы в течение последних 30 дней, в зависимости от продолжительности членства в списке и даты добавления тега ремаркетинга. Статус будет обновлен до FINISHED после обработки запроса или FAILED , если запрос не будет выполнен.