Datenausschlüsse erstellen

Datenausschlüsse sind ein erweitertes Tool, mit dem Sie Smart Bidding anweisen können, alle Daten von Tagen zu ignorieren, an denen Probleme mit dem Conversion-Tracking eines Kontos aufgetreten sind. Weitere Informationen zur Funktionsweise von Datenausschlüssen finden Sie auf der Hilfeseite zu Datenausschlüssen.

Sie können Datenausschlüsse programmatisch erstellen, aktualisieren oder entfernen. Verwenden Sie dazu die Ressource BiddingDataExclusion und BiddingDataExclusionService.MutateBiddingDataExclusions mit BiddingDataExclusionOperation (create, update oder remove). Beachten Sie, dass BiddingDataExclusion.status schreibgeschützt ist (OUTPUT_ONLY). Sie können kein BiddingDataExclusion in einem Verwaltungskonto erstellen. Es muss in einem Kundenkonto mit dem Bereich CAMPAIGN oder CHANNEL erstellt werden.

Bereich

Ein BiddingDataExclusion hat 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 das Feld campaigns auf eine Liste von Kampagnenressourcennamen fest, auf die dieser Ausschluss angewendet wird.
  • CHANNEL: Der Ausschluss wird auf Kampagnen angewendet, die zu bestimmten Channneltypen gehören. Legen Sie für das Feld advertising_channel_types eine Liste mit AdvertisingChannelType-Werten fest, auf die dieser Ausschluss angewendet wird.

Geräte

Zusätzlich zum Umfang können Datenausschlüsse mit einer optionalen Liste von Gerätetypen konfiguriert werden, auf die der Ausschluss angewendet wird. Wenn devices festgelegt ist, werden nur Conversion-Daten von den angegebenen Gerätetypen ausgeschlossen. Wenn nichts angegeben ist, werden Conversion-Daten von allen Gerätetypen ausgeschlossen.

Datums- und Uhrzeitwerte

Abgesehen vom Umfang 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, die ein start_date_time in der Vergangenheit und ein end_date_time in der Vergangenheit oder Zukunft haben. Die Zeiten sind in der Zeitzone des Kontos angegeben.

Limits

Beachten Sie bei der Arbeit mit BiddingDataExclusion-Ressourcen die folgenden Einschränkungen:

  • Ein einzelnes BiddingDataExclusion kann für maximal 2.000 Kampagnen gelten,wenn der Bereich auf CAMPAIGN festgelegt ist.
  • Für jedes Kundenkonto, einschließlich Verwaltungs- und Testkonten, können jederzeit maximal 500 aktive Ausschlüsse von Gebotsdaten vorhanden sein. Das Überschreiten dieses Limits führt zu einem RESOURCE_LIMIT-Fehler.

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::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};
      

curl