ডেটা এক্সক্লুশন হলো একটি উন্নত টুল, যা ব্যবহার করে স্মার্ট বিডিংকে জানানো যায় যে, কোনো অ্যাকাউন্টের কনভার্সন ট্র্যাকিং-এ সমস্যা থাকা তারিখগুলোর সমস্ত ডেটা যেন উপেক্ষা করা হয়। ডেটা এক্সক্লুশন কীভাবে কাজ করে সে সম্পর্কে আরও বিস্তারিত জানতে, ডেটা এক্সক্লুশন হেল্প পেজটি দেখুন।
BiddingDataExclusion রিসোর্স এবং BiddingDataExclusionService.MutateBiddingDataExclusions এর সাথে BiddingDataExclusionOperation ( create , update , বা remove ) ব্যবহার করে প্রোগ্রাম্যাটিকভাবে ডেটা এক্সক্লুশন তৈরি, আপডেট বা অপসারণ করুন (উল্লেখ্য যে BiddingDataExclusion.status হলো রিড-অনলি/ OUTPUT_ONLY )। আপনি কোনো ম্যানেজার অ্যাকাউন্টে BiddingDataExclusion তৈরি করতে পারবেন না; আপনাকে অবশ্যই এটি একটি ক্লায়েন্ট কাস্টমার অ্যাকাউন্টে CAMPAIGN বা CHANNEL স্কোপ সহ তৈরি করতে হবে।
পরিধি
একটি BiddingDataExclusion একটি আবশ্যক scope থাকে যা নিম্নলিখিত মানগুলিতে সেট করা যেতে পারে। কোন স্কোপ ব্যবহার করা হচ্ছে তার উপর ভিত্তি করে অতিরিক্ত স্কোপ-নির্দিষ্ট কনফিগারেশন বিকল্পগুলি সেট করা হয়।
-
CAMPAIGN: এই বর্জন নির্দিষ্ট ক্যাম্পেইনগুলোর ক্ষেত্রে প্রযোজ্য।campaignsফিল্ডটিকে সেইসব ক্যাম্পেইন রিসোর্স নামের একটি তালিকা হিসেবে সেট করুন, যেগুলোর ক্ষেত্রে এই বর্জনটি প্রযোজ্য হবে। -
CHANNEL: এই বর্জনটি নির্দিষ্ট চ্যানেল ধরনের অন্তর্গত ক্যাম্পেইনগুলোর ক্ষেত্রে প্রযোজ্য।advertising_channel_typesফিল্ডটিকেAdvertisingChannelTypeভ্যালুগুলোর একটি তালিকা হিসেবে সেট করুন, যেগুলোর ক্ষেত্রে এই বর্জনটি প্রযোজ্য হবে।
ডিভাইস
এর পরিধির পাশাপাশি, ডেটা বর্জনের বিষয়টি ঐচ্ছিকভাবে ডিভাইসের প্রকারের একটি তালিকা দিয়ে কনফিগার করা যেতে পারে, যেগুলোর ক্ষেত্রে এই বর্জন প্রযোজ্য হবে। যদি devices সেট করা থাকে, তবে শুধুমাত্র নির্দিষ্ট ডিভাইসের প্রকারগুলো থেকে আসা রূপান্তর ডেটা বাদ দেওয়া হবে। যদি তা নির্দিষ্ট না করা হয়, তবে সব ধরনের ডিভাইসের প্রকার থেকে আসা রূপান্তর ডেটা বাদ দেওয়া হবে।
তারিখ এবং সময়
স্কোপ এবং ঐচ্ছিক ডিভাইসগুলি ছাড়া, প্রতিটি ডেটা এক্সক্লুশনের একটি শুরু এবং শেষের তারিখ ও সময় থাকতে হবে, যা yyyy-MM-dd HH:mm:ss ফরম্যাটে বিন্যস্ত থাকবে। একটি ডেটা এক্সক্লুশন অতীতমুখী এবং এটি এমন ইভেন্টগুলির জন্য ব্যবহার করা উচিত যেগুলির start_date_time সময় অতীতে এবং end_date_time অতীতে বা ভবিষ্যতে। সময়গুলি অ্যাকাউন্টের টাইমজোন অনুযায়ী হবে।
সীমা
BiddingDataExclusion রিসোর্স নিয়ে কাজ করার সময়, নিম্নলিখিত সীমাবদ্ধতাগুলো মনে রাখবেন:
- যখন স্কোপটি
CAMPAIGNএ সেট করা থাকে, তখন একটিমাত্রBiddingDataExclusionসর্বোচ্চ ২,০০০টি ক্যাম্পেইনের ক্ষেত্রে প্রয়োগ করা যেতে পারে। - ম্যানেজার এবং টেস্ট অ্যাকাউন্ট সহ প্রতিটি গ্রাহক অ্যাকাউন্টে যেকোনো সময়ে সর্বোচ্চ ৫০০টি সক্রিয় বিডিং ডেটা এক্সক্লুশন থাকতে পারে। এই সীমা অতিক্রম করলে একটি
RESOURCE_LIMITত্রুটি দেখা দেবে।
উদাহরণ
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে CHANNEL স্কোপ ব্যবহার করে একটি ডেটা এক্সক্লুশন তৈরি করতে হয়। কমেন্ট করা অংশগুলিতে দেখানো হয়েছে, যদি আপনি এর পরিবর্তে CAMPAIGN স্কোপ সেট করেন, তাহলে কিভাবে ক্যাম্পেইনগুলি নির্দিষ্ট করতে হবে:
জাভা
BiddingDataExclusion DataExclusion = BiddingDataExclusion.newBuilder() // A unique name is required for every data exclusion. .setName("Data exclusion #" + getPrintableDateTime()) // The CHANNEL scope applies the data exclusion to all campaigns of specific // advertising channel types. In this example, the exclusion will only apply to // Search campaigns. Use the CAMPAIGN scope to instead limit the scope to specific // campaigns. .setScope(SeasonalityEventScope.CHANNEL) .addAdvertisingChannelTypes(AdvertisingChannelType.SEARCH) // If setting scope CAMPAIGN, add individual campaign resource name(s) according to // the commented out line below. // .addCampaigns("INSERT_CAMPAIGN_RESOURCE_NAME_HERE") .setStartDateTime(startDateTime) .setEndDateTime(endDateTime) .build(); BiddingDataExclusionOperation operation = BiddingDataExclusionOperation.newBuilder().setCreate(DataExclusion).build(); MutateBiddingDataExclusionsResponse response = DataExclusionServiceClient.mutateBiddingDataExclusions( customerId.toString(), ImmutableList.of(operation)); System.out.printf( "Added data exclusion with resource name: %s%n", response.getResults(0).getResourceName());
সি#
BiddingDataExclusion dataExclusion = new BiddingDataExclusion() { // A unique name is required for every data exclusion. Name = "Data exclusion #" + ExampleUtilities.GetRandomString(), // The CHANNEL scope applies the data exclusion to all campaigns of specific // advertising channel types. In this example, the the exclusion will only apply to // Search campaigns. Use the CAMPAIGN scope to instead limit the scope to specific // campaigns. Scope = SeasonalityEventScope.Channel, AdvertisingChannelTypes = { AdvertisingChannelType.Search }, // The date range should be less than 14 days. StartDateTime = startDateTime, EndDateTime = endDateTime, }; BiddingDataExclusionOperation operation = new BiddingDataExclusionOperation() { Create = dataExclusion }; try { MutateBiddingDataExclusionsResponse response = biddingDataExclusionService.MutateBiddingDataExclusions( customerId.ToString(), new[] { operation }); Console.WriteLine($"Added data exclusion with resource name: " + $"{response.Results[0].ResourceName}"); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; }
পিএইচপি
// Creates a bidding data exclusion. $dataExclusion = new BiddingDataExclusion( [ // A unique name is required for every data exclusion. 'name' => 'Data exclusion #' . Helper::getPrintableDatetime(), // The CHANNEL scope applies the data exclusion to all campaigns of specific // advertising channel types. In this example, the exclusion will only apply to // Search campaigns. Use the CAMPAIGN scope to instead limit the scope to specific // campaigns. 'scope' => SeasonalityEventScope::CHANNEL, 'advertising_channel_types' => [AdvertisingChannelType::SEARCH], // If setting scope CAMPAIGN, add individual campaign resource name(s) according to // the commented out line below. // 'campaigns' => ['INSERT_CAMPAIGN_RESOURCE_NAME_HERE'], 'start_date_time' => $startDateTime, 'end_date_time' => $endDateTime ] ); // Creates a bidding data exclusion operation. $biddingDataExclusionOperation = new BiddingDataExclusionOperation(); $biddingDataExclusionOperation->setCreate($dataExclusion); // Submits the bidding data exclusion operation to add the bidding data exclusion. $biddingDataExclusionServiceClient = $googleAdsClient->getBiddingDataExclusionServiceClient(); $response = $biddingDataExclusionServiceClient->mutateBiddingDataExclusions( MutateBiddingDataExclusionsRequest::build($customerId, [$biddingDataExclusionOperation]) ); printf( "Added bidding data exclusion with resource name: '%s'.%s", $response->getResults()[0]->getResourceName(), PHP_EOL );
পাইথন
bidding_data_exclusion_service: BiddingDataExclusionServiceClient = ( client.get_service("BiddingDataExclusionService") ) operation: BiddingDataExclusionOperation = client.get_type( "BiddingDataExclusionOperation" ) bidding_data_exclusion: BiddingDataExclusion = operation.create # A unique name is required for every data exclusion bidding_data_exclusion.name = f"Data exclusion #{uuid4()}" # The CHANNEL scope applies the data exclusion to all campaigns of specific # advertising channel types. In this example, the exclusion will only # apply to Search campaigns. Use the CAMPAIGN scope to instead limit the # scope to specific campaigns. bidding_data_exclusion.scope = ( client.enums.SeasonalityEventScopeEnum.CHANNEL ) bidding_data_exclusion.advertising_channel_types.append( client.enums.AdvertisingChannelTypeEnum.SEARCH ) # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # # bidding_data_exclusion.campaigns.append( # "INSERT_CAMPAIGN_RESOURCE_NAME_HERE" # ) bidding_data_exclusion.start_date_time = start_date_time bidding_data_exclusion.end_date_time = end_date_time response: MutateBiddingDataExclusionsResponse = ( bidding_data_exclusion_service.mutate_bidding_data_exclusions( customer_id=customer_id, operations=[operation] ) ) resource_name: str = response.results[0].resource_name print(f"Added data exclusion with resource name: '{resource_name}'")
রুবি
client = Google::Ads::GoogleAds::GoogleAdsClient.new operation = client.operation.create_resource.bidding_data_exclusion do |bda| # A unique name is required for every data excluseion. bda.name = "Seasonality Adjustment #{(Time.new.to_f * 1000).to_i}" # The CHANNEL scope applies the data exclusion to all campaigns of specific # advertising channel types. In this example, the conversion_rate_modifier # will only apply to Search campaigns. Use the CAMPAIGN scope to instead # limit the scope to specific campaigns. bda.scope = :CHANNEL bda.advertising_channel_types << :SEARCH # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # # bda.campaigns << "INSERT_CAMPAIGN_RESOURCE_NAME_HERE" bda.start_date_time = start_date_time bda.end_date_time = end_date_time end response = client.service.bidding_data_exclusion.mutate_bidding_data_exclusions( customer_id: customer_id, operations: [operation], ) puts "Added data exclusion with resource name #{response.results.first.resource_name}."
পার্ল
my $data_exclusion = Google::Ads::GoogleAds::V25::Resources::BiddingDataExclusion->new({ # A unique name is required for every data exclusion. name => "Data exclusion #" . uniqid(), # The CHANNEL scope applies the data exclusion to all campaigns of specific # advertising channel types. In this example, the exclusion will only apply # to Search campaigns. Use the CAMPAIGN scope to instead limit the scope to # specific campaigns. scope => CHANNEL, advertisingChannelTypes => [SEARCH], # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # campaigns => ["INSERT_CAMPAIGN_RESOURCE_NAME_HERE"], startDateTime => $start_date_time, endDateTime => $end_date_time }); my $operation = Google::Ads::GoogleAds::V25::Services::BiddingDataExclusionService::BiddingDataExclusionOperation ->new({ create => $data_exclusion }); my $response = $api_client->BiddingDataExclusionService()->mutate({ customerId => $customer_id, operations => [$operation]}); printf "Added data exclusion with resource name: '%s'.\n", $response->{results}[0]{resourceName};
কার্ল
ডেটা এক্সক্লুশন হলো একটি উন্নত টুল, যা ব্যবহার করে স্মার্ট বিডিংকে জানানো যায় যে, কোনো অ্যাকাউন্টের কনভার্সন ট্র্যাকিং-এ সমস্যা থাকা তারিখগুলোর সমস্ত ডেটা যেন উপেক্ষা করা হয়। ডেটা এক্সক্লুশন কীভাবে কাজ করে সে সম্পর্কে আরও বিস্তারিত জানতে, ডেটা এক্সক্লুশন হেল্প পেজটি দেখুন।
BiddingDataExclusion রিসোর্স এবং BiddingDataExclusionService.MutateBiddingDataExclusions এর সাথে BiddingDataExclusionOperation ( create , update , বা remove ) ব্যবহার করে প্রোগ্রাম্যাটিকভাবে ডেটা এক্সক্লুশন তৈরি, আপডেট বা অপসারণ করুন (উল্লেখ্য যে BiddingDataExclusion.status হলো রিড-অনলি/ OUTPUT_ONLY )। আপনি কোনো ম্যানেজার অ্যাকাউন্টে BiddingDataExclusion তৈরি করতে পারবেন না; আপনাকে অবশ্যই এটি একটি ক্লায়েন্ট কাস্টমার অ্যাকাউন্টে CAMPAIGN বা CHANNEL স্কোপ সহ তৈরি করতে হবে।
পরিধি
একটি BiddingDataExclusion একটি আবশ্যক scope থাকে যা নিম্নলিখিত মানগুলিতে সেট করা যেতে পারে। কোন স্কোপ ব্যবহার করা হচ্ছে তার উপর ভিত্তি করে অতিরিক্ত স্কোপ-নির্দিষ্ট কনফিগারেশন বিকল্পগুলি সেট করা হয়।
-
CAMPAIGN: এই বর্জন নির্দিষ্ট ক্যাম্পেইনগুলোর ক্ষেত্রে প্রযোজ্য।campaignsফিল্ডটিকে সেইসব ক্যাম্পেইন রিসোর্স নামের একটি তালিকা হিসেবে সেট করুন, যেগুলোর ক্ষেত্রে এই বর্জনটি প্রযোজ্য হবে। -
CHANNEL: এই বর্জনটি নির্দিষ্ট চ্যানেল ধরনের অন্তর্গত ক্যাম্পেইনগুলোর ক্ষেত্রে প্রযোজ্য।advertising_channel_typesফিল্ডটিকেAdvertisingChannelTypeভ্যালুগুলোর একটি তালিকা হিসেবে সেট করুন, যেগুলোর ক্ষেত্রে এই বর্জনটি প্রযোজ্য হবে।
ডিভাইস
এর পরিধির পাশাপাশি, ডেটা বর্জনের বিষয়টি ঐচ্ছিকভাবে ডিভাইসের প্রকারের একটি তালিকা দিয়ে কনফিগার করা যেতে পারে, যেগুলোর ক্ষেত্রে এই বর্জন প্রযোজ্য হবে। যদি devices সেট করা থাকে, তবে শুধুমাত্র নির্দিষ্ট ডিভাইসের প্রকারগুলো থেকে আসা রূপান্তর ডেটা বাদ দেওয়া হবে। যদি তা নির্দিষ্ট না করা হয়, তবে সব ধরনের ডিভাইসের প্রকার থেকে আসা রূপান্তর ডেটা বাদ দেওয়া হবে।
তারিখ এবং সময়
স্কোপ এবং ঐচ্ছিক ডিভাইসগুলি ছাড়া, প্রতিটি ডেটা এক্সক্লুশনের একটি শুরু এবং শেষের তারিখ ও সময় থাকতে হবে, যা yyyy-MM-dd HH:mm:ss ফরম্যাটে বিন্যস্ত থাকবে। একটি ডেটা এক্সক্লুশন অতীতমুখী এবং এটি এমন ইভেন্টগুলির জন্য ব্যবহার করা উচিত যেগুলির start_date_time সময় অতীতে এবং end_date_time অতীতে বা ভবিষ্যতে। সময়গুলি অ্যাকাউন্টের টাইমজোন অনুযায়ী হবে।
সীমা
BiddingDataExclusion রিসোর্স নিয়ে কাজ করার সময়, নিম্নলিখিত সীমাবদ্ধতাগুলো মনে রাখবেন:
- যখন স্কোপটি
CAMPAIGNএ সেট করা থাকে, তখন একটিমাত্রBiddingDataExclusionসর্বোচ্চ ২,০০০টি ক্যাম্পেইনের ক্ষেত্রে প্রয়োগ করা যেতে পারে। - ম্যানেজার এবং টেস্ট অ্যাকাউন্ট সহ প্রতিটি গ্রাহক অ্যাকাউন্টে যেকোনো সময়ে সর্বোচ্চ ৫০০টি সক্রিয় বিডিং ডেটা এক্সক্লুশন থাকতে পারে। এই সীমা অতিক্রম করলে একটি
RESOURCE_LIMITত্রুটি দেখা দেবে।
উদাহরণ
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে CHANNEL স্কোপ ব্যবহার করে একটি ডেটা এক্সক্লুশন তৈরি করতে হয়। কমেন্ট করা অংশগুলিতে দেখানো হয়েছে, যদি আপনি এর পরিবর্তে CAMPAIGN স্কোপ সেট করেন, তাহলে কিভাবে ক্যাম্পেইনগুলি নির্দিষ্ট করতে হবে:
জাভা
BiddingDataExclusion DataExclusion = BiddingDataExclusion.newBuilder() // A unique name is required for every data exclusion. .setName("Data exclusion #" + getPrintableDateTime()) // The CHANNEL scope applies the data exclusion to all campaigns of specific // advertising channel types. In this example, the exclusion will only apply to // Search campaigns. Use the CAMPAIGN scope to instead limit the scope to specific // campaigns. .setScope(SeasonalityEventScope.CHANNEL) .addAdvertisingChannelTypes(AdvertisingChannelType.SEARCH) // If setting scope CAMPAIGN, add individual campaign resource name(s) according to // the commented out line below. // .addCampaigns("INSERT_CAMPAIGN_RESOURCE_NAME_HERE") .setStartDateTime(startDateTime) .setEndDateTime(endDateTime) .build(); BiddingDataExclusionOperation operation = BiddingDataExclusionOperation.newBuilder().setCreate(DataExclusion).build(); MutateBiddingDataExclusionsResponse response = DataExclusionServiceClient.mutateBiddingDataExclusions( customerId.toString(), ImmutableList.of(operation)); System.out.printf( "Added data exclusion with resource name: %s%n", response.getResults(0).getResourceName());
সি#
BiddingDataExclusion dataExclusion = new BiddingDataExclusion() { // A unique name is required for every data exclusion. Name = "Data exclusion #" + ExampleUtilities.GetRandomString(), // The CHANNEL scope applies the data exclusion to all campaigns of specific // advertising channel types. In this example, the the exclusion will only apply to // Search campaigns. Use the CAMPAIGN scope to instead limit the scope to specific // campaigns. Scope = SeasonalityEventScope.Channel, AdvertisingChannelTypes = { AdvertisingChannelType.Search }, // The date range should be less than 14 days. StartDateTime = startDateTime, EndDateTime = endDateTime, }; BiddingDataExclusionOperation operation = new BiddingDataExclusionOperation() { Create = dataExclusion }; try { MutateBiddingDataExclusionsResponse response = biddingDataExclusionService.MutateBiddingDataExclusions( customerId.ToString(), new[] { operation }); Console.WriteLine($"Added data exclusion with resource name: " + $"{response.Results[0].ResourceName}"); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; }
পিএইচপি
// Creates a bidding data exclusion. $dataExclusion = new BiddingDataExclusion( [ // A unique name is required for every data exclusion. 'name' => 'Data exclusion #' . Helper::getPrintableDatetime(), // The CHANNEL scope applies the data exclusion to all campaigns of specific // advertising channel types. In this example, the exclusion will only apply to // Search campaigns. Use the CAMPAIGN scope to instead limit the scope to specific // campaigns. 'scope' => SeasonalityEventScope::CHANNEL, 'advertising_channel_types' => [AdvertisingChannelType::SEARCH], // If setting scope CAMPAIGN, add individual campaign resource name(s) according to // the commented out line below. // 'campaigns' => ['INSERT_CAMPAIGN_RESOURCE_NAME_HERE'], 'start_date_time' => $startDateTime, 'end_date_time' => $endDateTime ] ); // Creates a bidding data exclusion operation. $biddingDataExclusionOperation = new BiddingDataExclusionOperation(); $biddingDataExclusionOperation->setCreate($dataExclusion); // Submits the bidding data exclusion operation to add the bidding data exclusion. $biddingDataExclusionServiceClient = $googleAdsClient->getBiddingDataExclusionServiceClient(); $response = $biddingDataExclusionServiceClient->mutateBiddingDataExclusions( MutateBiddingDataExclusionsRequest::build($customerId, [$biddingDataExclusionOperation]) ); printf( "Added bidding data exclusion with resource name: '%s'.%s", $response->getResults()[0]->getResourceName(), PHP_EOL );
পাইথন
bidding_data_exclusion_service: BiddingDataExclusionServiceClient = ( client.get_service("BiddingDataExclusionService") ) operation: BiddingDataExclusionOperation = client.get_type( "BiddingDataExclusionOperation" ) bidding_data_exclusion: BiddingDataExclusion = operation.create # A unique name is required for every data exclusion bidding_data_exclusion.name = f"Data exclusion #{uuid4()}" # The CHANNEL scope applies the data exclusion to all campaigns of specific # advertising channel types. In this example, the exclusion will only # apply to Search campaigns. Use the CAMPAIGN scope to instead limit the # scope to specific campaigns. bidding_data_exclusion.scope = ( client.enums.SeasonalityEventScopeEnum.CHANNEL ) bidding_data_exclusion.advertising_channel_types.append( client.enums.AdvertisingChannelTypeEnum.SEARCH ) # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # # bidding_data_exclusion.campaigns.append( # "INSERT_CAMPAIGN_RESOURCE_NAME_HERE" # ) bidding_data_exclusion.start_date_time = start_date_time bidding_data_exclusion.end_date_time = end_date_time response: MutateBiddingDataExclusionsResponse = ( bidding_data_exclusion_service.mutate_bidding_data_exclusions( customer_id=customer_id, operations=[operation] ) ) resource_name: str = response.results[0].resource_name print(f"Added data exclusion with resource name: '{resource_name}'")
রুবি
client = Google::Ads::GoogleAds::GoogleAdsClient.new operation = client.operation.create_resource.bidding_data_exclusion do |bda| # A unique name is required for every data excluseion. bda.name = "Seasonality Adjustment #{(Time.new.to_f * 1000).to_i}" # The CHANNEL scope applies the data exclusion to all campaigns of specific # advertising channel types. In this example, the conversion_rate_modifier # will only apply to Search campaigns. Use the CAMPAIGN scope to instead # limit the scope to specific campaigns. bda.scope = :CHANNEL bda.advertising_channel_types << :SEARCH # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # # bda.campaigns << "INSERT_CAMPAIGN_RESOURCE_NAME_HERE" bda.start_date_time = start_date_time bda.end_date_time = end_date_time end response = client.service.bidding_data_exclusion.mutate_bidding_data_exclusions( customer_id: customer_id, operations: [operation], ) puts "Added data exclusion with resource name #{response.results.first.resource_name}."
পার্ল
my $data_exclusion = Google::Ads::GoogleAds::V25::Resources::BiddingDataExclusion->new({ # A unique name is required for every data exclusion. name => "Data exclusion #" . uniqid(), # The CHANNEL scope applies the data exclusion to all campaigns of specific # advertising channel types. In this example, the exclusion will only apply # to Search campaigns. Use the CAMPAIGN scope to instead limit the scope to # specific campaigns. scope => CHANNEL, advertisingChannelTypes => [SEARCH], # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # campaigns => ["INSERT_CAMPAIGN_RESOURCE_NAME_HERE"], startDateTime => $start_date_time, endDateTime => $end_date_time }); my $operation = Google::Ads::GoogleAds::V25::Services::BiddingDataExclusionService::BiddingDataExclusionOperation ->new({ create => $data_exclusion }); my $response = $api_client->BiddingDataExclusionService()->mutate({ customerId => $customer_id, operations => [$operation]}); printf "Added data exclusion with resource name: '%s'.\n", $response->{results}[0]{resourceName};
কার্ল
ডেটা এক্সক্লুশন হলো একটি উন্নত টুল, যা ব্যবহার করে স্মার্ট বিডিংকে জানানো যায় যে, কোনো অ্যাকাউন্টের কনভার্সন ট্র্যাকিং-এ সমস্যা থাকা তারিখগুলোর সমস্ত ডেটা যেন উপেক্ষা করা হয়। ডেটা এক্সক্লুশন কীভাবে কাজ করে সে সম্পর্কে আরও বিস্তারিত জানতে, ডেটা এক্সক্লুশন হেল্প পেজটি দেখুন।
BiddingDataExclusion রিসোর্স এবং BiddingDataExclusionService.MutateBiddingDataExclusions এর সাথে BiddingDataExclusionOperation ( create , update , বা remove ) ব্যবহার করে প্রোগ্রাম্যাটিকভাবে ডেটা এক্সক্লুশন তৈরি, আপডেট বা অপসারণ করুন (উল্লেখ্য যে BiddingDataExclusion.status হলো রিড-অনলি/ OUTPUT_ONLY )। আপনি কোনো ম্যানেজার অ্যাকাউন্টে BiddingDataExclusion তৈরি করতে পারবেন না; আপনাকে অবশ্যই এটি একটি ক্লায়েন্ট কাস্টমার অ্যাকাউন্টে CAMPAIGN বা CHANNEL স্কোপ সহ তৈরি করতে হবে।
পরিধি
একটি BiddingDataExclusion একটি আবশ্যক scope থাকে যা নিম্নলিখিত মানগুলিতে সেট করা যেতে পারে। কোন স্কোপ ব্যবহার করা হচ্ছে তার উপর ভিত্তি করে অতিরিক্ত স্কোপ-নির্দিষ্ট কনফিগারেশন বিকল্পগুলি সেট করা হয়।
-
CAMPAIGN: এই বর্জন নির্দিষ্ট ক্যাম্পেইনগুলোর ক্ষেত্রে প্রযোজ্য।campaignsফিল্ডটিকে সেইসব ক্যাম্পেইন রিসোর্স নামের একটি তালিকা হিসেবে সেট করুন, যেগুলোর ক্ষেত্রে এই বর্জনটি প্রযোজ্য হবে। -
CHANNEL: এই বর্জনটি নির্দিষ্ট চ্যানেল ধরনের অন্তর্গত ক্যাম্পেইনগুলোর ক্ষেত্রে প্রযোজ্য।advertising_channel_typesফিল্ডটিকেAdvertisingChannelTypeভ্যালুগুলোর একটি তালিকা হিসেবে সেট করুন, যেগুলোর ক্ষেত্রে এই বর্জনটি প্রযোজ্য হবে।
ডিভাইস
এর পরিধির পাশাপাশি, ডেটা বর্জনের বিষয়টি ঐচ্ছিকভাবে ডিভাইসের প্রকারের একটি তালিকা দিয়ে কনফিগার করা যেতে পারে, যেগুলোর ক্ষেত্রে এই বর্জন প্রযোজ্য হবে। যদি devices সেট করা থাকে, তবে শুধুমাত্র নির্দিষ্ট ডিভাইসের প্রকারগুলো থেকে আসা রূপান্তর ডেটা বাদ দেওয়া হবে। যদি তা নির্দিষ্ট না করা হয়, তবে সব ধরনের ডিভাইসের প্রকার থেকে আসা রূপান্তর ডেটা বাদ দেওয়া হবে।
তারিখ এবং সময়
স্কোপ এবং ঐচ্ছিক ডিভাইসগুলি ছাড়া, প্রতিটি ডেটা এক্সক্লুশনের একটি শুরু এবং শেষের তারিখ ও সময় থাকতে হবে, যা yyyy-MM-dd HH:mm:ss ফরম্যাটে বিন্যস্ত থাকবে। একটি ডেটা এক্সক্লুশন অতীতমুখী এবং এটি এমন ইভেন্টগুলির জন্য ব্যবহার করা উচিত যেগুলির start_date_time সময় অতীতে এবং end_date_time অতীতে বা ভবিষ্যতে। সময়গুলি অ্যাকাউন্টের টাইমজোন অনুযায়ী হবে।
সীমা
BiddingDataExclusion রিসোর্স নিয়ে কাজ করার সময়, নিম্নলিখিত সীমাবদ্ধতাগুলো মনে রাখবেন:
- যখন স্কোপটি
CAMPAIGNএ সেট করা থাকে, তখন একটিমাত্রBiddingDataExclusionসর্বোচ্চ ২,০০০টি ক্যাম্পেইনের ক্ষেত্রে প্রয়োগ করা যেতে পারে। - ম্যানেজার এবং টেস্ট অ্যাকাউন্ট সহ প্রতিটি গ্রাহক অ্যাকাউন্টে যেকোনো সময়ে সর্বোচ্চ ৫০০টি সক্রিয় বিডিং ডেটা এক্সক্লুশন থাকতে পারে। এই সীমা অতিক্রম করলে একটি
RESOURCE_LIMITত্রুটি দেখা দেবে।
উদাহরণ
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে CHANNEL স্কোপ ব্যবহার করে একটি ডেটা এক্সক্লুশন তৈরি করতে হয়। কমেন্ট করা অংশগুলিতে দেখানো হয়েছে, যদি আপনি এর পরিবর্তে CAMPAIGN স্কোপ সেট করেন, তাহলে কিভাবে ক্যাম্পেইনগুলি নির্দিষ্ট করতে হবে:
জাভা
BiddingDataExclusion DataExclusion = BiddingDataExclusion.newBuilder() // A unique name is required for every data exclusion. .setName("Data exclusion #" + getPrintableDateTime()) // The CHANNEL scope applies the data exclusion to all campaigns of specific // advertising channel types. In this example, the exclusion will only apply to // Search campaigns. Use the CAMPAIGN scope to instead limit the scope to specific // campaigns. .setScope(SeasonalityEventScope.CHANNEL) .addAdvertisingChannelTypes(AdvertisingChannelType.SEARCH) // If setting scope CAMPAIGN, add individual campaign resource name(s) according to // the commented out line below. // .addCampaigns("INSERT_CAMPAIGN_RESOURCE_NAME_HERE") .setStartDateTime(startDateTime) .setEndDateTime(endDateTime) .build(); BiddingDataExclusionOperation operation = BiddingDataExclusionOperation.newBuilder().setCreate(DataExclusion).build(); MutateBiddingDataExclusionsResponse response = DataExclusionServiceClient.mutateBiddingDataExclusions( customerId.toString(), ImmutableList.of(operation)); System.out.printf( "Added data exclusion with resource name: %s%n", response.getResults(0).getResourceName());
সি#
BiddingDataExclusion dataExclusion = new BiddingDataExclusion() { // A unique name is required for every data exclusion. Name = "Data exclusion #" + ExampleUtilities.GetRandomString(), // The CHANNEL scope applies the data exclusion to all campaigns of specific // advertising channel types. In this example, the the exclusion will only apply to // Search campaigns. Use the CAMPAIGN scope to instead limit the scope to specific // campaigns. Scope = SeasonalityEventScope.Channel, AdvertisingChannelTypes = { AdvertisingChannelType.Search }, // The date range should be less than 14 days. StartDateTime = startDateTime, EndDateTime = endDateTime, }; BiddingDataExclusionOperation operation = new BiddingDataExclusionOperation() { Create = dataExclusion }; try { MutateBiddingDataExclusionsResponse response = biddingDataExclusionService.MutateBiddingDataExclusions( customerId.ToString(), new[] { operation }); Console.WriteLine($"Added data exclusion with resource name: " + $"{response.Results[0].ResourceName}"); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; }
পিএইচপি
// Creates a bidding data exclusion. $dataExclusion = new BiddingDataExclusion( [ // A unique name is required for every data exclusion. 'name' => 'Data exclusion #' . Helper::getPrintableDatetime(), // The CHANNEL scope applies the data exclusion to all campaigns of specific // advertising channel types. In this example, the exclusion will only apply to // Search campaigns. Use the CAMPAIGN scope to instead limit the scope to specific // campaigns. 'scope' => SeasonalityEventScope::CHANNEL, 'advertising_channel_types' => [AdvertisingChannelType::SEARCH], // If setting scope CAMPAIGN, add individual campaign resource name(s) according to // the commented out line below. // 'campaigns' => ['INSERT_CAMPAIGN_RESOURCE_NAME_HERE'], 'start_date_time' => $startDateTime, 'end_date_time' => $endDateTime ] ); // Creates a bidding data exclusion operation. $biddingDataExclusionOperation = new BiddingDataExclusionOperation(); $biddingDataExclusionOperation->setCreate($dataExclusion); // Submits the bidding data exclusion operation to add the bidding data exclusion. $biddingDataExclusionServiceClient = $googleAdsClient->getBiddingDataExclusionServiceClient(); $response = $biddingDataExclusionServiceClient->mutateBiddingDataExclusions( MutateBiddingDataExclusionsRequest::build($customerId, [$biddingDataExclusionOperation]) ); printf( "Added bidding data exclusion with resource name: '%s'.%s", $response->getResults()[0]->getResourceName(), PHP_EOL );
পাইথন
bidding_data_exclusion_service: BiddingDataExclusionServiceClient = ( client.get_service("BiddingDataExclusionService") ) operation: BiddingDataExclusionOperation = client.get_type( "BiddingDataExclusionOperation" ) bidding_data_exclusion: BiddingDataExclusion = operation.create # A unique name is required for every data exclusion bidding_data_exclusion.name = f"Data exclusion #{uuid4()}" # The CHANNEL scope applies the data exclusion to all campaigns of specific # advertising channel types. In this example, the exclusion will only # apply to Search campaigns. Use the CAMPAIGN scope to instead limit the # scope to specific campaigns. bidding_data_exclusion.scope = ( client.enums.SeasonalityEventScopeEnum.CHANNEL ) bidding_data_exclusion.advertising_channel_types.append( client.enums.AdvertisingChannelTypeEnum.SEARCH ) # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # # bidding_data_exclusion.campaigns.append( # "INSERT_CAMPAIGN_RESOURCE_NAME_HERE" # ) bidding_data_exclusion.start_date_time = start_date_time bidding_data_exclusion.end_date_time = end_date_time response: MutateBiddingDataExclusionsResponse = ( bidding_data_exclusion_service.mutate_bidding_data_exclusions( customer_id=customer_id, operations=[operation] ) ) resource_name: str = response.results[0].resource_name print(f"Added data exclusion with resource name: '{resource_name}'")
রুবি
client = Google::Ads::GoogleAds::GoogleAdsClient.new operation = client.operation.create_resource.bidding_data_exclusion do |bda| # A unique name is required for every data excluseion. bda.name = "Seasonality Adjustment #{(Time.new.to_f * 1000).to_i}" # The CHANNEL scope applies the data exclusion to all campaigns of specific # advertising channel types. In this example, the conversion_rate_modifier # will only apply to Search campaigns. Use the CAMPAIGN scope to instead # limit the scope to specific campaigns. bda.scope = :CHANNEL bda.advertising_channel_types << :SEARCH # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # # bda.campaigns << "INSERT_CAMPAIGN_RESOURCE_NAME_HERE" bda.start_date_time = start_date_time bda.end_date_time = end_date_time end response = client.service.bidding_data_exclusion.mutate_bidding_data_exclusions( customer_id: customer_id, operations: [operation], ) puts "Added data exclusion with resource name #{response.results.first.resource_name}."
পার্ল
my $data_exclusion = Google::Ads::GoogleAds::V25::Resources::BiddingDataExclusion->new({ # A unique name is required for every data exclusion. name => "Data exclusion #" . uniqid(), # The CHANNEL scope applies the data exclusion to all campaigns of specific # advertising channel types. In this example, the exclusion will only apply # to Search campaigns. Use the CAMPAIGN scope to instead limit the scope to # specific campaigns. scope => CHANNEL, advertisingChannelTypes => [SEARCH], # If setting scope CAMPAIGN, add individual campaign resource name(s) # according to the commented out line below. # campaigns => ["INSERT_CAMPAIGN_RESOURCE_NAME_HERE"], startDateTime => $start_date_time, endDateTime => $end_date_time }); my $operation = Google::Ads::GoogleAds::V25::Services::BiddingDataExclusionService::BiddingDataExclusionOperation ->new({ create => $data_exclusion }); my $response = $api_client->BiddingDataExclusionService()->mutate({ customerId => $customer_id, operations => [$operation]}); printf "Added data exclusion with resource name: '%s'.\n", $response->{results}[0]{resourceName};