Création de la liste d'utilisateurs

Pour expression_rule_user_list, il existe une autre distinction à faire. Par défaut, Google Ads AND regroupe tous les éléments de règle d'un groupe. Cela signifie que chaque élément de règle d'au moins un groupe d'éléments de règle doit correspondre pour que la règle ajoute un visiteur à la liste. C'est ce qu'on appelle la "forme normale disjonctive" ou OR_OF_ANDS.

Vous pouvez également configurer votre liste de façon à n'ajouter un visiteur à la liste que si au moins un élément de règle dans chaque groupe d'éléments de règle correspond. Cette méthode est appelée "forme normale conjonctive" ou AND_OF_ORS. Elle est disponible pour expression_rule_user_list à l'aide du champ rule_type. Si vous essayez d'utiliser AND_OF_ORS pour date_specific_rule_user_list, une erreur est renvoyée.

Il ne vous reste plus qu'à combiner les groupes d'éléments de règle ci-dessus dans une nouvelle liste d'utilisateurs. Dans ce cas, nous allons conserver la fonctionnalité OR_OF_ANDS par défaut, car c'est pour cela que nous avons créé ces règles.

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

Limiter par période de visite du site

Le expression_rule_user_list ci-dessus répond à vos besoins, mais que faire si vous souhaitez ne capturer que les utilisateurs qui respectent la règle de cette liste et qui visitent votre site entre le 1er octobre et le 31 décembre ? Utilisez date_specific_rule_user_list.

La création d'un date_specific_rule_user_list suit le même processus que pour une expression_rule_user_list. Au lieu de définir le champ expression_rule_user_list de votre objet RuleBasedUserListInfo, définissez le champ date_specific_rule_user_list avec un objet DateSpecificRuleUserListInfo. Cet objet contiendra des champs pour start_date et 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();

La nouvelle liste contient tous les utilisateurs qui répondent aux mêmes règles que la liste précédente, mais seulement s'ils accèdent à votre site entre le start_date (inclus) et le end_date (inclus).

Inclure les anciens utilisateurs dans la liste

Vous pouvez également inclure les anciens utilisateurs dans une liste d'utilisateurs basée sur des règles en définissant le prepopulation_status de la liste sur REQUESTED, et surveiller la progression du processus de préremplissage asynchrone en vérifiant régulièrement l'état de ce champ.

Seuls les utilisateurs ayant eu lieu au cours des 30 derniers jours seront ajoutés, en fonction de la durée de validité de l'inscription de la liste et de la date d'ajout de la balise de remarketing. L'état est mis à jour sur FINISHED une fois la requête traitée ou sur FAILED si celle-ci échoue.