Nutzerliste erstellen

Bei expression_rule_user_list ist eine zusätzliche Unterscheidung erforderlich. Standardmäßig werden in Google Ads alle Regelelemente in einer Regelelementgruppe AND. Das bedeutet, dass alle Regelelemente in mindestens einer Regelelementgruppe übereinstimmen müssen, damit die Regel einen Besucher der Liste hinzufügt. 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. Dieser Ausdruck 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 eine 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 behalten wir die Standardfunktion von OR_OF_ANDS bei, da wir diese Regeln genau dafür entwickelt 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::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 => []});
      

Frühere Nutzer in die Liste einschließen

Sie können auch frühere Nutzer in eine regelbasierte Nutzerliste aufnehmen, indem Sie das Feld prepopulation_status der Nutzerliste auf REQUESTED festlegen. Den Fortschritt des asynchronen Vorauffüllungsprozesses können Sie überwachen, indem Sie regelmäßig den Status dieses Felds prüfen.

Je nach Dauer der Mitgliedschaft in der Liste und dem Datum, an dem das Remarketing-Tag hinzugefügt wird, werden nur Nutzer aus den letzten 30 Tagen hinzugefügt. Der Status wird zu FINISHED aktualisiert, sobald die Anfrage verarbeitet wurde, oder zu FAILED, wenn die Anfrage fehlschlägt.