En el caso de expression_rule_user_list
, se debe realizar una distinción adicional. De forma predeterminada, Google Ads AND
juntará todos los elementos de regla de un grupo de elementos de regla. Esto significa que cada elemento de la regla de al menos un grupo de elementos de la regla debe coincidir para que la regla agregue un visitante a la lista. Esto se denomina "formato disyuntivo normal" o OR_OF_ANDS
.
Como alternativa, puedes configurar tu lista para que solo agregue un visitante a ella si coincide al menos un elemento de la regla en cada grupo de elementos de la regla. Esto se denomina "formato conjuntivo normal" o AND_OF_ORS
, y está disponible para expression_rule_user_list
mediante el campo rule_type
. Si intentas usar AND_OF_ORS
para un date_specific_rule_user_list
, se producirá un error.
Solo falta combinar los grupos de elementos de reglas anteriores en una lista de usuarios nuevos. En este caso, dejaremos la funcionalidad predeterminada de OR_OF_ANDS
en su lugar, 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 = ( 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)
Rita
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 => []});
Límite por período de visitas al sitio
La expression_rule_user_list
anterior satisface tus necesidades, pero ¿qué sucede si solo deseas captar a los usuarios que satisfacen la regla de esa lista y visitar tu sitio entre el 1 de octubre y el 31 de diciembre? Usa date_specific_rule_user_list
.
La creación de un date_specific_rule_user_list
sigue el mismo proceso que seguirías para un expression_rule_user_list
. En lugar de configurar el campo expression_rule_user_list
de tu objeto RuleBasedUserListInfo
, configura el campo date_specific_rule_user_list
con un objeto DateSpecificRuleUserListInfo
.
Este objeto contendrá campos para start_date
y 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();
La lista nueva contendrá todos los usuarios que cumplen con las mismas reglas que la lista anterior, pero solo si visitan tu sitio entre start_date
(inclusive) y end_date
(inclusive).
Incluir a los usuarios anteriores en la lista
También puedes incluir usuarios anteriores en una lista de usuarios basada en reglas. Para ello, configura el prepopulation_status
de la lista de usuarios como REQUESTED
y supervisa el progreso del proceso de prepropagación asíncrono verificando periódicamente el estado de este campo.
Esto solo agregará a 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
una vez que se procese la solicitud o a FAILED
si la solicitud falla.