Datenausschlüsse sind ein erweitertes Tool, mit dem Sie Smart Bidding anweisen können, alle Daten von Tagen zu ignorieren, an denen es Probleme mit dem Conversion-Tracking eines Kontos gab. Weitere Informationen zur Funktionsweise von Datenausschlüssen finden Sie auf der Hilfeseite zu Datenausschlüssen.
Sie können Datenausschlüsse programmatisch mit der
BiddingDataExclusion Ressource und
BiddingDataExclusionService.MutateBiddingDataExclusions
mit BiddingDataExclusionOperation
(create, update, oder remove) erstellen, aktualisieren oder entfernen. Beachten Sie, dass
BiddingDataExclusion.status schreibgeschützt ist (OUTPUT_ONLY). Sie können keine BiddingDataExclusion in einem Verwaltungskonto erstellen. Sie müssen sie in einem Kundenkonto mit dem Bereich CAMPAIGN oder CHANNEL erstellen.
Bereich
Für BiddingDataExclusion ist ein erforderliches
scope, das auf die
folgenden Werte festgelegt werden kann. Zusätzliche bereichsspezifische Konfigurationsoptionen werden entsprechend dem verwendeten Bereich festgelegt.
CAMPAIGN: Der Ausschluss wird auf bestimmte Kampagnen angewendet. Legen Sie dascampaignsFeld auf eine Liste von Kampagnenressourcennamen fest, auf die dieser Ausschluss angewendet werden soll.CHANNEL: Der Ausschluss wird auf Kampagnen angewendet, die zu bestimmten Channel-Typen gehören. Legen Sie dasadvertising_channel_typesFeld auf eine Liste vonAdvertisingChannelTypeWerten fest, auf die dieser Ausschluss angewendet werden soll.
Geräte
Zusätzlich zum Bereich können Datenausschlüsse mit einer optionalen Liste von Gerätetypen konfiguriert werden, auf die der Ausschluss angewendet werden soll. Wenn
devices festgelegt ist, werden nur Conversion-Daten von den angegebenen
Gerätetypen ausgeschlossen. Wenn nicht angegeben, werden Conversion-Daten von allen Gerätetypen ausgeschlossen.
Datums- und Uhrzeitwerte
Neben dem Bereich und den optionalen Geräten muss jeder Datenausschluss ein Start- und Enddatum sowie eine Start- und Endzeit im Format yyyy-MM-dd HH:mm:ss haben. Ein Datenausschluss ist
rückblickend und sollte für Ereignisse verwendet werden, bei denen
start_date_time in der
Vergangenheit liegt und end_date_time
entweder in der Vergangenheit oder in der Zukunft liegt. Die Zeiten sind in der Zeitzone des Kontos angegeben.
Limits
Beachten Sie bei der Arbeit mit BiddingDataExclusion-Ressourcen die folgenden Limits:
- Eine einzelne
BiddingDataExclusionkann auf maximal 2.000 Kampagnen angewendet werden,wenn der Bereich aufCAMPAIGNfestgelegt ist. - Jedes Kundenkonto, einschließlich Verwaltungs- und Testkonten, kann jederzeit maximal 500 aktive Datenausschlüsse für Gebote haben. Wenn dieses Limit überschritten wird, tritt ein
RESOURCE_LIMIT-Fehler auf.
Beispiel
Im folgenden Beispiel wird gezeigt, wie Sie einen Datenausschluss mit dem Bereich CHANNEL erstellen.
In den auskommentierten Abschnitten wird gezeigt, wie Sie Kampagnen angeben, wenn Sie stattdessen den Bereich CAMPAIGN festlegen:
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};