Kampagnenbudgets erstellen

Es gibt zwei Arten von Budgets: durchschnittliche Tagesbudgets und Gesamtbudgets von Kampagnen. Sie können beide Typen mit CampaignBudgetService erstellen.

Durchschnittliches Tagesbudget erstellen

Das ist der durchschnittliche Betrag, den Sie pro Tag für eine Kampagne auszugeben bereit sind. Sie können ein durchschnittliches Tagesbudget im Feld amount_micros von CampaignBudget festlegen. Das Budget period ist standardmäßig auf DAILY festgelegt.

Da explicitly_shared standardmäßig auf true festgelegt wird, wenn es in einem create-Vorgang weggelassen wird, müssen Sie explicitly_shared explizit auf false festlegen, um ein nicht gemeinsames Budget für eine einzelne Kampagne zu erstellen. Das folgende Beispiel zeigt, wie das geht:

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

Gesamtbudget der Kampagne festlegen

Das ist der Gesamtbetrag, den Sie während der gesamten Laufzeit der Kampagne ausgeben möchten. Wenn Sie ein Gesamtbudget für die Kampagne erstellen möchten, legen Sie das Budget period auf CUSTOM_PERIOD und total_amount_micros fest. Gesamtbudgets für Kampagnen können nicht für mehrere Kampagnen verwendet werden. Daher müssen Sie explicitly_shared auf false festlegen, wenn Sie ein Budget mit einem period von CUSTOM_PERIOD erstellen.

Bei der Programmierung sind die Felder dieselben wie für ein durchschnittliches Tagesbudget, mit Ausnahme von period und total_amount_micros.

Empfehlungen zum Kampagnenbudget

Die Google Ads API bietet verschiedene Empfehlungstypen, mit denen Sie Ihre Kampagnenbudgets optimieren können:

  • CAMPAIGN_BUDGET schlägt einen neuen Budgetbetrag für Kampagnen mit beschränktem Budget vor.

  • MOVE_UNUSED_BUDGET bietet Möglichkeiten, überschüssiges Budget von einer Kampagne in eine andere Kampagne mit beschränktem Budget umzuverteilen.

  • MARGINAL_ROI_CAMPAIGN_BUDGET schlägt einen neuen Budgetbetrag für Kampagnen vor, deren ROI sich voraussichtlich durch eine Budgetanpassung steigern lässt.

  • FORECASTING_CAMPAIGN_BUDGET schlägt ein neues Budget für Kampagnen vor, die in Zukunft voraussichtlich ein beschränktes Budget haben werden.

Weitere Empfehlungstypen und Informationen zum Arbeiten mit Empfehlungen in der Google Ads API finden Sie im Leitfaden Optimierungsfaktor und Empfehlungen.