以下部分展示了对市场活动执行各种操作的脚本示例。
注意
不支持使用脚本管理性能最大市场活动。
获取所有市场活动
要获取帐户中的所有市场活动,请首先调用 AdsApp 对象的方法 campaigns 来获取 选择器。 然后,调用选择器的方法 get ,获取用于循环访问市场活动列表的 迭代器 。 由于该示例未指定任何筛选器,因此选择器会返回帐号中的所有市场活动。 要确定迭代器中的市场活动数量,请调用迭代器的方法 totalNumEntities 。
function main() {
// Gets all campaigns in the account.
var iterator = AdsApp.campaigns().get();
// Iterates through the list of campaigns and logs
// each campaign's name.
while (iterator.hasNext()) {
var campaign = iterator.next();
}
}
按名称获取市场活动
要按名称获取市场活动,请首先调用 AdsApp 对象的方法 campaigns 来获取 选择器。 选择器包含许多用于过滤市场活动列表的过滤方法。 使用此方法筛选 withCondition 特定市场活动名称的市场活动。 请注意,操作数和运算符区分大小写。
接下来,调用选择器的方法 get 以获取 迭代器。 市场活动名称是唯一的,因此您只会取回一个(如果存在)。
function main() {
var campaignName = 'CAMPAIGN NAME GOES HERE';
var iterator = AdsApp.campaigns()
.withCondition(`Name = '${campaignName}'`)
.get();
while (iterator.hasNext()) {
var campaign = iterator.next();
}
}
按 ID 获取市场活动
如果有权访问市场活动的 ID,请改用它。 使用 ID 获取实体可提供更好的性能。 不要使用 withCondition 筛选方法,而是使用该 withIds 方法。 例如,withIds(['12345'])。
function main() {
var campaignId = '12345';
var iterator = AdsApp.campaigns()
.withIds([campaignId])
.get();
while (iterator.hasNext()) {
var campaign = iterator.next();
}
}
获取市场活动的效果数据
要获取市场活动的效果指标,请调用市场活动的 getStats 方法。 获取广告系列时,您需要指定所需指标数据的日期范围。 可以使用预定义的文本(如 LAST_MONTH 或 TODAY)或开始日期和结束日期指定日期范围。 若要指定日期范围,请在选择市场活动时使用其中一种 forDateRange 方法 (请参阅 CampaignSelector) 。
有关可以访问的指标列表,请参阅 Stats 对象。
function main() {
var campaignId = '12345';
// Get the campaign. You need to specify the date range of the
// performance data you want to get.
var iterator = AdsApp.campaigns()
.withIds([campaignId])
.forDateRange('LAST_WEEK')
.get();
// If the campaign is found, log some metrics.
while (iterator.hasNext()) {
var campaign = iterator.next();
var metrics = campaign.getStats(); // Gets the performance metrics.
}
}
暂停市场活动
要暂停市场活动,请调用市场活动的方法 pause 。 若要再次启用它,请调用市场活动的方法 enable 。 要确定市场活动的状态,请调用市场活动的 、 isPaused和isRemoved方法isEnabled。
function main() {
var campaignId = '12345';
var iterator = AdsApp.campaigns()
.withIds([campaignId])
.get();
// If the campaign is found, pause it.
while (iterator.hasNext()) {
var campaign = iterator.next();
campaign.pause();
}
}