次の方法で共有


共有予算を管理するためのスクリプトの例

次のセクションでは、 共有予算に対してさまざまなアクションを実行するスクリプトの例を示します。

共有予算を追加する

共有予算を追加するには、Microsoft Advertising Web アプリケーションを使用する必要があります。 詳細については、「複数のキャンペーン操作方法予算を共有する」を参照してください。

キャンペーンを共有予算に関連付ける

キャンペーンを共有予算に関連付けるには、Microsoft Advertising Web アプリケーションを使用する必要があります。 詳細については、「複数のキャンペーン操作方法予算を共有する」を参照してください。

すべての共有予算を取得する

アカウント内のすべての共有予算を取得するには、まず AdsApp オブジェクトの budgets メソッドを呼び出してセレクターを取得 します。 次に、セレクターの get メソッドを呼び出して、共有予算の一覧を反復処理するために使用する 反復子 を取得します。 この例ではフィルターが指定されていないため、セレクターはアカウント内のすべての共有予算を返します。 反復子内の共有予算の数を確認するには、反復子の totalNumEntities メソッドを呼び出します。

注:

共有予算には、非共有 (個々のキャンペーン) 予算は含まれません。

function main() {
    // Gets all shared budgets in the account.
    var iterator = AdsApp.budgets().get();
    
    // Iterates through the list of shared budgets and logs 
    // each budgets's name and amount.
    while (iterator.hasNext()) {
        var budget = iterator.next();
    }
}

名前で共有予算を取得する

名前で共有予算を取得するには、まず AdsApp オブジェクトの budgets メソッドを呼び出してセレクターを取得 します。 セレクターには、予算の一覧をフィルター処理するために使用するフィルター メソッドが多数含まれています。 メソッドを withCondition 使用して、予算を名前でフィルター処理します。 たとえば、特定の名前のリストをフィルター処理するには、 を使用します withCondition("BudgetName = '<budgetnamegoeshere>'")。 一覧を部分的な名前でフィルター処理するには、 を使用します withCondition("BudgetName CONTAINS_IGNORE_CASE '<partialnamegoeshere>'")。 オペランドと演算子では大文字と小文字が区別されることに注意してください。

次に、セレクターの get メソッドを呼び出して 反復子を取得します。

function main() {
    // Partial name of the shared budget to get.
    var budgetName = 'PARTIAL NAME GOES HERE';

    // Get the budgets that contain the partial name.
    var iterator = AdsApp.budgets()
          .withCondition(`BudgetName CONTAINS_IGNORE_CASE '${budgetName}'`)
          .get();

    // Iterates through the list of shared budgets and logs 
    // each budget's name and amount.
    while (iterator.hasNext()) {
        var budget = iterator.next();
    }
}

ID で共有予算を取得する

共有予算の ID にアクセスできる場合は、代わりに使用します。 ID を使用してエンティティを取得すると、パフォーマンスが向上します。 フィルター メソッドを使用する withCondition 代わりに、 メソッドを使用します withIds 。 たとえば、「 withIds(['12345']) 」のように入力します。

function main() {
    var sharedBudgetId = '12345';

    var iterator = AdsApp.budgets()
        .withIds([sharedBudgetId])
        .get();

    while (iterator.hasNext()) {
        var budget = iterator.next();
    }
}

予算を共有するすべてのキャンペーンを取得する

予算を共有するすべてのキャンペーンを取得するには、予算の キャンペーンメソッドを 呼び出します。 このメソッドは、BudgetSelector から取得した Budget オブジェクトからのみ呼び出すことができます。予算のソースがキャンペーンの getBudget メソッドである場合は、それを呼び出すことはできません。

function main() {
    var sharedBudgetId = '12345';

    var budgets = AdsApp.budgets()
        .withIds([sharedBudgetId])
        .get();

    while (budgets.hasNext()) {
        var budget = budgets.next();

        var campaigns = budget.campaigns().get();

        while (campaigns.hasNext()) {
            var campaign = campaigns.next();
        }
    }
}

共有予算のパフォーマンス データを取得する

共有予算のパフォーマンス メトリックを取得するには、予算の getStats メソッドを 呼び出します。 共有予算の一覧を取得するときは、必要なメトリック データの日付範囲を指定する必要があります。 日付範囲は、LAST_MONTHや TODAY などの定義済みのリテラル、または開始日と終了日を使用して指定できます。 日付範囲を指定するには、予算を forDateRange 選択するときにいずれかの方法を使用します ( 「BudgetSelector」を参照)。

アクセスできるメトリックの一覧については、 Stats オブジェクトを参照してください。 メトリックは、予算を共有するすべてのキャンペーンの集計です。

function main() {
    var sharedBudgetId = '12345';

    // Get the shared budget. You need to specify the date range of the
    // performance data you want to get.
    var budgets = AdsApp.budgets()
        .forDateRange('LAST_WEEK')
        .withIds([sharedBudgetId])
        .get();
    
    // If the budget is found, log some metrics.
    while (budgets.hasNext()) {
        var budget = budgets.next();
        var metrics = budget.getStats(); // Gets the performance metrics.
    }
}