יצירת רשימת המשתמשים

לגבי expression_rule_user_list, צריך לציין הבחנה נוספת. כברירת מחדל, Google Ads 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 אם הבקשה תיכשל.