Maksimum Performans Kampanyası Bütçesi Oluşturma
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Maksimum Performans kampanyası, diğer tüm kampanyalar gibi bir bütçe gerektirir ancak aşağıdaki kısıtlamalar geçerlidir:
Kampanyanız için seçilen dönüşüm işlemlerine ilişkin dönüşüm başına maliyetin veya EBM'nin en az üç katı tutarında bir ortalama günlük bütçe ayarlamayı deneyin. Genellikle bütçe, hesabınızdaki diğer iyi performans gösteren kampanyalarla tutarlı olmalıdır.
Bütçe seçme hakkında daha fazla bilgi edinin.
Bir bütçe, EBM'ye veya dönüşüm başına maliyete kıyasla çok düşükse birkaç gün boyunca daha yavaş bir artış dönemi veya daha az dönüşüm görebilirsiniz.
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",
})})});
}
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-08-31 UTC.
[null,null,["Son güncelleme tarihi: 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"]]