Crea grupos de elementos de regla

En esta guía, se muestra cómo crear los dos grupos de elementos de regla que se describen en el escenario de ejemplo.

Crea el primer grupo de elementos de regla

Comienza por crear el primer rule_item_group, que consta de dos campos rule_item (objetos UserListRuleItemInfo):

  • Usuarios que visitaron la página de confirmación de compra.
  • Usuarios con más de un artículo en su carrito de compras

El primer elemento de la regla usa el parámetro de cadena ecomm_pagetype con el operador EQUALS, por lo que primero debes crear un string_rule_item:

Java

UserListRuleItemInfo checkoutRule =
    UserListRuleItemInfo.newBuilder()
        // The rule variable name must match a corresponding key name fired from a pixel.
        // To learn more about setting up remarketing tags, visit
        // https://support.google.com/google-ads/answer/2476688.
        // To learn more about remarketing events and parameters, visit
        // https://support.google.com/google-ads/answer/7305793.
        .setName("ecomm_pagetype")
        .setStringRuleItem(
            UserListStringRuleItemInfo.newBuilder()
                .setOperator(UserListStringRuleItemOperator.EQUALS)
                .setValue("checkout")
                .build())
        .build();
      

C#

UserListRuleItemInfo checkoutRule = new UserListRuleItemInfo
{
    // The rule variable name must match a corresponding key name fired from a pixel.
    // To learn more about setting up remarketing tags, visit
    // https://support.google.com/google-ads/answer/2476688.
    // To learn more about remarketing events and parameters, visit
    // https://support.google.com/google-ads/answer/7305793.
    Name = "ecomm_pagetype",
    StringRuleItem = new UserListStringRuleItemInfo
    {
        Operator = UserListStringRuleItemOperator.Equals,
        Value = "checkout"
    }
};
      

PHP

$checkoutRule = new UserListRuleItemInfo(
    [
    // The rule variable name must match a corresponding key name fired from a pixel.
    // To learn more about setting up remarketing tags, visit
    // https://support.google.com/google-ads/answer/2476688.
    // To learn more about remarketing events and parameters, visit
    // https://support.google.com/google-ads/answer/7305793.
    'name' => 'ecomm_pagetype',
    'string_rule_item' => new UserListStringRuleItemInfo(
        [
        'operator' => UserListStringRuleItemOperator::EQUALS,
        'value' => 'checkout'
        ]
    )
    ]
);
      

Python

checkout_rule: UserListRuleItemInfo = client.get_type(
    "UserListRuleItemInfo"
)

# The rule variable name must match a corresponding key name fired from a
# pixel. To learn more about setting up remarketing tags, visit:
# https://support.google.com/google-ads/answer/2476688.
#
# To learn more about remarketing events and parameters, visit:
# https://support.google.com/google-ads/answer/7305793.
checkout_rule.name = "ecomm_pagetype"
checkout_string_rule_item: UserListStringRuleItemInfo = (
    checkout_rule.string_rule_item
)
checkout_string_rule_item.operator = (
    client.enums.UserListStringRuleItemOperatorEnum.EQUALS
)
checkout_string_rule_item.value = "checkout"
      

Ruby

checkout_rule = client.resource.user_list_rule_item_info do |rule|
  # The rule variable name must match a corresponding key name fired
  # from a pixel.
  # To learn more about setting up remarketing tags, visit
  # https://support.google.com/google-ads/answer/2476688.
  # To learn more about remarketing events and parameters, visit
  # https://support.google.com/google-ads/answer/7305793.
  rule.name = "ecomm_pagetype"
  rule.string_rule_item = client.resource.user_list_string_rule_item_info do |sr|
    sr.operator = :EQUALS
    sr.value = "checkout"
  end
end
      

Perl

my $checkout_rule =
  Google::Ads::GoogleAds::V25::Common::UserListRuleItemInfo->new({
    # The rule variable name must match a corresponding key name fired from a
    # pixel. To learn more about setting up remarketing tags, visit
    # https://support.google.com/google-ads/answer/2476688.
    # To learn more about remarketing events and parameters, visit
    # https://support.google.com/google-ads/answer/7305793.
    name           => "ecomm_pagetype",
    stringRuleItem =>
      Google::Ads::GoogleAds::V25::Common::UserListStringRuleItemInfo->new({
        operator => EQUALS,
        value    => "checkout"
      })});
      

