Списки пользователей можно использовать в кампаниях ремаркетинга, чтобы повторно привлекать пользователей, которые выполнили определенные действия на вашем сайте или в приложении. Google Ads API поддерживает несколько типов списков пользователей. В этом руководстве рассказывается, как создавать списки пользователей на основе правил, используя группы элементов правил, описанные в разделе Создание групп элементов правил.
Списки пользователей на основе правил
Списки пользователей на основе правил, созданные с помощью flexible_rule_user_list, могут содержать несколько правил (inclusive_rule и exclusive_rule, объединенных с помощью inclusive_rule_operator). Каждое правило представлено сообщением UserListRuleInfo, в котором есть поле rule_type, определяющее, как объединяются элементы правил в группах позиций.
Хотя UserListRuleTypeEnum определяет и OR_OF_ANDS (дизъюнктивная нормальная форма), и AND_OF_ORS (конъюнктивная нормальная форма), OR_OF_ANDS – единственная поддерживаемая rule_type для FlexibleRuleUserListInfo (настройка AND_OF_ORS возвращает UserListError.RULE_TYPE_IS_NOT_SUPPORTED). При использовании OR_OF_ANDS Google Реклама объединяет оператором AND все элементы в группе элементов правила. Это означает, что для выполнения правила должны совпадать все элементы правила хотя бы в одной группе элементов правила.
После того как вы определили два объекта UserListRuleItemGroupInfo в разделе Создание групп элементов правил, объедините их в новый список пользователей.
В следующем примере кода тип правила по умолчанию OR_OF_ANDS не изменяется, обе группы позиций правила добавляются в FlexibleRuleOperandInfo в FlexibleRuleUserListInfo, а список пользователей изменяется:
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)
Ruby
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::V26::Common::FlexibleRuleUserListInfo->new({ inclusiveRuleOperator => AND, inclusiveOperands => [ Google::Ads::GoogleAds::V26::Common::FlexibleRuleOperandInfo->new({ rule => Google::Ads::GoogleAds::V26::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 => []});
curl
Как включить в список на основе правил пользователей, которые уже посещали ваш сайт
Вы также можете включить в список пользователей на основе правил (поддерживается только в контекстно-медийной сети) тех, кто ранее посещал ваш сайт или пользовался вашим приложением. Для этого задайте для поля prepopulation_status списка пользователей значение REQUESTED и отслеживайте ход асинхронного процесса предварительного заполнения, периодически проверяя статус этого поля.
При автоматическом заполнении в список добавляются только пользователи, которые посещали ваш сайт в течение последних 30 дней. Это зависит от membership_life_span (от 1 до 540 дней) и даты добавления тега ремаркетинга. После обработки запроса статус изменится на FINISHED, а в случае ошибки – на FAILED.
Настройте таргетинг на список пользователей и скорректируйте ставки
Создав UserList, добавьте его название ресурса в AdGroupCriterion или CampaignCriterion и задайте bid_modifier (например, 1.25 для увеличения ставки на 25 %). Примеры кода, демонстрирующие, как настроить таргетинг на список пользователей и изменить ставки, приведены в разделе Настройка таргетинга на список.