إنشاء قائمة المستخدمين

بالنسبة إلى expression_rule_user_list، هناك فرق إضافي يجب توضيحه. بشكلٍ تلقائي، ستُجمِّع "إعلانات Google"AND كلّ عناصر القاعدة في مجموعة عناصر القاعدة. وهذا يعني أنّه يجب أن يتطابق كل عنصر من عناصر القاعدة في مجموعة عناصر قاعدة واحدة على الأقل لكي تضيف القاعدة زائرًا إلى القائمة. ويُطلَق على ذلك اسم "الشكل العادي الافتراضي" أو OR_OF_ANDS.

بدلاً من ذلك، يمكنك إعداد قائمتك لإضافة زائر إلى القائمة فقط إذا كان هناك تطابق بين عنصر قاعدة واحد على الأقل في كل مجموعة عناصر قاعدة. يُعرف هذا الأسلوب باسم "الشكل العادي التجميعي"، أو AND_OF_ORS، وهو متاح لـ expression_rule_user_list باستخدام الحقل rule_type. ستؤدي محاولة استخدام AND_OF_ORS بدلاً من date_specific_rule_user_list إلى حدوث خطأ.

كل ما عليك فعله الآن هو دمج مجموعات عناصر القواعد أعلاه في قائمة مستخدمين جديدة. في هذه الحالة، سنترك وظيفة OR_OF_ANDS التلقائية مفعّلة، لأنّنا وضعنا هذه القواعد لهذا الغرض.

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 => []});
      

تضمين المستخدمين السابقين في القائمة

يمكنك أيضًا تضمين المستخدمين السابقين في قائمة مستخدمين مستندة إلى القواعد من خلال ضبط قيمة الحقل prepopulation_status لقائمة المستخدمين على REQUESTED، ومراقبة مستوى تقدّم عملية الملء المُسبَق غير المتزامنة من خلال التحقّق بشكل دوري من حالة هذا الحقل.

ولن يؤدي ذلك إلى إضافة سوى المستخدِمين السابقين خلال آخر 30 يومًا، استنادًا إلى مدة العضوية في القائمة وتاريخ إضافة علامة تجديد النشاط التسويقي. سيتم تعديل الحالة إلى FINISHED بعد معالجة الطلب، أو FAILED في حال تعذّر معالجة الطلب.