curl

El segundo elemento de la regla usa el parámetro numérico cart_size con el operador GREATER_THAN, por lo que, a continuación, crea un number_rule_item:

Java

UserListRuleItemInfo cartSizeRule =
    UserListRuleItemInfo.newBuilder()
        // The rule variable name must match a corresponding key name fired from a pixel.
        .setName("cart_size")
        .setNumberRuleItem(
            UserListNumberRuleItemInfo.newBuilder()
                .setOperator(UserListNumberRuleItemOperator.GREATER_THAN)
                .setValue(1.0)
                .build())
        .build();
      

C#

UserListRuleItemInfo cartSizeRule = new UserListRuleItemInfo
{
    // The rule variable name must match a corresponding key name fired from a pixel.
    Name = "cart_size",
    NumberRuleItem = new UserListNumberRuleItemInfo
    {
        Operator = UserListNumberRuleItemOperator.GreaterThan,
        Value = 1.0
    }
};
      

PHP

$cartSizeRule = new UserListRuleItemInfo(
    [
    // The rule variable name must match a corresponding key name fired from a pixel.
    'name' => 'cart_size',
    'number_rule_item' => new UserListNumberRuleItemInfo(
        [
        'operator' => UserListNumberRuleItemOperator::GREATER_THAN,
        'value' => 1.0
        ]
    )
    ]
);
      

Python

cart_size_rule: UserListRuleItemInfo = client.get_type(
    "UserListRuleItemInfo"
)
# The rule variable name must match a corresponding key name fired from a
# pixel.
cart_size_rule.name = "cart_size"
cart_size_number_rule_item: UserListNumberRuleItemInfo = (
    cart_size_rule.number_rule_item
)
cart_size_number_rule_item.operator = (
    client.enums.UserListNumberRuleItemOperatorEnum.GREATER_THAN
)
cart_size_number_rule_item.value = 1.0
      

Ruby

cart_size_rule = client.resource.user_list_rule_item_info do |rule|
  # The rule variable name must match a corresponding key name fired
  # from a pixel.
  rule.name = "cart_size"
  rule.number_rule_item = client.resource.user_list_number_rule_item_info do |nr|
    nr.operator = :GREATER_THAN
    nr.value = 1.0
  end
end
      

Perl

my $cart_size_rule =
  Google::Ads::GoogleAds::V25::Common::UserListRuleItemInfo->new({
    # The rule variable name must match a corresponding key name fired from a
    # pixel.
    name           => "cart_size",
    numberRuleItem =>
      Google::Ads::GoogleAds::V25::Common::UserListNumberRuleItemInfo->new({
        # Available UserListNumberRuleItemOperators can be found at
        # https://developers.google.com/google-ads/api/reference/rpc/latest/UserListNumberRuleItemOperatorEnum.UserListNumberRuleItemOperator
        operator => GREATER_THAN,
        value    => 1.0
      })});
      

curl

A continuación, combina los dos elementos de regla en un objeto UserListRuleItemGroupInfo. De forma predeterminada, cuando los elementos se combinan en un grupo de elementos de regla, Google Ads une sus reglas con una operación AND. Consulta Crea una lista de usuarios para obtener más detalles.

Java

UserListRuleItemGroupInfo checkoutAndCartSizeRuleGroup =
    UserListRuleItemGroupInfo.newBuilder()
        .addAllRuleItems(ImmutableList.of(checkoutRule, cartSizeRule))
        .build();
      

C#

UserListRuleItemGroupInfo checkoutAndCartSizeRuleGroup =
    new UserListRuleItemGroupInfo();
checkoutAndCartSizeRuleGroup.RuleItems.Add(checkoutRule);
checkoutAndCartSizeRuleGroup.RuleItems.Add(cartSizeRule);
      

PHP

$checkoutAndCartSizeRuleGroup = new UserListRuleItemGroupInfo(
    [
    'rule_items' => [$checkoutRule, $cartSizeRule]
    ]
);
      

Python

