P-MAX の必須コンポーネント
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
新しい P-MAX キャンペーンをゼロから生成するには、少なくとも次のものを作成する必要があります。
キャンペーンと予算はあらゆる種類のキャンペーン タイプを作成するのに役立ちますが、アセット関連のオペレーションは特に P-MAX キャンペーンの作成に役立ちます。
このガイドでは、ミューテートで使用する 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);
アセット グループのリンク
アセット グループとアセット(前の手順で作成)が用意できたら、それらをリンクして、P-MAX キャンペーンで使用するアセットを認識できるようにする必要があります。これは、アセット グループを最初に作成するリクエストと同じリクエストで行う必要があります。これを行うには、AssetGroupAssetOperation
を使用します。
正しいアセット リソース名を指定し、リンクするアセットの適切な値に fieldType
を変更する必要があります。有効なフィールド タイプの完全なリストをご覧ください。
P-MAX キャンペーンの最小要件を満たすには、これらのオペレーションを複数回実行する必要があります。
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"
}
}
});
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-27 UTC。
[null,null,["最終更新日 2025-08-27 UTC。"],[[["\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 });"]]