بالنسبة إلى 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
في حال تعذّر تنفيذ الطلب.