حذف داده ها را ایجاد کنید

حذف داده‌ها ابزاری پیشرفته است که می‌تواند برای آگاه کردن Smart Bidding جهت نادیده گرفتن تمام داده‌های مربوط به تاریخ‌هایی که در ردیابی تبدیل یک حساب کاربری مشکلی وجود داشته است، مورد استفاده قرار گیرد. برای جزئیات بیشتر در مورد نحوه عملکرد حذف داده‌ها، به صفحه راهنمای حذف داده‌ها مراجعه کنید.

با استفاده از منبع BiddingDataExclusion و BiddingDataExclusionService.MutateBiddingDataExclusions با استفاده از BiddingDataExclusionOperation ( create ، update یا remove ؛ توجه داشته باشید که BiddingDataExclusion.status فقط خواندنی/ OUTPUT_ONLY است) به صورت برنامه‌نویسی‌شده، استثناهای داده را ایجاد، update یا حذف کنید. شما نمی‌توانید یک BiddingDataExclusion در یک حساب مدیریت ایجاد کنید. باید آن را در یک حساب مشتری کلاینت با دامنه CAMPAIGN یا CHANNEL ایجاد کنید.

محدوده

یک BiddingDataExclusion دارای یک scope الزامی است که می‌تواند روی مقادیر زیر تنظیم شود. گزینه‌های پیکربندی اضافی مختص محدوده، بر اساس محدوده مورد استفاده تنظیم می‌شوند.

  • CAMPAIGN : این استثنا برای کمپین‌های خاصی اعمال می‌شود. فیلد campaigns را روی فهرستی از نام‌های منابع کمپین که این استثنا برای آنها اعمال می‌شود، تنظیم کنید.
  • CHANNEL : این استثنا برای کمپین‌هایی که به انواع کانال‌های خاص تعلق دارند اعمال می‌شود. فیلد advertising_channel_types را روی لیستی از مقادیر AdvertisingChannelType که این استثنا برای آنها اعمال می‌شود، تنظیم کنید.

دستگاه‌ها

علاوه بر دامنه آنها، می‌توان استثنائات داده‌ها را با یک لیست اختیاری از انواع دستگاه‌هایی که این استثنا برای آنها اعمال می‌شود، پیکربندی کرد. اگر گزینه devices تنظیم شود، فقط داده‌های تبدیل از انواع دستگاه‌های مشخص شده حذف می‌شوند. اگر مشخص نشود، داده‌های تبدیل از همه انواع دستگاه‌ها حذف خواهند شد.

تاریخ‌ها و زمان‌ها

گذشته از محدوده و دستگاه‌های اختیاری، هر استثنای داده باید دارای تاریخ و زمان شروع و پایان با فرمت yyyy-MM-dd HH:mm:ss باشد. یک استثنای داده به عقب نگاه می‌کند و باید برای رویدادهایی استفاده شود که دارای start_date_time در گذشته و end_date_time در گذشته یا آینده هستند. زمان‌ها در منطقه زمانی حساب هستند.

محدودیت‌ها

هنگام کار با منابع BiddingDataExclusion ، محدودیت‌های زیر را در نظر داشته باشید:

  • یک BiddingDataExclusion واحد می‌تواند حداکثر برای ۲۰۰۰ کمپین اعمال شود، زمانی که دامنه روی CAMPAIGN تنظیم شده باشد.
  • هر حساب کاربری، شامل حساب‌های مدیریت و آزمایشی، می‌تواند حداکثر ۵۰۰ مورد حذف داده‌ی پیشنهاد قیمت فعال در هر زمان داشته باشد. تجاوز از این محدودیت منجر به خطای RESOURCE_LIMIT خواهد شد.

مثال

مثال زیر نحوه ایجاد یک استثنای داده با دامنه CHANNEL را نشان می‌دهد. بخش‌های کامنت‌گذاری شده نحوه مشخص کردن کمپین‌ها را در صورت تنظیم دامنه CAMPAIGN نشان می‌دهند:

جاوا

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());
      

سی شارپ

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

پی اچ پی

// 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
);
      

پایتون

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}'")
      

روبی

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}."
      

پرل

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

