管理市场活动的脚本示例

以下部分展示了对市场活动执行各种操作的脚本示例。

注意

不支持使用脚本管理性能最大市场活动。

获取所有市场活动

要获取帐户中的所有市场活动,请首先调用 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();
    }
}