checkout_and_cart_size_rule_group.rule_items.extend(
    [
        checkout_rule,
        cart_size_rule,
    ]
)
      

Ruby

  checkout_and_cart_size_rule_group = client.resource.user_list_rule_item_group_info do |g|
    g.rule_items += [checkout_rule, cart_size_rule]
  end

  # Create the RuleItem for checkout start date.
  # The tags and keys used below must have been in place in the past for the
  # date range specified in the rules.
  start_date_rule = client.resource.user_list_rule_item_info do |rule|
    # The rule variable name must match a corresponding key name fired
    # from a pixel.
    rule.name = "checkoutdate"
    rule.date_rule_item = client.resource.user_list_date_rule_item_info do |dr|
      dr.operator = :AFTER
      dr.value = "20191031"
    end
  end

  # Create the RuleItem for checkout end date.
  end_date_rule = client.resource.user_list_rule_item_info do |rule|
    # The rule variable name must match a corresponding key name fired
    # from a pixel.
    rule.name = "checkoutdate"
    rule.date_rule_item = client.resource.user_list_date_rule_item_info do |dr|
      dr.operator = :BEFORE
      dr.value = "20200101"
    end
  end

  # Creates a rule group targeting users who checked out between
  # November and December by using the start and end date rules.
  # Combining the two rule items into a user_list_rule_item_group_info
  # object causes Google Ads to AND their rules together.
  # To instead OR the rules together, each rule should be placed in its
  # own rule item group.
  checkout_date_rule_group = client.resource.user_list_rule_item_group_info do |g|
    g.rule_items += [start_date_rule, end_date_rule]
  end

  # Creates the user list operation.
  operation = client.operation.create_resource.user_list do |ul|
    ul.name = "My expression rule user list ##{(Time.new.to_f * 1000).to_i}"
    ul.description = "Users who checked out in November or December OR visited " \
      "the checkout page with more than one item in their cart"
    ul.membership_status = :OPEN
    ul.membership_life_span = 90
    ul.rule_based_user_list = client.resource.rule_based_user_list_info do |r|
      # Optional: To include past users in the user list, set the
      # prepopulation_status to REQUESTED.
      r.prepopulation_status = :REQUESTED
      # Create a flexible_rule_user_list 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.
      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
    end
  end

  # Issues a muate request to create the user list.
  response = client.service.user_list.mutate_user_lists(
    customer_id: customer_id,
    operations: [operation],
  )
  puts "Created user list with resource name '#{response.results.first.resource_name}'"
end

if __FILE__ == $0
  options = {}

  # Running the example with -h will print the command line usage.
  OptionParser.new do |opts|
    opts.banner = sprintf('Usage: %s [options]', File.basename(__FILE__))

    opts.separator ''
    opts.separator 'Options:'

    opts.on('-C', '--customer-id CUSTOMER-ID', String, 'Customer ID') do |v|
      options[:customer_id] = v
    end

    opts.separator ''
    opts.separator 'Help:'

    opts.on_tail('-h', '--help', 'Show this message') do
      puts opts
      exit
    end
  end.parse!

  begin
    set_up_advanced_remarketing(options.fetch(:customer_id).tr("-", ""))
  rescue Google::Ads::GoogleAds::Errors::GoogleAdsError => e
    e.failure.errors.each do |error|
      STDERR.printf("Error with message: %s\n", error.message)
      if error.location
        error.location.field_path_elements.each do |field_path_element|
          STDERR.printf("\tOn field: %s\n", field_path_element.field_name)
        end
      end
      error.error_code.to_h.each do |k, v|
        next if v == :UNSPECIFIED
        STDERR.printf("\tType: %s\n\tCode: %s\n", k, v)
      end
    end
    raise
  end
end

      

Perl

my $checkout_and_cart_size_rule_group =
  Google::Ads::GoogleAds::V25::Common::UserListRuleItemGroupInfo->new(
  {ruleItems => [$checkout_rule, $cart_size_rule]});
      

curl

Crea el segundo grupo de elementos de regla

El segundo rule_item_group también consta de dos campos rule_item (objetos UserListRuleItemInfo):

  • Usuarios que finalizaron la compra después del 31 de octubre (operador AFTER).
  • Usuarios que finalizaron la compra antes del 1 de enero (operador BEFORE)

