یک بودجه کمپین حداکثر عملکرد ایجاد کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
کمپین Performance Max مانند همه کمپینهای دیگر به بودجه نیاز دارد، اما با محدودیتهای زیر:
- بودجه باید دارای یک دوره بودجه
DAILY
باشد. - بودجه قابل تقسیم نیست.
برای اقدامات تبدیلی که برای کمپین شما انتخاب شدهاند، حداقل سه برابر CPA یا هزینه هر تبدیل ، میانگین بودجه روزانه خود را امتحان کنید. به طور کلی، بودجه باید با سایر کمپین هایی که عملکرد خوبی دارند در حساب شما سازگار باشد. درباره انتخاب بودجه بیشتر بدانید .
اگر بودجه نسبت به CPA یا هزینه هر تبدیل بسیار کم باشد، ممکن است دوره افزایش آهستهتر یا تبدیلهای کمتری را طی چند روز مشاهده کنید.
جاوا
/** 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();
}
سی شارپ
/// <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
])
])
]);
}
پایتون
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
روبی
# 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
پرل
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",
})})});
}
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[[["\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"]]