用于管理市场活动的脚本示例

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

获取所有市场活动

若要获取帐户中的所有市场活动,请先调用 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 获取实体可提供更好的性能。 使用 方法,而不是使用withConditionwithIds筛选器方法。 例如,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 方法。 若要确定市场活动的状态,请调用市场活动的 isEnabledisPausedisRemoved 方法。

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();
    }
}