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 kullanarak her iki türü 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. CampaignBudget nesnesinin amount_micros alanını kullanarak ortalama günlük bütçe belirleyebilirsiniz. Bütçe period varsayılan olarak DAILY değerine ayarlanır.

explicitly_shared, bir create işleminde atlanırsa varsayılan olarak true değerini alır. Bu nedenle, aşağıdaki örnekte gösterildiği gibi, tek kampanyalı ve 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.V26.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::V26::Resources::CampaignBudget->new({
    name           => "Interplanetary budget #" . uniqid(),
    deliveryMethod => STANDARD,
    amountMicros   => 500000
  });

# Create a campaign budget operation.
my $campaign_budget_operation =
  Google::Ads::GoogleAds::V26::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.total_amount_micros Toplam kampanya bütçeleri kampanyalar arasında paylaşılamaz. Bu nedenle, period değeri CUSTOM_PERIOD olan bir bütçe oluştururken explicitly_shared değerini false olarak ayarlamanız gerekir.

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

Kampanya bütçesiyle ilgili öneriler

Google Ads API, kampanya bütçelerinizi optimize etmenize yardımcı olacak ç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, fazla bütçeyi bir kampanyadan bütçe kısıtlamalı başka bir kampanyaya yeniden tahsis etme fırsatlarını vurgular.

  • MARGINAL_ROI_CAMPAIGN_BUDGET, bütçe ayarlamasıyla YG'sinin 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.

Google Ads API'de önerilerle çalışma hakkında daha fazla öneri türü ve rehberlik için Optimizasyon puanı ve öneriler kılavuzunu inceleyin.