Kampagnenbudgets erstellen

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

Durchschnittliches Tagesbudget erstellen

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

Da explicitly_shared standardmäßig auf true gesetzt wird, wenn es in einem create-Vorgang weggelassen wird, müssen Sie explicitly_shared explizit auf false setzen, um ein nicht freigegebenes Budget für eine einzelne Kampagne zu erstellen, wie im folgenden Beispiel gezeigt:

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

Gesamtbudget für die 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 festlegen möchten, setzen Sie das Budget period auf CUSTOM_PERIOD und legen Sie total_amount_micros fest. Gesamtbudgets von Kampagnen können nicht für mehrere Kampagnen verwendet werden. Sie müssen daher explicitly_shared auf false festlegen, wenn Sie ein Budget mit einem period von CUSTOM_PERIOD erstellen.

Beim Programmieren 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 mehrere 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 zeigt Möglichkeiten auf, überschüssiges Budget von einer Kampagne auf 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 erhöht.

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

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