次の方法で共有


キャンペーンを管理するためのスクリプトの例

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

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

アカウント内のすべてのキャンペーンを取得するには、まず 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 を使用してエンティティを取得すると、パフォーマンスが向上します。 フィルター メソッドを使用する 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 メソッドを呼び出します。 キャンペーンの状態を確認するには、キャンペーン isEnabledの 、、 isPausedおよび メソッドを isRemoved 呼び出します。

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