Ambos elementos de regla usan el parámetro checkoutdate, que tiene valores de fecha. Propaga los campos date_rule_item con objetos UserListDateRuleItemInfo formateados como YYYYMMDD (evaluados en la zona horaria de la cuenta).

Primero, define la fecha de inicio ("20191031"):

Java

UserListRuleItemInfo startDateRule =
    UserListRuleItemInfo.newBuilder()
        // The rule variable name must match a corresponding key name fired from a pixel.
        .setName("checkoutdate")
        .setDateRuleItem(
            UserListDateRuleItemInfo.newBuilder()
                // Available UserListDateRuleItemOperators can be found at
                // https://developers.google.com/google-ads/api/reference/rpc/latest/UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator
                .setOperator(UserListDateRuleItemOperator.AFTER)
                .setValue("20191031")
                .build())
        .build();
      

C#

UserListRuleItemInfo startDateRule = new UserListRuleItemInfo
{
    // The rule variable name must match a corresponding key name fired from a pixel.
    Name = "checkoutdate",
    DateRuleItem = new UserListDateRuleItemInfo
    {
        // Available UserListDateRuleItemOperators can be found at
        // https://developers.google.com/google-ads/api/reference/rpc/latest/UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator
        Operator = UserListDateRuleItemOperator.After,
        Value = "20191031"
    }
};
      

PHP

$startDateRule = new UserListRuleItemInfo(
    [
    // The rule variable name must match a corresponding key name fired from a pixel.
    'name' => 'checkoutdate',
    'date_rule_item' => new UserListDateRuleItemInfo(
        [
        // Available UserListDateRuleItemOperators can be found at
        // https://developers.google.com/google-ads/api/reference/rpc/latest/UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator
        'operator' => UserListDateRuleItemOperator::AFTER,
        'value' => '20191031'
        ]
    )
    ]
);
      

Python

start_date_rule: UserListRuleItemInfo = client.get_type(
    "UserListRuleItemInfo"
)
start_date_rule.name = "checkoutdate"
start_date_rule_item: UserListDateRuleItemInfo = (
    start_date_rule.date_rule_item
)
# Available UserListDateRuleItemOperators can be found at:
# https://developers.google.com/google-ads/api/reference/rpc/latest/UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator
user_list_data_rule_item_operator_enum: UserListDateRuleItemOperatorEnum = (
    client.enums.UserListDateRuleItemOperatorEnum
)
start_date_rule_item.operator = user_list_data_rule_item_operator_enum.AFTER
start_date_rule_item.value = "20191031"
      

Ruby

start_date_rule = client.resource.user_list_rule_item_info do |rule|
  # The rule variable name must match a corresponding key name fired
  # from a pixel.
  rule.name = "checkoutdate"
  rule.date_rule_item = client.resource.user_list_date_rule_item_info do |dr|
    dr.operator = :AFTER
    dr.value = "20191031"
  end
end
      

Perl

my $start_date_rule =
  Google::Ads::GoogleAds::V25::Common::UserListRuleItemInfo->new({
    # The rule variable name must match a corresponding key name fired from a
    # pixel.
    name         => "checkoutdate",
    dateRuleItem =>
      Google::Ads::GoogleAds::V25::Common::UserListDateRuleItemInfo->new({
        # Available UserListDateRuleItemOperators can be found at
        # https://developers.google.com/google-ads/api/reference/rpc/latest/UserListDateRuleItemOperatorEnum.UserListDateRuleItemOperator
        operator => AFTER,
        value    => "20191031"
      })});
      

curl

A continuación, define la fecha de finalización ("20200101"):

Java

UserListRuleItemInfo endDateRule =
    UserListRuleItemInfo.newBuilder()
        // The rule variable name must match a corresponding key name fired from a pixel.
        .setName("checkoutdate")
        .setDateRuleItem(
            UserListDateRuleItemInfo.newBuilder()
                .setOperator(UserListDateRuleItemOperator.BEFORE)
                .setValue("20200101")
                .build())
        .build();
      

C#

