List użytkowników możesz używać w kampaniach remarketingowych, aby ponownie angażować użytkowników, którzy wykonali określone działania w Twojej witrynie lub aplikacji. Interfejs Google Ads API obsługuje kilka typów list użytkowników. Ten przewodnik koncentruje się na tworzeniu opartych na regułach list użytkowników za pomocą grup produktów zdefiniowanych w sekcji Tworzenie grup produktów.
Listy użytkowników oparte na regułach
Listy użytkowników oparte na regułach utworzone za pomocą flexible_rule_user_list mogą zawierać wiele reguł (inclusive_rule i exclusive_rule połączone za pomocą inclusive_rule_operator). Każda reguła jest reprezentowana przez komunikat UserListRuleInfo, który zawiera pole rule_type określające, jak elementy reguły w grupach produktów są łączone.
Chociaż UserListRuleTypeEnum definiuje zarówno OR_OF_ANDS (dysjunkcyjną postać normalną), jak i AND_OF_ORS (koniunkcyjną postać normalną), OR_OF_ANDS jest jedyną obsługiwaną wartością rule_type dla FlexibleRuleUserListInfo (ustawienie AND_OF_ORS zwraca UserListError.RULE_TYPE_IS_NOT_SUPPORTED). W przypadku OR_OF_ANDS Google Ads łączy za pomocą operatora AND wszystkie elementy reguły w grupie elementów reguły, co oznacza, że w przypadku danej reguły każdy element reguły w co najmniej jednej grupie elementów reguły musi pasować, aby reguła została spełniona.
Po zdefiniowaniu 2 obiektów UserListRuleItemGroupInfo w sekcji Tworzenie grup elementów reguły połącz je w nową listę użytkowników.
W poniższym przykładowym kodzie pozostawiono domyślny typ reguły OR_OF_ANDS, dodano obie grupy produktów reguły do obiektu FlexibleRuleOperandInfo w FlexibleRuleUserListInfo i zmieniono listę użytkowników:
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::V26::Common::FlexibleRuleUserListInfo->new({ inclusiveRuleOperator => AND, inclusiveOperands => [ Google::Ads::GoogleAds::V26::Common::FlexibleRuleOperandInfo->new({ rule => Google::Ads::GoogleAds::V26::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
Uwzględnianie wcześniejszych użytkowników na liście opartej na regułach
Możesz też uwzględnić wcześniejszych użytkowników witryny lub aplikacji na liście użytkowników opartej na regułach (obsługiwanej tylko w sieci reklamowej), ustawiając pole prepopulation_status listy użytkowników na REQUESTED, i monitorować postęp asynchronicznego procesu wstępnego wypełniania, okresowo sprawdzając stan tego pola.
Wstępne wypełnianie dodaje tylko użytkowników z ostatnich 30 dni, w zależności od membership_life_span listy (od 1 do 540 dni) i daty dodania tagu remarketingowego. Po przetworzeniu prośby stan zmieni się na FINISHED, a jeśli prośba się nie powiedzie – na FAILED.
Kierowanie na listę użytkowników i dostosowywanie stawek
Po utworzeniu obiektu UserList dołącz jego nazwę zasobu do obiektu AdGroupCriterion lub CampaignCriterion i ustaw parametr bid_modifier (np. 1.25, aby zwiększyć stawkę o 25%). Przykłady kodu pokazujące, jak kierować reklamy na listę użytkowników i modyfikować stawki, znajdziesz w sekcji Kierowanie na listę.