Veri hariç tutmaları oluşturma

Verileri hariç tutma, Akıllı Teklif'i bilgilendirmek için kullanılabilen gelişmiş bir araçtır. Bu araç, bir hesabın dönüşüm izlemesiyle ilgili sorunların yaşandığı tarihlerdeki tüm verilerin yoksayılmasını sağlar. Veri hariç tutma özelliğinin işleyiş şekli hakkında daha fazla bilgi için veri hariç tutma yardım sayfasına bakın.

BiddingDataExclusion kaynağını ve BiddingDataExclusionService.MutateBiddingDataExclusions ile BiddingDataExclusionOperation kullanarak veri hariç tutmaları programatik olarak oluşturun, güncelleyin veya kaldırın (create, update veya remove; BiddingDataExclusion.status'nin salt okunur olduğunu unutmayın/OUTPUT_ONLY). Yönetici hesabında BiddingDataExclusion oluşturamazsınız. Bunu, kapsamı CAMPAIGN veya CHANNEL olan bir müşteri hesabında oluşturmanız gerekir.

Kapsam

Bir BiddingDataExclusion, aşağıdaki değerlere ayarlanabilen zorunlu bir scope içerir. Kapsama özel ek yapılandırma seçenekleri, kullanılan kapsama göre ayarlanır.

  • CAMPAIGN: Hariç tutma işlemi belirli kampanyalara uygulanır. campaigns alanı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_types alanını, bu hariç tutmanın uygulanacağı AdvertisingChannelType değ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. Veri hariç tutma işlemi geçmişe dönüktür ve geçmişte start_date_time olan ve 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ırları göz önünde bulundurun:

  • Kapsam CAMPAIGN olarak ayarlandığında tek bir BiddingDataExclusion en fazla 2.000 kampanya için geçerli olabilir.
  • Yönetici ve test hesapları dahil olmak üzere her müşteri hesabında herhangi bir zamanda en fazla 500 etkin teklif verme verisi hariç tutma olabilir. Bu sınırın aşılması RESOURCE_LIMIT hatasına neden olur.

Örnek

Aşağıdaki örnekte, CHANNEL kapsamlı bir veri hariç tutma işleminin nasıl oluşturulacağı gösterilmektedir. Yorum satırı olarak belirtilen bölümlerde, bunun yerine bir CAMPAIGN kapsamı ayarlamanız durumunda kampanyaların nasıl belirtileceği gösterilmektedir:

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