Cómo crear una lista de usuarios

Puedes usar listas de usuarios en tus campañas de remarketing para volver a atraer a los usuarios que realizaron acciones específicas en tu sitio web o aplicación. La API de Google Ads admite varios tipos de listas de usuarios. Esta guía se centra en la creación de listas de usuarios basadas en reglas.

Listas de usuarios basadas en reglas

Las listas de usuarios basadas en reglas creadas con flexible_rule_user_list pueden contener varias reglas. Cada regla se representa con un mensaje UserListRuleInfo, que tiene un rule_type que indica cómo se combinan los elementos de regla dentro de los grupos de elementos de regla.

Si rule_type es OR_OF_ANDS (el valor predeterminado), Google Ads AND todos los elementos de regla en un grupo de elementos de regla. Esto significa que, para una regla determinada, cada elemento de la regla en al menos un grupo de elementos de la regla debe coincidir para que se cumpla la regla. Esto se denomina "forma normal disyuntiva".

Como alternativa, si configuras rule_type como AND_OF_ORS, al menos un elemento de regla en cada grupo de elementos de regla debe coincidir para que se cumpla la regla. Esto se denomina "forma normal conjuntiva".

Lo único que queda es combinar los grupos de elementos de reglas anteriores en una nueva lista de usuarios. En este caso, dejaremos la funcionalidad predeterminada de OR_OF_ANDS, ya que para eso creamos estas reglas.

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

Incluye usuarios anteriores en una lista basada en reglas

También puedes incluir usuarios anteriores en una lista de usuarios basada en reglas si configuras prepopulation_status de la lista de usuarios como REQUESTED y supervisas el progreso del proceso de propagación previa asíncrono verificando periódicamente el estado de este campo.

Solo se agregarán los usuarios anteriores de los últimos 30 días, según la duración de la membresía de la lista y la fecha en la que se agregó la etiqueta de remarketing. El estado se actualizará a FINISHED cuando se procese la solicitud o a FAILED si falla.