إنشاء ميزانية لـ "حملة أداء أفضل"
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتطلّب "حملة الأداء الأفضل" ميزانية مثل جميع الحملات الأخرى، ولكن مع القيود التالية:
- يجب أن تتضمّن الميزانية
DAILY
فترة ميزانية.
- لا يمكن مشاركة الميزانية.
جرِّب متوسط ميزانية يومية
لا يقلّ عن 3 أضعاف تكلفة الإجراء أو تكلفة الإحالة الناجحة لإجراءات الإحالة الناجحة المحدّدة في حملتك. وبوجهٍ عام، يجب أن تكون الميزانية متوافقة مع غيرها من الحملات الإعلانية المرتكزة على الأداء التي تحقّق سجلاً جيدًا في حسابك.
مزيد من المعلومات حول اختيار الميزانية
إذا كانت الميزانية منخفضة جدًا مقارنةً بتكلفة الإجراء أو تكلفة الإحالة الناجحة، قد تلاحظ فترة تعزيز نشاط أبطأ أو عددًا أقل من الإحالات الناجحة على مدار عدة أيام.
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",
})})});
}
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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"]]