Kampanya bütçeleri oluşturma

İki tür bütçe vardır: ortalama günlük bütçeler ve toplam kampanya bütçeleri. CampaignBudgetService simgesini kullanarak her iki türden de oluşturabilirsiniz.

Ortalama günlük bütçe oluşturma

Bu, bir kampanya için günlük olarak harcamak istediğiniz ortalama tutardır. amount_micros alanını kullanarak ortalama günlük bütçe belirleyebilirsiniz. CampaignBudget Bütçe period varsayılan olarak DAILY değerine ayarlanır.

explicitly_shared bir create işleminde atlanırsa varsayılan olarak true ayarlandığından, aşağıdaki örnekte gösterildiği gibi tek kampanyalı paylaşılan olmayan bir bütçe oluşturmak için explicitly_shared değerini açıkça false olarak ayarlamanız gerekir:

Java

private static String addCampaignBudget(GoogleAdsClient googleAdsClient, long customerId) {
  CampaignBudget budget =
      CampaignBudget.newBuilder()
          .setName("Interplanetary Cruise Budget #" + getPrintableDateTime())
          .setDeliveryMethod(BudgetDeliveryMethod.STANDARD)
          .setAmountMicros(500_000)
          .build();

  CampaignBudgetOperation op = CampaignBudgetOperation.newBuilder().setCreate(budget).build();

  try (CampaignBudgetServiceClient campaignBudgetServiceClient =
      googleAdsClient.getLatestVersion().createCampaignBudgetServiceClient()) {
    MutateCampaignBudgetsResponse response =
        campaignBudgetServiceClient.mutateCampaignBudgets(
            Long.toString(customerId), ImmutableList.of(op));
    String budgetResourceName = response.getResults(0).getResourceName();
    System.out.printf("Added budget: %s%n", budgetResourceName);
    return budgetResourceName;
  }
}
      

C#

private static string CreateBudget(GoogleAdsClient client, long customerId)
{
    // Get the BudgetService.
    CampaignBudgetServiceClient budgetService = client.GetService(
        Services.V25.CampaignBudgetService);

    // Create the campaign budget.
    CampaignBudget budget = new CampaignBudget()
    {
        Name = "Interplanetary Cruise Budget #" + ExampleUtilities.GetRandomString(),
        DeliveryMethod = BudgetDeliveryMethod.Standard,
        AmountMicros = 500000
    };

    // Create the operation.
    CampaignBudgetOperation budgetOperation = new CampaignBudgetOperation()
    {
        Create = budget
    };

    // Create the campaign budget.
    MutateCampaignBudgetsResponse response = budgetService.MutateCampaignBudgets(
        customerId.ToString(), new CampaignBudgetOperation[] { budgetOperation });
    return response.Results[0].ResourceName;
}
      

PHP

private static function addCampaignBudget(GoogleAdsClient $googleAdsClient, int $customerId)
{
    // Creates a campaign budget.
    $budget = new CampaignBudget([
        'name' => 'Interplanetary Cruise Budget #' . Helper::getPrintableDatetime(),
        'delivery_method' => BudgetDeliveryMethod::STANDARD,
        'amount_micros' => 500000
    ]);

    // Creates a campaign budget operation.
    $campaignBudgetOperation = new CampaignBudgetOperation();
    $campaignBudgetOperation->setCreate($budget);

    // Issues a mutate request.
    $campaignBudgetServiceClient = $googleAdsClient->getCampaignBudgetServiceClient();
    $response = $campaignBudgetServiceClient->mutateCampaignBudgets(
        MutateCampaignBudgetsRequest::build($customerId, [$campaignBudgetOperation])
    );

    /** @var CampaignBudget $addedBudget */
    $addedBudget = $response->getResults()[0];
    printf("Added budget named '%s'%s", $addedBudget->getResourceName(), PHP_EOL);

    return $addedBudget->getResourceName();
}
      

Python

