Tiêu chí loại trừ dữ liệu là một công cụ nâng cao có thể dùng để thông báo cho chiến lược Đặt giá thầu thông minh bỏ qua tất cả dữ liệu từ những ngày xảy ra vấn đề về lượt chuyển đổi của tài khoản theo dõi. Để biết thêm thông tin chi tiết về cách hoạt động của tiêu chí loại trừ dữ liệu, hãy tham khảo trang trợ giúp về các tiêu chí loại trừ dữ liệu.
Tạo tiêu chí loại trừ dữ liệu theo phương thức lập trình bằng
BiddingDataExclusions
.
Phạm vi
BiddingDataExclusions
có phần mở rộng bắt buộc
scope
có thể được đặt thành
các giá trị sau. Đã đặt các lựa chọn cấu hình bổ sung theo phạm vi cụ thể
theo phạm vi được sử dụng.
CAMPAIGN
– Tiêu chí loại trừ được áp dụng cho những chiến dịch cụ thể. Thiết lập Trườngcampaigns
danh sách tên tài nguyên chiến dịch mà tùy chọn loại trừ này sẽ sẽ áp dụng.- Số chiến dịch tối đa cho mỗi
BiddingDataExclusion
là 2.000.
- Số chiến dịch tối đa cho mỗi
CHANNEL
– Quy tắc loại trừ được áp dụng cho các chiến dịch thuộc về một số chiến dịch cụ thể các loại kênh. Thiết lậpadvertising_channel_types
vào danh sáchAdvertisingChannelTypes
mà sẽ được áp dụng.
Thiết bị
Ngoài phạm vi của chúng, bạn có thể thiết lập các tiêu chí loại trừ dữ liệu bằng một thuộc tính không bắt buộc
danh sách các loại thiết bị sẽ được áp dụng tiêu chí loại trừ. Nếu
devices
đã được đặt, chỉ lượt chuyển đổi
dữ liệu từ các loại thiết bị được chỉ định sẽ bị loại trừ. Nếu không được chỉ định, lượt chuyển đổi
dữ liệu trên mọi loại thiết bị sẽ bị loại trừ.
Ngày và giờ
Ngoài phạm vi và các thiết bị không bắt buộc, mỗi tiêu chí loại trừ dữ liệu đều phải bắt đầu
và ngày giờ kết thúc. Tiêu chí loại trừ dữ liệu có tính năng tương lai nên được sử dụng
cho các sự kiện có
start_date_time
trong
trước đây và end_date_time
trong quá khứ hoặc tương lai. Thời gian được tính theo múi giờ của tài khoản.
Ví dụ:
Ví dụ sau đây trình bày cách tạo một tiêu chí loại trừ dữ liệu với phạm vi CHANNEL
.
Các phần được nhận xét minh hoạ cách chỉ định chiến dịch nếu bạn muốn
thay vào đó, hãy đặt phạm vi CAMPAIGN
.
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 = client.get_service( "BiddingDataExclusionService" ) operation = client.get_type("BiddingDataExclusionOperation") bidding_data_exclusion = 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 = bidding_data_exclusion_service.mutate_bidding_data_exclusions( customer_id=customer_id, operations=[operation] ) resource_name = 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::V17::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::V17::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};