最高成效廣告活動的必要要素
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
如要從頭產生新的最高成效廣告活動,您至少必須建立下列項目:
廣告活動和預算適用於建立各種廣告活動類型,而與素材資源相關的作業則特別適合建立最高成效廣告活動。
請務必熟悉變動策略,因為本指南只會提供變動中使用的 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);
廣告活動
廣告活動必須參照先前建立的預算,因此除了使用臨時 ID 指定廣告活動本身的資源名稱外,您還需要先前步驟中設定的確切資源名稱,才能建立廣告活動,以便在這次要求中,明確識別先前建立的預算。使用 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"
}
}
});
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 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 });"]]