יצירת תקציבים לקמפיינים

יש שני סוגים של תקציבים: תקציבים יומיים ממוצעים ותקציבים כוללים לקמפיינים. אפשר ליצור כל אחד מהסוגים האלה באמצעות CampaignBudgetService.

יצירת תקציב יומי ממוצע

זהו הסכום הממוצע שאתם מוכנים להוציא ביום על הקמפיין הזה. אפשר להגדיר תקציב יומי ממוצע עם amount_micros של CampaignBudget. ברירת המחדל של התקציב period היא DAILY.

בדוגמה הבאה מוצג תהליך ליצירת תקציב יומי ממוצע חדש לקמפיין.

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.V23.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::V23::Resources::CampaignBudget->new({
    name           => "Interplanetary budget #" . uniqid(),
    deliveryMethod => STANDARD,
    amountMicros   => 500000
  });

# Create a campaign budget operation.
my $campaign_budget_operation =
  Google::Ads::GoogleAds::V23::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]});
      

יצירת תקציב כולל לקמפיין

זה הסכום הכולל שאתם מוכנים להוציא במהלך תקופת הפעילות של הקמפיין. כדי ליצור תקציב כולל לקמפיין, מגדירים את התקציב 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, אפשר לעיין במדריך בנושא ציון האופטימיזציה והמלצות.