Google Ads 指令碼可讓您管理最高成效廣告活動的部分
廣告活動。別擔心!您可以使用
指令碼,擷取最高成效廣告活動、管理素材資源群組,以及放送
報表;但無法使用指令碼建立最高成效廣告活動。目的地:
請參閱本指南的其餘部分
以較通用的方法使用 mutate
。
擷取最高成效廣告活動
最高成效廣告活動可在
performanceMaxCampaigns
敬上
「AdsApp
」的集合
物件。您可以照常擷取:
const campaignName = "My Performance Max campaign";
const campaignIterator = AdsApp.performanceMaxCampaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
for (const campaign of campaignIterator) {
...
}
與其他廣告活動類型不同,最高成效廣告活動沒有廣告 具備檢視權限的群組或廣告物件所有與這些概念相關的 其他廣告活動則會根據您選用的素材資源群組,自動處理 設定。
素材資源和素材資源群組
最高成效廣告活動的廣告將在以下日期放送: 資產,例如影片 圖片、廣告標題和說明,或由您自行提供或 自動產生。全盤瞭解素材資源的種類 必要時,請參閱 Google Ads API 最高成效廣告活動素材資源 指南。
最高成效廣告活動的素材資源會合併成一個素材資源群組。 且每個最高成效廣告活動都要有至少一個素材資源群組個人中心 無法直接在指令碼中建立這些素材資源群組,但您可以 移除現有素材資源群組中的素材資源
在素材資源群組中新增素材資源
首先,請建立資產:
const imageUrl = "http://www.example.com/example.png";
const imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
const assetOperation = AdsApp.adAssets().newImageAssetBuilder()
.withName("new asset name")
.withData(imageBlob)
.build();
const imageAsset = assetOperation.getResult();
接著使用您剛建立的素材資源,將該素材資源加進現有的素材資源群組:
// First, fetch the Performance Max campaign we want to operate on.
const campaignIterator = AdsApp.performanceMaxCampaigns()
.withCondition(`campaign.name = '${campaignName}'`)
.get();
let campaign;
if (campaignIterator.hasNext()) {
campaign = campaignIterator.next();
} else {
throw `No campaign found with name ${campaignName}.`
}
// Then, get that campaign's asset groups.
const assetGroupIterator = campaign.assetGroups().get();
// The campaign must have at least one asset group, so we can just assume so here.
const assetGroup = assetGroupIterator.next();
// Add the asset from the previous step.
assetGroup.addAsset(imageAsset, 'MARKETING_IMAGE');
請注意,您必須在最後一個步驟中指定素材資源類型。您可以找到 Google Ads API 中提供的素材資源類型完整清單 說明文件
如要使用現有的素材資源,請先建立素材資源選取器:
const assetSelector = AdsApp.adAssets().assets();
然後使用「withCondition
」篩選器,將範圍縮小至您要的素材資源
運作時間詳情請參閱
AssetSelector
敬上
完整的篩選器選項清單參考文件。
最後,擷取疊代器並與其他實體一樣疊代:
const assetIterator = assetSelector.get();
for (const asset of assetIterator) {
...
}
文字素材資源
文字素材資源的運作方式稍有不同 您不需要更改素材資源 。只要指定文字而非資產即可 自動建立素材資源如果文字與某個地點完全相同 現有的文字素材資源則會重複使用。
舉例來說,建立廣告標題素材資源的方法如下:
assetGroup.addAsset('asset text here', 'HEADLINE');
將素材資源從素材資源群組中移除
您也可以將素材資源從素材資源群組中移除;不過請注意 必須有一定數量的最低 資產 才有效。
如何移除在前例中新增的素材資源:
assetGroup.removeAsset(imageAsset, 'MARKETING_IMAGE');
您也可以使用search
,取得特定素材資源群組中的素材資源清單
函式:
// The resource name is a unique identifier for this asset group.
const assetGroupName = assetGroup.getResourceName();
results = AdsApp.search(
`SELECT asset.resource_name, asset_group_asset.field_type
FROM asset_group_asset
WHERE asset_group.resource_name = '${assetGroupName}'`
);
這會選取資產的資源名稱做為專屬 ID。您可以
同時選取其他欄位,例如 asset.type
或 asset.text_asset.text
才能
進一步縮小搜尋結果的範圍使用查詢建立工具執行這份報表
輸入內容即可製作
您自己的查詢
找到目標素材資源後,請對素材資源群組呼叫 remove
,以移除
素材資源群組中的素材資源:
// Let's assume at least one asset is returned. We'll just remove the first
// asset, whatever it is. In your code, customize this to choose the right asset.
const row_info = results.next().asset;
assetGroup.remove(row_info.asset.resource_name, row_info.asset_group_asset.field_type);