Criar uma lista de usuários

Você pode usar listas de usuários nas suas campanhas de remarketing para interagir novamente com usuários que realizaram ações específicas no seu site ou app. A API Google Ads é compatível com vários tipos de listas de usuários. Este guia se concentra na criação de listas de usuários baseadas em regras usando os grupos de itens de regra definidos em Criar grupos de itens de regra.

Listas de usuários com base em regras

As listas de usuários baseadas em regras criadas com flexible_rule_user_list podem conter várias regras (inclusive_rule e exclusive_rule, unidas por inclusive_rule_operator). Cada regra é representada por uma mensagem UserListRuleInfo, que tem um campo rule_type que determina como os itens de regra dentro dos grupos de itens de regra são combinados.

Embora UserListRuleTypeEnum defina OR_OF_ANDS (forma normal disjuntiva) e AND_OF_ORS (forma normal conjuntiva), OR_OF_ANDS é o único rule_type compatível com FlexibleRuleUserListInfo (definir AND_OF_ORS retorna UserListError.RULE_TYPE_IS_NOT_SUPPORTED). Com OR_OF_ANDS, o Google Ads AND todos os itens de regra em um grupo de itens de regra. Isso significa que, para uma determinada regra, todos os itens de regra em pelo menos um grupo de itens de regra precisam corresponder para que a regra seja atendida.

Depois de definir os dois objetos UserListRuleItemGroupInfo em Criar grupos de itens de regra, combine-os em uma nova lista de usuários. O exemplo de código a seguir deixa o tipo de regra OR_OF_ANDS padrão no lugar, adiciona os dois grupos de itens de regra a um FlexibleRuleOperandInfo em FlexibleRuleUserListInfo e altera a lista de usuários:

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

Incluir usuários anteriores em uma lista baseada em regras

Você também pode incluir visitantes anteriores do site ou usuários do app em uma lista de usuários baseada em regras (disponível somente na Rede de Display) definindo o prepopulation_status da lista de usuários como REQUESTED e monitorando o progresso do processo assíncrono de pré-população verificando periodicamente o status desse campo.

O pré-enchimento só adiciona usuários dos últimos 30 dias, dependendo da membership_life_span da lista (de 1 a 540 dias) e da data em que a tag de remarketing foi adicionada. O status é atualizado para FINISHED quando a solicitação é processada ou FAILED se ela falhar.

Segmentar a lista de usuários e ajustar os lances

Depois de criar o UserList, anexe o nome do recurso a um AdGroupCriterion ou CampaignCriterion e defina bid_modifier (por exemplo, 1.25 para um aumento de 25% no lance). Para exemplos de código que mostram como segmentar uma lista de usuários e modificar lances, consulte Segmentar a lista.