حلقه زدن

،

حذف داده‌ها ابزاری پیشرفته است که می‌تواند برای آگاه کردن Smart Bidding جهت نادیده گرفتن تمام داده‌های مربوط به تاریخ‌هایی که در ردیابی تبدیل یک حساب کاربری مشکلی وجود داشته است، مورد استفاده قرار گیرد. برای جزئیات بیشتر در مورد نحوه عملکرد حذف داده‌ها، به صفحه راهنمای حذف داده‌ها مراجعه کنید.

با استفاده از منبع BiddingDataExclusion و BiddingDataExclusionService.MutateBiddingDataExclusions با استفاده از BiddingDataExclusionOperation ( create ، update یا remove ؛ توجه داشته باشید که BiddingDataExclusion.status فقط خواندنی/ OUTPUT_ONLY است) به صورت برنامه‌نویسی‌شده، استثناهای داده را ایجاد، update یا حذف کنید. شما نمی‌توانید یک BiddingDataExclusion در یک حساب مدیریت ایجاد کنید. باید آن را در یک حساب مشتری کلاینت با دامنه CAMPAIGN یا CHANNEL ایجاد کنید.

محدوده

یک BiddingDataExclusion دارای یک scope الزامی است که می‌تواند روی مقادیر زیر تنظیم شود. گزینه‌های پیکربندی اضافی مختص محدوده، بر اساس محدوده مورد استفاده تنظیم می‌شوند.

  • CAMPAIGN : این استثنا برای کمپین‌های خاصی اعمال می‌شود. فیلد campaigns را روی فهرستی از نام‌های منابع کمپین که این استثنا برای آنها اعمال می‌شود، تنظیم کنید.
  • CHANNEL : این استثنا برای کمپین‌هایی که به انواع کانال‌های خاص تعلق دارند اعمال می‌شود. فیلد advertising_channel_types را روی لیستی از مقادیر AdvertisingChannelType که این استثنا برای آنها اعمال می‌شود، تنظیم کنید.

دستگاه‌ها

علاوه بر دامنه آنها، می‌توان استثنائات داده‌ها را با یک لیست اختیاری از انواع دستگاه‌هایی که این استثنا برای آنها اعمال می‌شود، پیکربندی کرد. اگر گزینه devices تنظیم شود، فقط داده‌های تبدیل از انواع دستگاه‌های مشخص شده حذف می‌شوند. اگر مشخص نشود، داده‌های تبدیل از همه انواع دستگاه‌ها حذف خواهند شد.

تاریخ‌ها و زمان‌ها

گذشته از محدوده و دستگاه‌های اختیاری، هر استثنای داده باید دارای تاریخ و زمان شروع و پایان با فرمت yyyy-MM-dd HH:mm:ss باشد. یک استثنای داده به عقب نگاه می‌کند و باید برای رویدادهایی استفاده شود که دارای start_date_time در گذشته و end_date_time در گذشته یا آینده هستند. زمان‌ها در منطقه زمانی حساب هستند.

محدودیت‌ها

هنگام کار با منابع BiddingDataExclusion ، محدودیت‌های زیر را در نظر داشته باشید:

  • یک BiddingDataExclusion واحد می‌تواند حداکثر برای ۲۰۰۰ کمپین اعمال شود، زمانی که دامنه روی CAMPAIGN تنظیم شده باشد.
  • هر حساب کاربری، شامل حساب‌های مدیریت و آزمایشی، می‌تواند حداکثر ۵۰۰ مورد حذف داده‌ی پیشنهاد قیمت فعال در هر زمان داشته باشد. تجاوز از این محدودیت منجر به خطای RESOURCE_LIMIT خواهد شد.

مثال

مثال زیر نحوه ایجاد یک استثنای داده با دامنه CHANNEL را نشان می‌دهد. بخش‌های کامنت‌گذاری شده نحوه مشخص کردن کمپین‌ها را در صورت تنظیم دامنه CAMPAIGN نشان می‌دهند:

جاوا

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());
      

سی شارپ

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

پی اچ پی

// 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
);
      

پایتون

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}'")
      

روبی

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}."
      

پرل

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

