Wenn Sie sich mit anderen Nutzern über unsere Produkte austauschen und Feedback geben möchten, können Sie dem offiziellen Google Ads-Discord-Kanal auf dem Server der
Google Advertising and Measurement Community beitreten.
Budget für eine Performance Max-Kampagne erstellen
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Für eine Performance Max-Kampagne ist wie für alle anderen Kampagnen ein Budget erforderlich, das jedoch den folgenden Einschränkungen unterliegt:
- Das Budget muss einen Budgetzeitraum von
DAILY
haben.
- Das Budget kann nicht freigegeben werden.
Verwenden Sie ein durchschnittliches Tagesbudget, das mindestens dem Dreifachen des CPA oder des Cost-per-Conversion für die Conversion-Aktionen für Ihre Kampagne entspricht. Im Allgemeinen sollte das Budget mit dem anderer gut laufender Kampagnen in Ihrem Konto übereinstimmen.
Weitere Informationen
Wenn ein Budget im Verhältnis zum CPA oder Cost-per-Conversion zu niedrig ist, kann es sein, dass die Lernphase länger dauert oder Sie über mehrere Tage hinweg weniger Conversions erzielen.
Java
/** Creates a MutateOperation that creates a new CampaignBudget. */
private MutateOperation createCampaignBudgetOperation(long customerId) {
CampaignBudget campaignBudget =
CampaignBudget.newBuilder()
.setName("Performance Max campaign budget #" + getPrintableDateTime())
// The budget period already defaults to DAILY.
.setAmountMicros(50_000_000)
.setDeliveryMethod(BudgetDeliveryMethod.STANDARD)
// A Performance Max campaign cannot use a shared campaign budget.
.setExplicitlyShared(false)
// Set a temporary ID in the budget's resource name, so it can be referenced
// by the campaign in later steps.
.setResourceName(ResourceNames.campaignBudget(customerId, BUDGET_TEMPORARY_ID))
.build();
return MutateOperation.newBuilder()
.setCampaignBudgetOperation(
CampaignBudgetOperation.newBuilder().setCreate(campaignBudget).build())
.build();
}
C#
/// <summary>
/// Creates a MutateOperation that creates a new CampaignBudget.
///
/// A temporary ID will be assigned to this campaign budget so that it can be
/// referenced by other objects being created in the same Mutate request.
/// </summary>
/// <param name="budgetResourceName">The temporary resource name of the budget to
/// create.</param>
/// <returns>A MutateOperation that creates a CampaignBudget.</returns>
private MutateOperation CreateCampaignBudgetOperation(string budgetResourceName)
{
MutateOperation operation = new MutateOperation
{
CampaignBudgetOperation = new CampaignBudgetOperation
{
Create = new CampaignBudget
{
Name = "Performance Max campaign budget #"
+ ExampleUtilities.GetRandomString(),
// The budget period already defaults to DAILY.
AmountMicros = 50000000,
// A Performance Max campaign cannot use a shared campaign budget.
ExplicitlyShared = false,
// Set a temporary ID in the budget's resource name so it can be referenced
// by the campaign in later steps.
ResourceName = budgetResourceName
}
}
};
return operation;
}
PHP
private static function createCampaignBudgetOperation(int $customerId): MutateOperation
{
// Creates a mutate operation that creates a campaign budget operation.
return new MutateOperation([
'campaign_budget_operation' => new CampaignBudgetOperation([
'create' => new CampaignBudget([
// Sets a temporary ID in the budget's resource name so it can be referenced
// by the campaign in later steps.
'resource_name' => ResourceNames::forCampaignBudget(
$customerId,
self::BUDGET_TEMPORARY_ID
),
'name' => 'Performance Max campaign budget #' . Helper::getPrintableDatetime(),
// The budget period already defaults to DAILY.
'amount_micros' => 50000000,
'delivery_method' => BudgetDeliveryMethod::STANDARD,
// A Performance Max campaign cannot use a shared campaign budget.
'explicitly_shared' => false
])
])
]);
}
Python
def create_campaign_budget_operation(
client: GoogleAdsClient,
customer_id: str,
) -> MutateOperation:
"""Creates a MutateOperation that creates a new CampaignBudget.
A temporary ID will be assigned to this campaign budget so that it can be
referenced by other objects being created in the same Mutate request.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
Returns:
a MutateOperation that creates a CampaignBudget.
"""
mutate_operation: MutateOperation = client.get_type("MutateOperation")
campaign_budget_operation: CampaignBudgetOperation = (
mutate_operation.campaign_budget_operation
)
campaign_budget: CampaignBudget = campaign_budget_operation.create
campaign_budget.name = f"Performance Max campaign budget #{uuid4()}"
# The budget period already defaults to DAILY.
campaign_budget.amount_micros = 50000000
campaign_budget.delivery_method = (
client.enums.BudgetDeliveryMethodEnum.STANDARD
)
# A Performance Max campaign cannot use a shared campaign budget.
campaign_budget.explicitly_shared = False
# Set a temporary ID in the budget's resource name so it can be referenced
# by the campaign in later steps.
campaign_budget.resource_name = client.get_service(
"CampaignBudgetService"
).campaign_budget_path(customer_id, _BUDGET_TEMPORARY_ID)
return mutate_operation
Ruby
# Creates a MutateOperation that creates a new CampaignBudget.
#
# A temporary ID will be assigned to this campaign budget so that it can be
# referenced by other objects being created in the same Mutate request.
def create_campaign_budget_operation(client, customer_id)
client.operation.mutate do |m|
m.campaign_budget_operation = client.operation.create_resource.campaign_budget do |cb|
cb.name = "Performance Max campaign budget #{SecureRandom.uuid}"
# The budget period already defaults to DAILY.
cb.amount_micros = 50_000_000
cb.delivery_method = :STANDARD
# A Performance Max campaign cannot use a shared campaign budget.
cb.explicitly_shared = false
# Set a temporary ID in the budget's resource name so it can be referenced
# by the campaign in later steps.
cb.resource_name = client.path.campaign_budget(customer_id, BUDGET_TEMPORARY_ID)
end
end
end
Perl
sub create_campaign_budget_operation {
my ($customer_id) = @_;
# Create a mutate operation that creates a campaign budget operation.
return
Google::Ads::GoogleAds::V21::Services::GoogleAdsService::MutateOperation->
new({
campaignBudgetOperation =>
Google::Ads::GoogleAds::V21::Services::CampaignBudgetService::CampaignBudgetOperation
->new({
create => Google::Ads::GoogleAds::V21::Resources::CampaignBudget->new(
{
# Set a temporary ID in the budget's resource name so it can be
# referenced by the campaign in later steps.
resourceName =>
Google::Ads::GoogleAds::V21::Utils::ResourceNames::campaign_budget(
$customer_id, BUDGET_TEMPORARY_ID
),
name => "Performance Max campaign budget #" . uniqid(),
# The budget period already defaults to DAILY.
amountMicros => 50000000,
deliveryMethod => STANDARD,
# A Performance Max campaign cannot use a shared campaign budget.
explicitlyShared => "false",
})})});
}
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-08-31 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-08-31 (UTC)."],[[["\u003cp\u003ePerformance Max campaigns necessitate a daily budget that cannot be shared.\u003c/p\u003e\n"],["\u003cp\u003eIt's recommended to set an average daily budget at least three times your CPA or cost per conversion for optimal campaign performance.\u003c/p\u003e\n"],["\u003cp\u003eInsufficient budget relative to CPA may lead to slower campaign ramp-up and reduced conversions.\u003c/p\u003e\n"],["\u003cp\u003eShared budgets are explicitly disallowed for Performance Max campaigns, requiring dedicated, individual budgets.\u003c/p\u003e\n"]]],[],null,["# Create a Performance Max Campaign Budget\n\nA Performance Max campaign requires a\n[budget](/google-ads/api/docs/campaigns/budgets/create-budgets) like all other campaigns,\nbut with the following restrictions:\n\n- The budget must have a [`DAILY`](/google-ads/api/reference/rpc/v21/BudgetPeriodEnum.BudgetPeriod#daily) budget period.\n- The budget cannot be [shared](//support.google.com/google-ads/answer/10487241).\n\nTry an [average daily budget](//support.google.com/google-ads/answer/6385083)\nof at least three times your CPA or cost per conversion for the conversion\nactions selected for your campaign. Generally, the budget should be consistent\nwith other well-performing campaigns in your account.\n[Learn more](//support.google.com/google-ads/answer/2375454) about choosing\nbudget.\n\nIf a budget is too low relative to the CPA or cost per conversion, you might\nsee a slower ramp-up period or fewer conversions over several days.\n\n\n### Java\n\n```java\n/** Creates a MutateOperation that creates a new CampaignBudget. */\nprivate MutateOperation createCampaignBudgetOperation(long customerId) {\n CampaignBudget campaignBudget =\n CampaignBudget.newBuilder()\n .setName(\"Performance Max campaign budget #\" + getPrintableDateTime())\n // The budget period already defaults to DAILY.\n .setAmountMicros(50_000_000)\n .setDeliveryMethod(BudgetDeliveryMethod.STANDARD)\n // A Performance Max campaign cannot use a shared campaign budget.\n .setExplicitlyShared(false)\n // Set a temporary ID in the budget's resource name, so it can be referenced\n // by the campaign in later steps.\n .setResourceName(ResourceNames.campaignBudget(customerId, BUDGET_TEMPORARY_ID))\n .build();\n\n return MutateOperation.newBuilder()\n .setCampaignBudgetOperation(\n CampaignBudgetOperation.newBuilder().setCreate(campaignBudget).build())\n .build();\n}\nhttps://github.com/googleads/google-ads-java/blob/3c3c1041c2a0ab81553e3b2a79876256649397ed/google-ads-examples/src/main/java/com/google/ads/googleads/examples/advancedoperations/AddPerformanceMaxCampaign.java#L228-L248\n \n```\n\n### C#\n\n```c#\n/// \u003csummary\u003e\n/// Creates a MutateOperation that creates a new CampaignBudget.\n///\n/// A temporary ID will be assigned to this campaign budget so that it can be\n/// referenced by other objects being created in the same Mutate request.\n/// \u003c/summary\u003e\n/// \u003cparam name=\"budgetResourceName\"\u003eThe temporary resource name of the budget to\n/// create.\u003c/param\u003e\n/// \u003creturns\u003eA MutateOperation that creates a CampaignBudget.\u003c/returns\u003e\nprivate MutateOperation CreateCampaignBudgetOperation(string budgetResourceName)\n{\n MutateOperation operation = new MutateOperation\n {\n CampaignBudgetOperation = new CampaignBudgetOperation\n {\n Create = new CampaignBudget\n {\n Name = \"Performance Max campaign budget #\"\n + ExampleUtilities.GetRandomString(),\n\n // The budget period already defaults to DAILY.\n AmountMicros = 50000000,\n\n // A Performance Max campaign cannot use a shared campaign budget.\n ExplicitlyShared = false,\n\n // Set a temporary ID in the budget's resource name so it can be referenced\n // by the campaign in later steps.\n ResourceName = budgetResourceName\n }\n }\n };\n\n return operation;\n}\nhttps://github.com/googleads/google-ads-dotnet/blob/ada966e1983b655e82172b6c3e7d9b091b522377/Google.Ads.GoogleAds/examples/AdvancedOperations/AddPerformanceMaxCampaign.cs#L267-L302\n \n```\n\n### PHP\n\n```php\nprivate static function createCampaignBudgetOperation(int $customerId): MutateOperation\n{\n // Creates a mutate operation that creates a campaign budget operation.\n return new MutateOperation([\n 'campaign_budget_operation' =\u003e new CampaignBudgetOperation([\n 'create' =\u003e new CampaignBudget([\n // Sets a temporary ID in the budget's resource name so it can be referenced\n // by the campaign in later steps.\n 'resource_name' =\u003e ResourceNames::forCampaignBudget(\n $customerId,\n self::BUDGET_TEMPORARY_ID\n ),\n 'name' =\u003e 'Performance Max campaign budget #' . Helper::getPrintableDatetime(),\n // The budget period already defaults to DAILY.\n 'amount_micros' =\u003e 50000000,\n 'delivery_method' =\u003e BudgetDeliveryMethod::STANDARD,\n // A Performance Max campaign cannot use a shared campaign budget.\n 'explicitly_shared' =\u003e false\n ])\n ])\n ]);\n} \nhttps://github.com/googleads/google-ads-php/blob/be0249c30c27b4760387bec6682b82c9f4167761/examples/AdvancedOperations/AddPerformanceMaxCampaign.php#L247-L268\n\n \n```\n\n### Python\n\n```python\ndef create_campaign_budget_operation(\n client: GoogleAdsClient,\n customer_id: str,\n) -\u003e MutateOperation:\n \"\"\"Creates a MutateOperation that creates a new CampaignBudget.\n\n A temporary ID will be assigned to this campaign budget so that it can be\n referenced by other objects being created in the same Mutate request.\n\n Args:\n client: an initialized GoogleAdsClient instance.\n customer_id: a client customer ID.\n\n Returns:\n a MutateOperation that creates a CampaignBudget.\n \"\"\"\n mutate_operation: MutateOperation = client.get_type(\"MutateOperation\")\n campaign_budget_operation: CampaignBudgetOperation = (\n mutate_operation.campaign_budget_operation\n )\n campaign_budget: CampaignBudget = campaign_budget_operation.create\n campaign_budget.name = f\"Performance Max campaign budget #{uuid4()}\"\n # The budget period already defaults to DAILY.\n campaign_budget.amount_micros = 50000000\n campaign_budget.delivery_method = (\n client.enums.BudgetDeliveryMethodEnum.STANDARD\n )\n # A Performance Max campaign cannot use a shared campaign budget.\n campaign_budget.explicitly_shared = False\n\n # Set a temporary ID in the budget's resource name so it can be referenced\n # by the campaign in later steps.\n campaign_budget.resource_name = client.get_service(\n \"CampaignBudgetService\"\n ).campaign_budget_path(customer_id, _BUDGET_TEMPORARY_ID)\n\n return mutate_operation \nhttps://github.com/googleads/google-ads-python/blob/d0595698b8a7de6cc00684b467462601037c9db9/examples/advanced_operations/add_performance_max_campaign.py#L210-L246\n \n```\n\n### Ruby\n\n```ruby\n# Creates a MutateOperation that creates a new CampaignBudget.\n#\n# A temporary ID will be assigned to this campaign budget so that it can be\n# referenced by other objects being created in the same Mutate request.\ndef create_campaign_budget_operation(client, customer_id)\n client.operation.mutate do |m|\n m.campaign_budget_operation = client.operation.create_resource.campaign_budget do |cb|\n cb.name = \"Performance Max campaign budget #{SecureRandom.uuid}\"\n # The budget period already defaults to DAILY.\n cb.amount_micros = 50_000_000\n cb.delivery_method = :STANDARD\n # A Performance Max campaign cannot use a shared campaign budget.\n cb.explicitly_shared = false\n\n # Set a temporary ID in the budget's resource name so it can be referenced\n # by the campaign in later steps.\n cb.resource_name = client.path.campaign_budget(customer_id, BUDGET_TEMPORARY_ID)\n end\n end\nend \nhttps://github.com/googleads/google-ads-ruby/blob/2752563c7ffd15a4d2238116869f64aea3011cc3/examples/advanced_operations/add_performance_max_campaign.rb#L141-L160\n\n \n```\n\n### Perl\n\n```perl\nsub create_campaign_budget_operation {\n my ($customer_id) = @_;\n\n # Create a mutate operation that creates a campaign budget operation.\n return\n Google::Ads::GoogleAds::V21::Services::GoogleAdsService::MutateOperation-\u003e\n new({\n campaignBudgetOperation =\u003e\n Google::Ads::GoogleAds::V21::Services::CampaignBudgetService::CampaignBudgetOperation\n -\u003enew({\n create =\u003e Google::Ads::GoogleAds::V21::Resources::CampaignBudget-\u003enew(\n {\n # Set a temporary ID in the budget's resource name so it can be\n # referenced by the campaign in later steps.\n resourceName =\u003e\n Google::Ads::GoogleAds::V21::Utils::ResourceNames::campaign_budget(\n $customer_id, BUDGET_TEMPORARY_ID\n ),\n name =\u003e \"Performance Max campaign budget #\" . uniqid(),\n # The budget period already defaults to DAILY.\n amountMicros =\u003e 50000000,\n deliveryMethod =\u003e STANDARD,\n # A Performance Max campaign cannot use a shared campaign budget.\n explicitlyShared =\u003e \"false\",\n })})});\n}https://github.com/googleads/google-ads-perl/blob/9abffd69cd856633dfdcee5c636fe9cd0eb4b5ed/examples/advanced_operations/add_performance_max_campaign.pl#L161-L186\n \n```\n\n\u003cbr /\u003e"]]