# Create a budget, which can be shared by multiple campaigns.
campaign_budget_operation: CampaignBudgetOperation = client.get_type(
    "CampaignBudgetOperation"
)
campaign_budget: CampaignBudget = campaign_budget_operation.create
campaign_budget.name = f"Interplanetary Budget {uuid.uuid4()}"
campaign_budget.delivery_method = (
    client.enums.BudgetDeliveryMethodEnum.STANDARD
)
campaign_budget.amount_micros = 500000

# Add budget.
campaign_budget_response: MutateCampaignBudgetsResponse
try:
    budget_operations: List[CampaignBudgetOperation] = [
        campaign_budget_operation
    ]
    campaign_budget_response = (
        campaign_budget_service.mutate_campaign_budgets(
            customer_id=customer_id,
            operations=budget_operations,
        )
    )
except GoogleAdsException as ex:
    handle_googleads_exception(ex)
      

Ruby

# Create a budget, which can be shared by multiple campaigns.
campaign_budget = client.resource.campaign_budget do |cb|
  cb.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}"
  cb.delivery_method = :STANDARD
  cb.amount_micros = 500000
end

operation = client.operation.create_resource.campaign_budget(campaign_budget)

# Add budget.
return_budget = client.service.campaign_budget.mutate_campaign_budgets(
  customer_id: customer_id,
  operations: [operation],
)
      

Perl

# Create a campaign budget, which can be shared by multiple campaigns.
my $campaign_budget =
  Google::Ads::GoogleAds::V25::Resources::CampaignBudget->new({
    name           => "Interplanetary budget #" . uniqid(),
    deliveryMethod => STANDARD,
    amountMicros   => 500000
  });

# Create a campaign budget operation.
my $campaign_budget_operation =
  Google::Ads::GoogleAds::V25::Services::CampaignBudgetService::CampaignBudgetOperation
  ->new({create => $campaign_budget});

# Add the campaign budget.
my $campaign_budgets_response = $api_client->CampaignBudgetService()->mutate({
    customerId => $customer_id,
    operations => [$campaign_budget_operation]});
      

curl

Toplam kampanya bütçesi oluşturma

Bu, kampanyanın süresi boyunca harcamaya hazır olduğunuz toplam tutardır. Toplam kampanya bütçesi oluşturmak için bütçeyi period olarak ayarlayın ve CUSTOM_PERIOD olarak belirleyin. Ardından total_amount_micros olarak ayarlayın. Kampanya toplam bütçeleri kampanyalar arasında paylaşılamaz. Bu nedenle, CUSTOM_PERIOD tutarında bir period ile bütçe oluştururken explicitly_shared değerini false olarak ayarlamanız gerekir.

Kodlama sırasında, period ve total_amount_micros hariç alanlar ortalama günlük bütçedeki alanlarla aynıdır.

Kampanya bütçesi önerileri

Google Ads API, kampanya bütçelerinizi optimize etmenize yardımcı olmak için çeşitli öneri türleri sunar:

  • CAMPAIGN_BUDGET Bütçe kısıtlamalı kampanyalar için yeni bir bütçe tutarı önerir.

  • MOVE_UNUSED_BUDGET Bir kampanyadaki fazla bütçeyi, bütçe kısıtlamalı başka bir kampanyaya yeniden tahsis etme fırsatlarını öne çıkarır.

  • MARGINAL_ROI_CAMPAIGN_BUDGET YG'sinin bütçe ayarlamasıyla artacağı tahmin edilen kampanyalar için yeni bir bütçe tutarı önerir.

  • FORECASTING_CAMPAIGN_BUDGET, gelecekte bütçe kısıtlamasıyla karşılaşması beklenen kampanyalar için yeni bir bütçe tutarı önerir.

Ek öneri türleri ve Google Ads API'de önerilerle çalışma hakkında rehberlik için Optimizasyon puanı ve öneriler kılavuzunu ziyaret edin.