Nutzerliste erstellen

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.