セレクターとは

セレクターを使用すると、キーワードやキャンペーンなどの Microsoft Advertising エンティティを取得するときに、フィルター処理と並べ替えの条件を適用できます。 セレクターは、SQL WHERE 句と ORDER BY 句とほぼ同等の機能を提供します。 セレクターには、次のメソッドが含まれます。

  • withCondition() — エンティティを選択するために満たす必要がある条件を指定するために使用します。 これは、SQL WHERE 句と同じです。

    例: withCondition('Name STARTS_WITH "Contoso"')

    1 つのセレクターに 1 つ以上の条件を適用できます。 複数の条件を指定することは、AND 演算と見なされます。 たとえば、条件 A が True かつ条件 B が True の場合にのみエンティティが選択されます。

  • withIds() — 選択するエンティティの ID を指定するために使用します。 これは、SQL IN 句と同じです。

    例: withIds(["1","2","3","4"])

  • forDateRange() — 指定した日付範囲に一致するパフォーマンス データを持つエンティティを返すために使用します。 条件でメトリック列を指定する場合は、セレクターのチェーンに forDateRange を含める必要があります。

    例: forDateRange("LAST_14_DAYS")

  • orderBy() — セレクターが指定したフィールドによって返すエンティティを並べ替えるのに使用します。 これは、SQL ORDER BY 句と同じです。

    例: orderBy("Clicks DESC")

  • withLimit() — 指定された最大数のエンティティを返すために使用します。 これは、SQL TOP 句と同じです。

    例: withLimit(50)

各メソッドはフィルター条件が適用されたセレクターを返すため、(ドット表記を使用して) 複数の条件を連結してフィルター条件を絞り込むことができます。 例:

var selector = AdsApp.campaigns()
    .withCondition("ClickConversionRate > 0.5")
    .withCondition("Cost > 4.0")
    .forDateRange("LAST_WEEK")
    .withLimit(10);

スクリプトのパフォーマンスを向上させるには、特定のフィルター条件を使用して、必要なエンティティのみを取得するようにします。 セレクターを取得したら、 get() メソッドを呼び出して、エンティティのリストを反復処理するために使用する反復子を取得します。

var campaigns = selector.get();

または

var campaigns = AdsApp.campaigns()
    .withCondition("ClickConversionRate > 0.5")
    .withCondition("Cost > 4.0")
    .forDateRange("LAST_WEEK")
    .withLimit(10)
    .get();

セレクターの一覧を次に示します。

次の手順