Performance Max
Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.
function getAllPerformanceMaxCampaigns() { // AdsApp.performanceMaxCampaigns() will return all campaigns that are not // removed by default. const performanceMaxCampaignIterator = AdsApp.performanceMaxCampaigns().get(); console.log(`Total campaigns found : ${performanceMaxCampaignIterator.totalNumEntities()}`); return performanceMaxCampaignIterator; }
Utilizzo
const performanceMaxCampaigns = getAllPerformanceMaxCampaigns(); for (const performanceMaxCampaign of performanceMaxCampaigns) { // Process your campaign. }
function getPerformanceMaxCampaignByName(campaignName) { const performanceMaxCampaignIterator = AdsApp.performanceMaxCampaigns() .withCondition(`campaign.name = "${campaignName}"`) .get(); if (!performanceMaxCampaignIterator.hasNext()) { throw new Error(`No performance max campaign with name ${campaignName} found.`); } const performanceMaxCampaign = performanceMaxCampaignIterator.next(); console.log(`Campaign Name: ${performanceMaxCampaign.getName()}`); console.log(`Enabled: ${performanceMaxCampaign.isEnabled()}`); console.log(`Bidding strategy: ${performanceMaxCampaign.getBiddingStrategyType()}`); console.log(`Ad rotation: ${performanceMaxCampaign.getAdRotationType()}`); console.log(`Start date: ${formatDate(performanceMaxCampaign.getStartDate())}`); console.log(`End date: ${formatDate(performanceMaxCampaign.getEndDate())}`); return performanceMaxCampaign; } function formatDate(date) { function zeroPad(number) { return Utilities.formatString('%02d', number); } return (date == null) ? 'None' : zeroPad(date.year) + zeroPad(date.month) + zeroPad(date.day); }
function getPerformanceMaxCampaignStats(campaignName) { const performanceMaxCampaignIterator = AdsApp.performanceMaxCampaigns() .withCondition(`campaign.name = "${campaignName}"`) .get(); if (!performanceMaxCampaignIterator.hasNext()) { throw new Error(`No performance max campaign with name ${campaignName} found.`); } const performanceMaxCampaign = performanceMaxCampaignIterator.next(); // Fetch stats for the last month. See the DateRangeLiteral section at // https://developers.google.com/adwords/api/docs/guides/awql#formal_grammar // for a list of all supported pre-defined date ranges. // Note: Reports can also be used to fetch stats. See // https://developers.google.com/google-ads/scripts/docs/features/reports // for more information. var stats = performanceMaxCampaign.getStatsFor('LAST_MONTH'); console.log(`${performanceMaxCampaign.getName()}, ${stats.getImpressions()} impressions, ` + `${stats.getViews()} views`); return stats; }
function pausePerformanceMaxCampaign(campaignName) { const performanceMaxCampaignIterator = AdsApp.performanceMaxCampaigns() .withCondition(`campaign.name = "${campaignName}"`) .get(); if (performanceMaxCampaignIterator.hasNext()) { const performanceMaxCampaign = performanceMaxCampaignIterator.next(); performanceMaxCampaign.pause(); } }
Recuperare un gruppo di asset in base al nome
function getAssetGroupByName(campaignName, assetGroupName) { // Defined above const performanceMaxCampaign = getPerformanceMaxCampaignByName(campaignName); if (performanceMaxCampaign == null) { return null; } const assetGroupIterator = performanceMaxCampaign.assetGroups() .withCondition(`asset_group.name = "${assetGroupName}"`) .get(); if (!assetGroupIterator.hasNext()) { throw new Error(`No asset group found with name ${assetGroupName}.`); } return assetGroupIterator.next(); }
Mettere in pausa un gruppo di asset
function pausePerformanceMaxAssetGroup(campaignName, assetGroupName) { // Defined above const assetGroup = getAssetGroupByName(campaignName, assetGroupName); assetGroup.pause(); console.log(`AssetGroup with name: ${assetGroup.getName()} ` + `has paused status: ${assetGroup.isPaused()}`); }
Recuperare un video specifico da utilizzare in un gruppo di asset
function getVideoByYouTubeId(youTubeVideoId) { // You can filter on the YouTubeVideoId if you already have that video in // your account to fetch the exact one you want right away. const videos = AdsApp.adAssets().assets() .withCondition(`asset.type = YOUTUBE_VIDEO AND ` + `asset.youtube_video_asset.youtube_video_id = '${youTubeVideoId}'`) .get(); if (videos.hasNext()) { return videos.next(); } return null; }
Aggiungere un video specifico a un gruppo di asset
function addVideoToAssetGroup(youTubeVideoId, campaignName, assetGroupName) { // Defined above const video = getVideoByYouTubeId(youTubeVideoId); const assetGroup = getAssetGroupByName(campaignName, assetGroupName); assetGroup.addAsset(video, 'YOUTUBE_VIDEO'); }
Rimuovere un video specifico da un gruppo di asset
function removeVideoFromAssetGroup(youTubeVideoId, campaignName, assetGroupName) { // Defined above const video = getVideoByYouTubeId(youTubeVideoId); const assetGroup = getAssetGroupByName(campaignName, assetGroupName); assetGroup.removeAsset(video, 'YOUTUBE_VIDEO'); }
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-21 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-21 UTC."],[[["\u003cp\u003eThis script provides functions to manage Google Ads Performance Max campaigns, including retrieving, pausing, and getting stats for campaigns and asset groups.\u003c/p\u003e\n"],["\u003cp\u003eYou can retrieve campaigns by name or iterate through all of them, and access campaign details like bidding strategy and start/end dates.\u003c/p\u003e\n"],["\u003cp\u003eAsset group management includes retrieving by name, pausing, and adding or removing specific videos identified by their YouTube IDs.\u003c/p\u003e\n"],["\u003cp\u003eFunctions to get campaign and asset group stats are included, utilizing predefined date ranges or enabling the use of reports for more customized analysis.\u003c/p\u003e\n"],["\u003cp\u003eError handling is incorporated to identify and report when campaigns or asset groups with specified names are not found.\u003c/p\u003e\n"]]],[],null,["Retrieve all performance max campaigns \n\n```gdscript\nfunction getAllPerformanceMaxCampaigns() {\n // AdsApp.performanceMaxCampaigns() will return all campaigns that are not\n // removed by default.\n const performanceMaxCampaignIterator = AdsApp.performanceMaxCampaigns().get();\n console.log(`Total campaigns found : ${performanceMaxCampaignIterator.totalNumEntities()}`);\n return performanceMaxCampaignIterator;\n}\n```\n\nUsage \n\n```gdscript\nconst performanceMaxCampaigns = getAllPerformanceMaxCampaigns();\n\nfor (const performanceMaxCampaign of performanceMaxCampaigns) {\n\n // Process your campaign.\n}\n```\n\nRetrieve a performance max campaign by its name \n\n```gdscript\nfunction getPerformanceMaxCampaignByName(campaignName) {\n const performanceMaxCampaignIterator = AdsApp.performanceMaxCampaigns()\n .withCondition(`campaign.name = \"${campaignName}\"`)\n .get();\n if (!performanceMaxCampaignIterator.hasNext()) {\n throw new Error(`No performance max campaign with name ${campaignName} found.`);\n }\n const performanceMaxCampaign = performanceMaxCampaignIterator.next();\n console.log(`Campaign Name: ${performanceMaxCampaign.getName()}`);\n console.log(`Enabled: ${performanceMaxCampaign.isEnabled()}`);\n console.log(`Bidding strategy: ${performanceMaxCampaign.getBiddingStrategyType()}`);\n console.log(`Ad rotation: ${performanceMaxCampaign.getAdRotationType()}`);\n console.log(`Start date: ${formatDate(performanceMaxCampaign.getStartDate())}`);\n console.log(`End date: ${formatDate(performanceMaxCampaign.getEndDate())}`);\n return performanceMaxCampaign;\n}\n\nfunction formatDate(date) {\n function zeroPad(number) { return Utilities.formatString('%02d', number); }\n return (date == null) ? 'None' : zeroPad(date.year) + zeroPad(date.month) +\n zeroPad(date.day);\n}\n```\n\nRetrieve a performance max campaign's stats \n\n```gdscript\nfunction getPerformanceMaxCampaignStats(campaignName) {\n const performanceMaxCampaignIterator = AdsApp.performanceMaxCampaigns()\n .withCondition(`campaign.name = \"${campaignName}\"`)\n .get();\n if (!performanceMaxCampaignIterator.hasNext()) {\n throw new Error(`No performance max campaign with name ${campaignName} found.`);\n }\n const performanceMaxCampaign = performanceMaxCampaignIterator.next();\n // Fetch stats for the last month. See the DateRangeLiteral section at\n // https://developers.google.com/adwords/api/docs/guides/awql#formal_grammar\n // for a list of all supported pre-defined date ranges.\n // Note: Reports can also be used to fetch stats. See\n // https://developers.google.com/google-ads/scripts/docs/features/reports\n // for more information.\n var stats = performanceMaxCampaign.getStatsFor('LAST_MONTH');\n console.log(`${performanceMaxCampaign.getName()}, ${stats.getImpressions()} impressions, ` +\n `${stats.getViews()} views`);\n return stats;\n}\n```\n\nPause a performance max campaign \n\n```gdscript\nfunction pausePerformanceMaxCampaign(campaignName) {\n const performanceMaxCampaignIterator = AdsApp.performanceMaxCampaigns()\n .withCondition(`campaign.name = \"${campaignName}\"`)\n .get();\n if (performanceMaxCampaignIterator.hasNext()) {\n const performanceMaxCampaign = performanceMaxCampaignIterator.next();\n performanceMaxCampaign.pause();\n }\n}\n```\n\nRetrieve an asset group by its name \n\n```gdscript\nfunction getAssetGroupByName(campaignName, assetGroupName) {\n // Defined above\n const performanceMaxCampaign = getPerformanceMaxCampaignByName(campaignName);\n if (performanceMaxCampaign == null) {\n return null;\n }\n const assetGroupIterator = performanceMaxCampaign.assetGroups()\n .withCondition(`asset_group.name = \"${assetGroupName}\"`)\n .get();\n if (!assetGroupIterator.hasNext()) {\n throw new Error(`No asset group found with name ${assetGroupName}.`);\n }\n return assetGroupIterator.next();\n}\n```\n\nPause an asset group \n\n```gdscript\nfunction pausePerformanceMaxAssetGroup(campaignName, assetGroupName) {\n // Defined above\n const assetGroup = getAssetGroupByName(campaignName, assetGroupName);\n assetGroup.pause();\n console.log(`AssetGroup with name: ${assetGroup.getName()} ` +\n `has paused status: ${assetGroup.isPaused()}`);\n}\n```\n\nRetrieve a specific video for use in an asset group \n\n```gdscript\nfunction getVideoByYouTubeId(youTubeVideoId) {\n // You can filter on the YouTubeVideoId if you already have that video in\n // your account to fetch the exact one you want right away.\n const videos = AdsApp.adAssets().assets()\n .withCondition(`asset.type = YOUTUBE_VIDEO AND ` +\n `asset.youtube_video_asset.youtube_video_id = '${youTubeVideoId}'`)\n .get();\n if (videos.hasNext()) {\n return videos.next();\n }\n return null;\n}\n```\n\nAdd a specific video to an asset group \n\n```gdscript\nfunction addVideoToAssetGroup(youTubeVideoId, campaignName, assetGroupName) {\n // Defined above\n const video = getVideoByYouTubeId(youTubeVideoId);\n const assetGroup = getAssetGroupByName(campaignName, assetGroupName);\n assetGroup.addAsset(video, 'YOUTUBE_VIDEO');\n}\n```\n\nRemove a specific video from an asset group \n\n```gdscript\nfunction removeVideoFromAssetGroup(youTubeVideoId, campaignName, assetGroupName) {\n // Defined above\n const video = getVideoByYouTubeId(youTubeVideoId);\n const assetGroup = getAssetGroupByName(campaignName, assetGroupName);\n assetGroup.removeAsset(video, 'YOUTUBE_VIDEO');\n}\n```"]]