حلقه زدن

،

حذف داده‌ها ابزاری پیشرفته است که می‌تواند برای آگاه کردن Smart Bidding جهت نادیده گرفتن تمام داده‌های مربوط به تاریخ‌هایی که در ردیابی تبدیل یک حساب کاربری مشکلی وجود داشته است، مورد استفاده قرار گیرد. برای جزئیات بیشتر در مورد نحوه عملکرد حذف داده‌ها، به صفحه راهنمای حذف داده‌ها مراجعه کنید.

با استفاده از منبع BiddingDataExclusion و BiddingDataExclusionService.MutateBiddingDataExclusions با استفاده از BiddingDataExclusionOperation ( create ، update یا remove ؛ توجه داشته باشید که BiddingDataExclusion.status فقط خواندنی/ OUTPUT_ONLY است) به صورت برنامه‌نویسی‌شده، استثناهای داده را ایجاد، update یا حذف کنید. شما نمی‌توانید یک BiddingDataExclusion در یک حساب مدیریت ایجاد کنید. باید آن را در یک حساب مشتری کلاینت با دامنه CAMPAIGN یا CHANNEL ایجاد کنید.

محدوده

یک BiddingDataExclusion دارای یک scope الزامی است که می‌تواند روی مقادیر زیر تنظیم شود. گزینه‌های پیکربندی اضافی مختص محدوده، بر اساس محدوده مورد استفاده تنظیم می‌شوند.

  • CAMPAIGN : این استثنا برای کمپین‌های خاصی اعمال می‌شود. فیلد campaigns را روی فهرستی از نام‌های منابع کمپین که این استثنا برای آنها اعمال می‌شود، تنظیم کنید.
  • CHANNEL : این استثنا برای کمپین‌هایی که به انواع کانال‌های خاص تعلق دارند اعمال می‌شود. فیلد advertising_channel_types را روی لیستی از مقادیر AdvertisingChannelType که این استثنا برای آنها اعمال می‌شود، تنظیم کنید.

دستگاه‌ها

علاوه بر دامنه آنها، می‌توان استثنائات داده‌ها را با یک لیست اختیاری از انواع دستگاه‌هایی که این استثنا برای آنها اعمال می‌شود، پیکربندی کرد. اگر گزینه devices تنظیم شود، فقط داده‌های تبدیل از انواع دستگاه‌های مشخص شده حذف می‌شوند. اگر مشخص نشود، داده‌های تبدیل از همه انواع دستگاه‌ها حذف خواهند شد.

تاریخ‌ها و زمان‌ها

گذشته از محدوده و دستگاه‌های اختیاری، هر استثنای داده باید دارای تاریخ و زمان شروع و پایان با فرمت yyyy-MM-dd HH:mm:ss باشد. یک استثنای داده به عقب نگاه می‌کند و باید برای رویدادهایی استفاده شود که دارای start_date_time در گذشته و end_date_time در گذشته یا آینده هستند. زمان‌ها در منطقه زمانی حساب هستند.

محدودیت‌ها

هنگام کار با منابع BiddingDataExclusion ، محدودیت‌های زیر را در نظر داشته باشید:

  • یک BiddingDataExclusion واحد می‌تواند حداکثر برای ۲۰۰۰ کمپین اعمال شود، زمانی که دامنه روی CAMPAIGN تنظیم شده باشد.
  • هر حساب کاربری، شامل حساب‌های مدیریت و آزمایشی، می‌تواند حداکثر ۵۰۰ مورد حذف داده‌ی پیشنهاد قیمت فعال در هر زمان داشته باشد. تجاوز از این محدودیت منجر به خطای RESOURCE_LIMIT خواهد شد.

مثال

مثال زیر نحوه ایجاد یک استثنای داده با دامنه CHANNEL را نشان می‌دهد. بخش‌های کامنت‌گذاری شده نحوه مشخص کردن کمپین‌ها را در صورت تنظیم دامنه CAMPAIGN نشان می‌دهند:

جاوا

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());
      

سی شارپ

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

پی اچ پی

// 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
);
      

پایتون

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}'")
      

روبی

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}."
      

پرل

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

حلقه زدن