এই উদাহরণটি দুটি নিয়ম আইটেম গ্রুপ তৈরি করে।
প্রথম rule_item_group তৈরি করুন
প্রথম rule_item_group
তৈরি করে শুরু করুন যাতে দুটি rule_item
ক্ষেত্র, অথবা UserListRuleItemInfo
অবজেক্ট থাকে:
- চেকআউট পৃষ্ঠাটি পরিদর্শন করা ব্যবহারকারীরা।
- যাদের শপিং কার্টে একাধিক আইটেম আছে।
প্রথম নিয়ম আইটেমটি ecomm_pagetype
প্যারামিটার ব্যবহার করে যার স্ট্রিং মান রয়েছে, তাই আপনাকে প্রথমে একটি string_rule_item
তৈরি করতে হবে।
জাভা
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();
সি#
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" } };
পিএইচপি
$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' ]) ]);
পাইথন
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"
রুবি
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
পার্ল
my $checkout_rule = Google::Ads::GoogleAds::V22::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::V22::Common::UserListStringRuleItemInfo->new({ operator => EQUALS, value => "checkout" })});
দ্বিতীয় নিয়ম আইটেমটি cartsize
প্যারামিটার ব্যবহার করে যার সংখ্যাসূচক মান রয়েছে, তাই এখন আপনার একটি number_rule_item
প্রয়োজন হবে।
জাভা
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();
সি#
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 } };
পিএইচপি
$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 ]) ]);
পাইথন
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
রুবি
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
পার্ল
my $cart_size_rule = Google::Ads::GoogleAds::V22::Common::UserListRuleItemInfo->new({ # The rule variable name must match a corresponding key name fired from a # pixel. name => "cart_size", numberRuleItem => Google::Ads::GoogleAds::V22::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 })});
এরপর, দুটি নিয়ম আইটেমকে একটি UserListRuleItemGroupInfo
অবজেক্টে একত্রিত করুন। ডিফল্টরূপে, যখন আইটেমগুলিকে একটি আইটেম গ্রুপে একত্রিত করা হয়, তখন Google Ads তাদের নিয়মগুলিকে একসাথে AND
করবে। ব্যবহারকারীর তালিকা তৈরিতে আরও বিশদ বিবরণ থাকবে।
জাভা
UserListRuleItemGroupInfo checkoutAndCartSizeRuleGroup = UserListRuleItemGroupInfo.newBuilder() .addAllRuleItems(ImmutableList.of(checkoutRule, cartSizeRule)) .build();
সি#
UserListRuleItemGroupInfo checkoutAndCartSizeRuleGroup = new UserListRuleItemGroupInfo(); checkoutAndCartSizeRuleGroup.RuleItems.Add(checkoutRule); checkoutAndCartSizeRuleGroup.RuleItems.Add(cartSizeRule);
পিএইচপি
$checkoutAndCartSizeRuleGroup = new UserListRuleItemGroupInfo([ 'rule_items' => [$checkoutRule, $cartSizeRule] ]);
পাইথন
checkout_and_cart_size_rule_group.rule_items.extend( [ checkout_rule, cart_size_rule, ] )
রুবি
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
পার্ল
my $checkout_and_cart_size_rule_group = Google::Ads::GoogleAds::V22::Common::UserListRuleItemGroupInfo->new( {ruleItems => [$checkout_rule, $cart_size_rule]});
দ্বিতীয় rule_item_group তৈরি করুন
দ্বিতীয় rule_item_group
এ দুটি rule_item
ক্ষেত্র, অথবা UserListRuleItemInfo
অবজেক্টও রয়েছে:
- ৩১শে অক্টোবরের পরে চেক আউট করা ব্যবহারকারীরা।
- ১লা জানুয়ারীর আগে চেক আউট করা ব্যবহারকারীরা।
এই দুটি নিয়ম আইটেমই checkoutdate
প্যারামিটার ব্যবহার করে যার তারিখের মান রয়েছে, তাই এবার আপনি date_rule_item
ক্ষেত্রগুলিকে UserListDateRuleItemInfo
অবজেক্ট দিয়ে পূর্ণ করবেন।
প্রথমে শুরুর তারিখ:
জাভা
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();
সি#
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" } };
পিএইচপি
$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' ]) ]);
পাইথন
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"
রুবি
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
পার্ল
my $start_date_rule = Google::Ads::GoogleAds::V22::Common::UserListRuleItemInfo->new({ # The rule variable name must match a corresponding key name fired from a # pixel. name => "checkoutdate", dateRuleItem => Google::Ads::GoogleAds::V22::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" })});
তারপর, শেষ তারিখ:
জাভা
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();
সি#
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" } };
পিএইচপি
$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' ]) ]);
পাইথন
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"
রুবি
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
পার্ল
my $end_date_rule = Google::Ads::GoogleAds::V22::Common::UserListRuleItemInfo->new({ # The rule variable name must match a corresponding key name fired from a # pixel. name => "checkoutdate", dateRuleItem => Google::Ads::GoogleAds::V22::Common::UserListDateRuleItemInfo->new({ operator => BEFORE, value => "20200101" })});
প্রথম নিয়ম আইটেম গ্রুপের মতো, এই দুটি rule_item
ক্ষেত্রকে UserListRuleItemGroupInfo
অবজেক্টে একত্রিত করুন AND
তাদের একসাথে করুন।
জাভা
UserListRuleItemGroupInfo checkoutDateRuleGroup = UserListRuleItemGroupInfo.newBuilder() .addAllRuleItems(ImmutableList.of(startDateRule, endDateRule)) .build();
সি#
UserListRuleItemGroupInfo checkoutDateRuleGroup = new UserListRuleItemGroupInfo(); checkoutDateRuleGroup.RuleItems.Add(startDateRule); checkoutDateRuleGroup.RuleItems.Add(endDateRule);
পিএইচপি
$checkoutDateRuleGroup = new UserListRuleItemGroupInfo([ 'rule_items' => [$startDateRule, $endDateRule] ]);
পাইথন
checkout_date_rule_group.rule_items.extend( [ start_date_rule, end_date_rule, ] )
রুবি
checkout_date_rule_group = client.resource.user_list_rule_item_group_info do |g| g.rule_items += [start_date_rule, end_date_rule] end
পার্ল
my $checkout_date_rule_group = Google::Ads::GoogleAds::V22::Common::UserListRuleItemGroupInfo->new( {ruleItems => [$start_date_rule, $end_date_rule]});