ایجاد بودجه پویش

دو نوع بودجه وجود دارد: بودجه میانگین روزانه و بودجه کل پویش. می‌توانید هرکدام از این دو نوع را بااستفاده از CampaignBudgetService ایجاد کنید.

ساختن بودجه میانگین روزانه

این مقدار میانگینی است که مایلید روزانه برای پویشی هزینه کنید. می‌توانید بودجه میانگین روزانه را با فیلد amount_micros از CampaignBudget تنظیم کنید. بودجه period به‌طور پیش‌فرض DAILY است.

چون explicitly_shared درصورت حذف شدن در عملیات create، به‌طور پیش‌فرض روی true تنظیم می‌شود، باید explicitly_shared را به‌طور صریح روی false تنظیم کنید تا بودجه غیرمشترک تک‌پویشی ایجاد کنید، همان‌طور که در مثال زیر نشان داده شده است:

جاوا

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],
)
      

پرل

# 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

ایجاد بودجه کل پویش

این کل مبلغی است که مایلید در کل مدت پویش هزینه کنید. برای ایجاد بودجه کل پویش، بودجه را روی period CUSTOM_PERIOD تنظیم کنید و total_amount_micros را تنظیم کنید. بودجه‌های کل پویش نمی‌توانند در پویش‌ها هم‌رسانی شوند، بنابراین باید explicitly_shared را روی false تنظیم کنید وقتی بودجه‌ای با period CUSTOM_PERIOD ایجاد می‌کنید.

هنگام کدنویسی، فیلدها همانند بودجه میانگین روزانه هستند، به‌جز period و total_amount_micros.

توصیه‌های بودجه پویش

Google Ads API چندین نوع توصیه ارائه می‌دهد تا به شما کمک کند بودجه‌های پویش خود را بهینه‌سازی کنید:

  • CAMPAIGN_BUDGETمقدار بودجه جدیدی را برای پویش‌های با بودجه محدود پیشنهاد می‌دهد.

  • MOVE_UNUSED_BUDGET فرصت‌های تخصیص مجدد بودجه اضافی از یک پویش به پویش دیگر با بودجه محدود را برجسته می‌کند.

  • MARGINAL_ROI_CAMPAIGN_BUDGET مبلغ بودجه جدیدی را برای پویش‌هایی پیشنهاد می‌کند که پیش‌بینی می‌شود با اصلاح بودجه، «نرخ بازگشت سرمایه» آن‌ها افزایش یابد.

  • FORECASTING_CAMPAIGN_BUDGET مبلغ بودجه جدیدی را برای پویش‌هایی پیشنهاد می‌کند که انتظار می‌رود در آینده با محدودیت بودجه مواجه شوند.

برای انواع توصیه‌های بیشتر و راهنمایی درباره کار با توصیه‌ها در Google Ads API، به راهنمای امتیاز بهینه‌سازی و توصیه‌ها مراجعه کنید.