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

بالنسبة إلى 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::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 => []});
      

الحدّ حسب النطاق الزمني لزيارة الموقع الإلكتروني

تلبيexpression_rule_user_list أعلاه احتياجاتك، ولكن ماذا لو أردت فقط جذب المستخدمين الذين يستوفون القاعدة في تلك القائمة وزيارة موقعك الإلكتروني بين 1 تشرين الأول (أكتوبر) و31 كانون الأول (ديسمبر)؟ استخدِم date_specific_rule_user_list.

يتبع إنشاء date_specific_rule_user_list العملية نفسها التي تتبعها في expression_rule_user_list. بدلاً من ضبط الحقل expression_rule_user_list لكائن RuleBasedUserListInfo، عليك ضبط الحقل date_specific_rule_user_list باستخدام عنصر DateSpecificRuleUserListInfo. سيحتوي هذا الكائن على حقلَي start_date و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();

ستتضمّن القائمة الجديدة جميع المستخدمين الذين يستوفون القواعد نفسها مثل القائمة السابقة، ولكن فقط إذا زاروا موقعك الإلكتروني في الفترة من start_date (ضمنًا) إلى end_date (شاملة).

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

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

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