العناصر المطلوبة في "حملة الأداء الأفضل"
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
لإنشاء "حملة أداء أفضل" جديدة من البداية، يجب إنشاء ما يلي على الأقل:
تكون الحملة والميزانية مفيدتَين لإنشاء جميع أنواع الحملات،
بينما تكون العمليات المتعلّقة بمواد العرض مفيدة بشكل خاص لإنشاء
حملات الأداء الأفضل.
تأكَّد من التعرّف على
استراتيجية التعديل،
لأنّ هذا الدليل سيقدّم فقط عناصر JavaScript التي سيتم استخدامها في
عمليات التعديل.
الميزانية
يجب ألا تكون الميزانية مشتركة، ويجب أن يكون لها اسم فريد في حسابك. استخدِم
CampaignBudgetOperation
.
const budgetOperation = {
"campaignBudgetOperation": {
"create": {
"resourceName": `customers/${customerId}/campaignBudgets/${getNextTempId()}`,
"name": "Performance Max campaign budget",
"amountMicros": "50000000",
"deliveryMethod": "STANDARD",
"explicitlyShared": false
}
}
}
operations.push(budgetOperation);
الحملة
يجب أن تشير الحملة إلى الميزانية التي تم إنشاؤها سابقًا، لذا بالإضافة إلى تحديد اسم المورد الخاص بها باستخدام معرّف مؤقت، ستحتاج إلى اسم المورد الدقيق الذي حدّدته في الخطوة السابقة من أجل إنشاء الحملة، حتى تتمكّن من تحديد الميزانية التي تم إنشاؤها سابقًا في هذا الطلب بشكلٍ فريد.
استخدِم CampaignOperation
.
const campaignOperation = {
"campaignOperation": {
"create": {
"resourceName": `customers/${customerId}/campaigns/${getNextTempId()}`,
"name": "Performance Max campaign",
"status": "PAUSED",
"advertisingChannelType": "PERFORMANCE_MAX",
"campaignBudget": budgetOperation.campaignBudgetOperation.create.resourceName,
"biddingStrategyType": "MAXIMIZE_CONVERSION_VALUE",
"startDate": "20240314",
"endDate": "20250313",
"urlExpansionOptOut": false,
"maximizeConversionValue": {
"targetRoas": 3.5
}
}
}
}
operations.push(campaignOperation);
مجموعة مواد العرض
تتطلّب مجموعة مواد العرض لهذه الحملة مرجعًا إلى الحملة، وسيلزم الرجوع إليها لاحقًا عند ربط مواد العرض بها. استخدِم AssetGroupOperation
.
const assetGroupOperation = {
"assetGroupOperation": {
"create": {
"resourceName": `customers/${customerId}/assetGroups/${getNextTempId()}`,
"campaign": campaignOperation.campaignOperation.create.resourceName,
"name": "Performance Max asset group",
"finalUrls": [
"http://www.example.com"
],
"finalMobileUrls": [
"http://www.example.com"
],
"status": "PAUSED"
}
}
}
operations.push(assetGroupOperation);
روابط مجموعات مواد العرض
بعد أن أصبحت لديك مجموعات مواد العرض ومواد العرض (من الخطوة السابقة)، عليك ربطها ببعضها لكي تعرف "حملة الأداء الأفضل" مواد العرض التي تريد استخدامها. يجب إجراء ذلك في الطلب نفسه الذي تنشئ فيه مجموعة مواد العرض في البداية. لإجراء ذلك، استخدِم
AssetGroupAssetOperation
.
عليك تقديم اسم مورد العنصر الصحيح، بالإضافة إلى تعديل fieldType
إلى القيمة المناسبة للعنصر الذي تربطه. اطّلِع على القائمة الكاملة لأنواع الحقول الصالحة.
ستحتاج إلى تنفيذ عدّة عمليات من هذا النوع لاستيفاء الحدّ الأدنى من المتطلبات في "حملة الأداء الأفضل".
operations.push({
"assetGroupAssetOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
// assetResourceName here is a placeholder; you will need to determine
// the correct resource name to use depending on which asset you want
// to add to the asset group.
"asset": assetResourceName,
"fieldType": "HEADLINE"
}
}
});
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eTo create a new Performance Max campaign, you must generate a budget, the campaign itself, account-level assets, an asset group, and links between the assets and the asset group.\u003c/p\u003e\n"],["\u003cp\u003eThe budget should be unique and not shared, with a defined amount and delivery method.\u003c/p\u003e\n"],["\u003cp\u003eThe campaign needs to reference the budget, have a specific name, status, channel type, bidding strategy, start and end dates, and URL expansion settings.\u003c/p\u003e\n"],["\u003cp\u003eAn asset group is associated with the campaign, includes final URLs, and has a designated status.\u003c/p\u003e\n"],["\u003cp\u003eAsset group links connect the assets to the asset group, requiring the correct asset resource name and field type for each asset being linked, meeting the minimum requirements for the campaign.\u003c/p\u003e\n"]]],[],null,["# Performance Max Required Components\n\nTo generate a new Performance Max campaign from scratch, you must at a minimum\ncreate the following:\n\n- A [budget](/google-ads/api/reference/rpc/v21/CampaignBudget)\n- The [campaign](/google-ads/api/reference/rpc/v21/Campaign) itself\n- Account-level [assets](/google-ads/api/reference/rpc/v21/Asset)\n- An [asset group](/google-ads/api/reference/rpc/v21/AssetGroup)\n- [Links](/google-ads/api/reference/rpc/v21/AssetGroupAsset) between the assets in your account and the asset group you'll be using for this campaign.\n\nThe campaign and budget are useful for creating all sorts of campaign types,\nwhile the asset-related operations will be specifically useful for creating\nPerformance Max campaigns.\n\nMake sure you're familiar with the\n[mutate strategy](/google-ads/scripts/docs/features/performance-max/mutate-strategy),\nas this guide will only provide the JavaScript objects to be used in the\nmutates.\n\nBudget\n------\n\nThe budget must not be shared, and must have a unique name in your account. Use\na [`CampaignBudgetOperation`](/google-ads/api/reference/rpc/v21/CampaignBudgetOperation). \n\n const budgetOperation = {\n \"campaignBudgetOperation\": {\n \"create\": {\n \"resourceName\": `customers/${customerId}/campaignBudgets/${getNextTempId()}`,\n \"name\": \"Performance Max campaign budget\",\n \"amountMicros\": \"50000000\",\n \"deliveryMethod\": \"STANDARD\",\n \"explicitlyShared\": false\n }\n }\n }\n operations.push(budgetOperation);\n\nCampaign\n--------\n\nThe campaign must reference the previously created budget, so in addition to\nspecifying its own resource name with a temp ID, you will need the exact\nresource name you set in the previous step in order to create the campaign, so\nthat you can uniquely identify the budget previously created in this request.\nUse a [`CampaignOperation`](/google-ads/api/reference/rpc/v21/CampaignOperation). \n\n const campaignOperation = {\n \"campaignOperation\": {\n \"create\": {\n \"resourceName\": `customers/${customerId}/campaigns/${getNextTempId()}`,\n \"name\": \"Performance Max campaign\",\n \"status\": \"PAUSED\",\n \"advertisingChannelType\": \"PERFORMANCE_MAX\",\n \"campaignBudget\": budgetOperation.campaignBudgetOperation.create.resourceName,\n \"biddingStrategyType\": \"MAXIMIZE_CONVERSION_VALUE\",\n \"startDate\": \"20240314\",\n \"endDate\": \"20250313\",\n \"urlExpansionOptOut\": false,\n \"maximizeConversionValue\": {\n \"targetRoas\": 3.5\n }\n }\n }\n }\n operations.push(campaignOperation);\n\nAsset group\n-----------\n\nThe asset group for this campaign requires a reference to the campaign, and\nwill need to be referenced later when you link assets to it. Use an\n[`AssetGroupOperation`](/google-ads/api/reference/rpc/v21/AssetGroupOperation). \n\n const assetGroupOperation = {\n \"assetGroupOperation\": {\n \"create\": {\n \"resourceName\": `customers/${customerId}/assetGroups/${getNextTempId()}`,\n \"campaign\": campaignOperation.campaignOperation.create.resourceName,\n \"name\": \"Performance Max asset group\",\n \"finalUrls\": [\n \"http://www.example.com\"\n ],\n \"finalMobileUrls\": [\n \"http://www.example.com\"\n ],\n \"status\": \"PAUSED\"\n }\n }\n }\n operations.push(assetGroupOperation);\n\nAsset group links\n-----------------\n\nNow that you have our asset groups and our assets (from the previous step), you\nneed to link them together so that the Performance Max campaign knows which\nassets you want to use. You *must* do this in the same request where you create\nthe asset group initially. To do this, use an\n[`AssetGroupAssetOperation`](/google-ads/api/reference/rpc/v21/AssetGroupAssetOperation).\n\nYou will need to provide the correct asset resource name, as well as modifying\nthe `fieldType` to the appropriate value for the asset you're linking. Check\nout the [complete list of valid field types](/google-ads/api/reference/rpc/v21/AssetFieldTypeEnum.AssetFieldType).\n\nYou will need multiple of these operations to meet the\n[minimum requirements](/google-ads/api/performance-max/asset-requirements)\nfor a Performance Max campaign. \n\n operations.push({\n \"assetGroupAssetOperation\": {\n \"create\": {\n \"assetGroup\": assetGroupOperation.assetGroupOperation.create.resourceName,\n // assetResourceName here is a placeholder; you will need to determine\n // the correct resource name to use depending on which asset you want\n // to add to the asset group.\n \"asset\": assetResourceName,\n \"fieldType\": \"HEADLINE\"\n }\n }\n });"]]