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_BUDGETschlägt einen neuen Budgetbetrag für Kampagnen mit beschränktem Budget vor.MOVE_UNUSED_BUDGETzeigt Möglichkeiten auf, überschüssiges Budget von einer Kampagne auf eine andere Kampagne mit beschränktem Budget umzuverteilen.MARGINAL_ROI_CAMPAIGN_BUDGETschlägt einen neuen Budgetbetrag für Kampagnen vor, deren ROI sich voraussichtlich durch eine Budgetanpassung erhöht.FORECASTING_CAMPAIGN_BUDGETschlä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.