Kullanıcı Listesi Oluşturma

expression_rule_user_list için dikkat edilmesi gereken başka bir nokta vardır. Varsayılan olarak Google Ads, bir kural öğesi grubundaki tüm kural öğelerini AND birlikte gruplandırır. Yani kuralın ziyaretçiyi listeye eklemesi için en az bir kural öğesi grubundaki her kural öğesinin eşleşmesi gerekir. Buna "disjunctive normal form" (disjunctive normal form) veya OR_OF_ANDS denir.

Alternatif olarak, listenizi yalnızca her kural öğesi grubunda en az bir kural öğesi eşleşirse ziyaretçi ekleyecek şekilde ayarlayabilirsiniz. Buna "birleştirici normal biçim" veya AND_OF_ORS denir ve rule_type alanı kullanılarak expression_rule_user_list için kullanılabilir. date_specific_rule_user_list için AND_OF_ORS kullanmaya çalışmak hataya neden olur.

Geriye kalan tek şey, yukarıdaki kural öğesi gruplarını yeni bir kullanıcı listesinde birleştirmektir. Bu durumda, bu kuralları bu amaç doğrultusunda oluşturduğumuz için varsayılan OR_OF_ANDS işlevini etkin durumda bırakacağız.

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

Listeye geçmişteki kullanıcıları dahil etme

Ayrıca, kullanıcı listesinin prepopulation_status değerini REQUESTED olarak ayarlayarak geçmiş kullanıcıları kurala dayalı bir kullanıcı listesine dahil edebilir ve bu alanın durumunu düzenli olarak kontrol ederek asenkron ön doldurma işleminin ilerleme durumunu izleyebilirsiniz.

Bu işlem, listenin üyelik süresine ve yeniden pazarlama etiketinin eklenme tarihine bağlı olarak yalnızca son 30 gün içindeki eski kullanıcıları ekler. İstek işlendikten sonra durum FINISHED olarak, istekte başarısız olunursa FAILED olarak güncellenir.