UserListRuleItemInfo endDateRule = new UserListRuleItemInfo
{
    // The rule variable name must match a corresponding key name fired from a pixel.
    Name = "checkoutdate",
    DateRuleItem = new UserListDateRuleItemInfo
    {
        Operator = UserListDateRuleItemOperator.Before,
        Value = "20200101"
    }
};
      

PHP

$endDateRule = new UserListRuleItemInfo(
    [
    // The rule variable name must match a corresponding key name fired from a pixel.
    'name' => 'checkoutdate',
    'date_rule_item' => new UserListDateRuleItemInfo(
        [
        'operator' => UserListDateRuleItemOperator::BEFORE,
        'value' => '20200101'
        ]
    )
    ]
);
      

Python

end_date_rule: UserListRuleItemInfo = client.get_type(
    "UserListRuleItemInfo"
)
end_date_rule.name = "checkoutdate"
end_date_rule_item: UserListDateRuleItemInfo = end_date_rule.date_rule_item
end_date_rule_item.operator = user_list_data_rule_item_operator_enum.BEFORE
end_date_rule_item.value = "20200101"
      

Ruby

end_date_rule = client.resource.user_list_rule_item_info do |rule|
  # The rule variable name must match a corresponding key name fired
  # from a pixel.
  rule.name = "checkoutdate"
  rule.date_rule_item = client.resource.user_list_date_rule_item_info do |dr|
    dr.operator = :BEFORE
    dr.value = "20200101"
  end
end
      

Perl

my $end_date_rule =
  Google::Ads::GoogleAds::V25::Common::UserListRuleItemInfo->new({
    # The rule variable name must match a corresponding key name fired from a
    # pixel.
    name         => "checkoutdate",
    dateRuleItem =>
      Google::Ads::GoogleAds::V25::Common::UserListDateRuleItemInfo->new({
        operator => BEFORE,
        value    => "20200101"
      })});
      

curl

Al igual que con el primer grupo de elementos de la regla, combina estos dos campos rule_item en un objeto UserListRuleItemGroupInfo para ANDlos juntos:

Java

UserListRuleItemGroupInfo checkoutDateRuleGroup =
    UserListRuleItemGroupInfo.newBuilder()
        .addAllRuleItems(ImmutableList.of(startDateRule, endDateRule))
        .build();
      

C#

UserListRuleItemGroupInfo checkoutDateRuleGroup = new UserListRuleItemGroupInfo();
checkoutDateRuleGroup.RuleItems.Add(startDateRule);
checkoutDateRuleGroup.RuleItems.Add(endDateRule);
      

PHP

$checkoutDateRuleGroup = new UserListRuleItemGroupInfo(
    [
    'rule_items' => [$startDateRule, $endDateRule]
    ]
);
      

Python

checkout_date_rule_group.rule_items.extend(
    [
        start_date_rule,
        end_date_rule,
    ]
)
      

Ruby

checkout_date_rule_group = client.resource.user_list_rule_item_group_info do |g|
  g.rule_items += [start_date_rule, end_date_rule]
end
      

Perl

my $checkout_date_rule_group =
  Google::Ads::GoogleAds::V25::Common::UserListRuleItemGroupInfo->new(
  {ruleItems => [$start_date_rule, $end_date_rule]});
      

curl

Combina grupos de elementos de reglas en una regla de la lista de usuarios

Para aplicar ambos grupos a tu segmento de público, agrega ambos objetos UserListRuleItemGroupInfo a una instancia de UserListRuleInfo en tu operando de regla flexible, en la que los grupos se unen con una operación OR:

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: FlexibleRuleUserListInfo = (
    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: FlexibleRuleOperandInfo = 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::V25::Common::FlexibleRuleUserListInfo->new({
    inclusiveRuleOperator => AND,
    inclusiveOperands     => [
      Google::Ads::GoogleAds::V25::Common::FlexibleRuleOperandInfo->new({
          rule => Google::Ads::GoogleAds::V25::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 => []});
      

curl

Para obtener todos los detalles sobre rule_type (OR_OF_ANDS en FlexibleRuleUserListInfo) y cómo completar previamente la lista resultante, consulta Crea una lista de usuarios.