Verileri hariç tutma, Akıllı Teklif'e bir hesabın dönüşüm izleme özelliğiyle ilgili sorunların yaşandığı tarihlerdeki tüm verileri yoksaymasını bildirmek için kullanılabilen gelişmiş bir araçtır. Verileri hariç tutmanın işleyiş şekli hakkında daha fazla bilgi için verileri hariç tutma yardım sayfasına bakın.
BiddingDataExclusion kaynağını ve BiddingDataExclusionOperation ile BiddingDataExclusionService.MutateBiddingDataExclusions yöntemini kullanarak programatik olarak veri hariç tutma işlemleri oluşturun, güncelleyin veya kaldırın (create, update veya remove; BiddingDataExclusion.status yönteminin salt okunur/OUTPUT_ONLY olduğunu unutmayın). Yönetici hesabında BiddingDataExclusion oluşturamazsınız. Bunu, kapsamı CAMPAIGN veya CHANNEL olan bir müşteri-ajans hesabında oluşturmanız gerekir.
Kapsam
Bir BiddingDataExclusion, aşağıdaki değerlere ayarlanabilen zorunlu bir scope içerir. Ek kapsamla ilgili yapılandırma seçenekleri, kullanılan kapsama göre ayarlanır.
CAMPAIGN: Hariç tutma, belirli kampanyalara uygulanır.campaignsalanını, bu hariç tutmanın uygulanacağı kampanya kaynağı adlarının listesi olarak ayarlayın.CHANNEL: Hariç tutma işlemi, belirli kanal türlerine ait kampanyalara uygulanır.advertising_channel_typesalanını, bu hariç tutmanın uygulanacağıAdvertisingChannelTypedeğerlerinin listesi olarak ayarlayın.
Cihazlar
Kapsamlarına ek olarak, veri hariç tutmaları, hariç tutmanın uygulanacağı isteğe bağlı bir cihaz türleri listesiyle yapılandırılabilir. devices ayarlanırsa yalnızca belirtilen cihaz türlerindeki dönüşüm verileri hariç tutulur. Belirtilmezse tüm cihaz türlerindeki dönüşüm verileri hariç tutulur.
Tarihler ve saatler
Kapsam ve isteğe bağlı cihazlar dışında, her veri hariç tutma işlemi için yyyy-MM-dd HH:mm:ss biçiminde başlangıç ve bitiş tarihi ve saati olmalıdır. Verileri hariç tutma, geriye dönük olarak uygulanır ve geçmişte start_date_time, geçmişte veya gelecekte end_date_time olan etkinlikler için kullanılmalıdır. Saatler, hesabın saat dilimine göredir.
Sınırlar
BiddingDataExclusion kaynaklarıyla çalışırken aşağıdaki sınırlamaları göz önünde bulundurun:
- Kapsam
CAMPAIGNolarak ayarlandığında tek birBiddingDataExclusionen fazla 2.000 kampanyaya uygulanabilir. - Yönetici ve test hesapları dahil her müşteri hesabında herhangi bir zamanda en fazla 500 etkin teklif verisi hariç tutma işlemi olabilir. Bu sınırın aşılması
RESOURCE_LIMIThatasına neden olur.
Örnek
Aşağıdaki örnekte, CHANNEL kapsamına sahip bir verileri hariç tutma işleminin nasıl oluşturulacağı gösterilmektedir.
Açıklama satırı yapılan bölümler, bunun yerine bir CAMPAIGN kapsamı ayarlamanız durumunda kampanyaları nasıl belirteceğinizi gösterir:
Java
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());
C#
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; }
PHP
// 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 );
Python
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}'")
Ruby
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}."
Perl
my $data_exclusion = Google::Ads::GoogleAds::V26::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::V26::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};