キャンペーン管理のスクリプト例

以下のセクションでは、キャンペーンに対してさまざまなアクションを実行するスクリプトの例を示します。

注:

スクリプトを使用した Performance Max キャンペーンの管理はサポートされていません。

すべてのキャンペーンを取得する

アカウント内のすべてのキャンペーンを取得するには、まず 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 メソッドを呼び出して 反復子を取得します。 キャンペーン名は一意であるため、存在する場合は 1 つだけ取得できます。

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 を使用します。 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 メソッドを呼び出します。 キャンペーンのステータスを確認するには、キャンペーンの 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();
    }
}