Für expression_rule_user_list
ist eine zusätzliche Unterscheidung erforderlich. In Google Ads werden alle Regelelemente in einer entsprechenden Gruppe standardmäßig nach dem AND
-Prinzip kombiniert. Das bedeutet, dass jedes Regelelement in mindestens einer Regelelementgruppe übereinstimmen muss, damit ein Besucher über die Regel der Liste hinzugefügt wird. Dies wird als disjunktive Normalform oder OR_OF_ANDS
bezeichnet.
Sie könnten die Liste stattdessen auch so einrichten, dass ein Besucher nur dann hinzugefügt wird, wenn mindestens ein Regelelement in jeder Regelelementgruppe übereinstimmt. Dies wird als konjunktive Normalform oder AND_OF_ORS
bezeichnet und ist für expression_rule_user_list
über das Feld rule_type
verfügbar. Der Versuch, AND_OF_ORS
für ein date_specific_rule_user_list
zu verwenden, führt zu einem Fehler.
Jetzt müssen nur noch die Regelelementgruppen von oben in einer neuen Nutzerliste kombiniert werden: In diesem Fall können wir die OR_OF_ANDS
-Standardfunktion beibehalten, da wir diese Regeln dafür erstellt haben.
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 => []});
Beschränkung auf den Zeitraum
Die expression_rule_user_list
oben entspricht Ihren Anforderungen. Aber was ist, wenn Sie nur die Nutzer erfassen möchten, die die Regel in der Liste erfüllen und Ihre Website zwischen dem 1. Oktober und dem 31. Dezember besuchen? Verwenden Sie date_specific_rule_user_list
.
Für das Erstellen eines date_specific_rule_user_list
gehen Sie genauso vor wie beim Erstellen von expression_rule_user_list
. Anstatt das Feld expression_rule_user_list
des RuleBasedUserListInfo
-Objekts festzulegen, legen Sie das Feld date_specific_rule_user_list
mit einem DateSpecificRuleUserListInfo
-Objekt fest.
Dieses Objekt enthält Felder für start_date
und 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();
Die neue Liste enthält alle Nutzer, die dieselben Regeln wie die vorherige Liste erfüllen, aber nur, wenn sie Ihre Website zwischen start_date
(einschließlich) und end_date
(einschließlich) besuchen.
Frühere Nutzer in die Liste einschließen
Sie können auch frühere Nutzer in eine regelbasierte Nutzerliste aufnehmen. Dazu setzen Sie den prepopulation_status
der Nutzerliste auf REQUESTED
. Den Fortschritt des asynchronen Vorabausfüllens können Sie außerdem beobachten, indem Sie den Status dieses Feldes regelmäßig prüfen.
Dadurch werden nur Nutzer der letzten 30 Tage hinzugefügt. Dies hängt von der Gültigkeitsdauer der Liste und dem Datum ab, an dem das Remarketing-Tag hinzugefügt wurde. Der Status wird auf FINISHED
aktualisiert, sobald die Anfrage verarbeitet wurde, oder auf FAILED
, wenn die Anfrage fehlschlägt.