Membuat anggaran kampanye

Ada dua jenis anggaran: anggaran harian rata-rata dan total anggaran kampanye. Anda dapat membuat salah satu jenis menggunakan CampaignBudgetService.

Membuat anggaran harian rata-rata

Ini adalah jumlah rata-rata yang bersedia Anda belanjakan per hari untuk sebuah kampanye. Anda dapat menetapkan anggaran harian rata-rata dengan kolom amount_micros dari CampaignBudget. Anggaran period ditetapkan secara default ke DAILY.

Karena explicitly_shared secara default ditetapkan ke true jika dihilangkan dalam operasi create, Anda harus secara eksplisit menetapkan explicitly_shared ke false untuk membuat anggaran tidak dibagikan satu kampanye, seperti yang ditunjukkan dalam contoh berikut:

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

Membuat total anggaran kampanye

Ini adalah jumlah total yang bersedia Anda belanjakan selama seluruh durasi kampanye. Untuk membuat total anggaran kampanye, tetapkan anggaran period ke CUSTOM_PERIOD dan tetapkan total_amount_micros. Total anggaran kampanye tidak dapat digunakan bersama di beberapa kampanye, jadi Anda harus menetapkan explicitly_shared ke false saat membuat anggaran dengan period CUSTOM_PERIOD.

Saat membuat kode, kolomnya sama dengan anggaran harian rata-rata, kecuali untuk period dan total_amount_micros.

Rekomendasi anggaran kampanye

Google Ads API menyediakan beberapa jenis rekomendasi untuk membantu Anda mengoptimalkan anggaran kampanye:

  • CAMPAIGN_BUDGET menyarankan jumlah anggaran baru untuk kampanye yang dibatasi anggaran.

  • MOVE_UNUSED_BUDGET menyoroti peluang untuk mengalokasikan ulang kelebihan anggaran dari satu kampanye ke kampanye lain yang dibatasi anggaran.

  • MARGINAL_ROI_CAMPAIGN_BUDGET menyarankan jumlah anggaran baru untuk kampanye yang ROI-nya diperkirakan akan meningkat dengan penyesuaian anggaran.

  • FORECASTING_CAMPAIGN_BUDGET menyarankan jumlah anggaran baru untuk kampanye yang diperkirakan akan dibatasi anggaran pada masa mendatang.

Untuk jenis rekomendasi tambahan dan panduan tentang cara menggunakan rekomendasi di Google Ads API, buka panduan Skor pengoptimalan dan rekomendasi.