Como criar a lista de usuários

Para o expression_rule_user_list, é preciso fazer mais uma distinção. De padrão, o Google Ads vai AND reunir todos os itens de regra em um item de regra grupo. Isso significa que todos os itens de regra em pelo menos um grupo de itens de regra precisam corresponder para que a regra adicione um visitante à lista. Isso é chamado "forma normal disjuntiva" ou OR_OF_ANDS.

Como alternativa, você pode configurar sua lista para adicionar apenas um visitante à lista se pelo menos um item de regra em cada grupo de itens da regra for correspondente. Isso é chamada de "forma normal conjuntiva", ou AND_OF_ORS, e está disponível para expression_rule_user_list usando o Campo rule_type. Tentando usar AND_OF_ORS para um date_specific_rule_user_list vai resultar em erro.

O que fica faltando é combinar os grupos de itens da regra acima em uma nova lista de usuários. Nesse caso, vamos manter a funcionalidade OR_OF_ANDS padrão. porque foi para isso que criamos essas regras.

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 = (
    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 = 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::V17::Common::FlexibleRuleUserListInfo->new({
    inclusiveRuleOperator => AND,
    inclusiveOperands     => [
      Google::Ads::GoogleAds::V17::Common::FlexibleRuleOperandInfo->new({
          rule => Google::Ads::GoogleAds::V17::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 => []});
      

Limite por período de visita ao site

O expression_rule_user_list acima atenda às suas necessidades, mas e se você só capturar os usuários que satisfazem a regra dessa lista e acessam seu site. entre 1o de outubro e 31 de dezembro? Usedate_specific_rule_user_list.

A criação de uma date_specific_rule_user_list segue o mesmo processo que você segue para um expression_rule_user_list. Em vez de definir expression_rule_user_list da sua objeto RuleBasedUserListInfo, defina o date_specific_rule_user_list com um DateSpecificRuleUserListInfo. Este objeto conterá campos para start_date e end_date.

DateSpecificRuleUserListInfo dateSpecificRuleUserListInfo =
    DateSpecificRuleUserListInfo.newBuilder()
        .setRule(
            UserListRuleInfo.newBuilder()
                .addAllRuleItemGroups(
                    ImmutableList.of(checkoutAndCartSizeRuleGroup, checkoutDateRuleGroup)))
        .setStartDate(StringValue.of("2019-10-01"))
        .setEndDate(StringValue.of("2019-12-31"))
        .build();

A nova lista incluirá todos os usuários que atenderem às mesmas regras da anterior. lista, mas apenas se acessarem seu site entre start_date (inclusive) e end_date (inclusive).

Incluir usuários anteriores na lista

Também é possível incluir usuários antigos em uma lista de usuários baseada em regras definindo o prepopulation_status da lista de usuários para REQUESTED, e monitorar o progresso do processo de preenchimento automático assíncrono verificando periodicamente o status desse campo.

Essa opção só inclui usuários anteriores dos últimos 30 dias, dependendo do a duração da associação da lista e a data em que a tag de remarketing foi adicionada. A O status será atualizado para FINISHED quando a solicitação for processada ou FAILED se a solicitação vai falhar.