Google 広告のほとんどのエンティティでは、その識別子を返す getId()
メソッドが公開されています。ほとんどの場合は必須ではありませんが、ID が役立つのは次のような場合です。
- レポートの操作
- ID は、レポートの行を実際の Google 広告エンティティにリンクするのに便利な手段です。
- 外部データ ストアとのマッピングを維持する場合
- ID ベースの情報が独自のデータベースにすでに保存されている場合があります。
- パフォーマンスの向上を求める場合
通常、ID によるデータの取得は他の方法よりも高速です。単一のエンティティを取得するコードも少し簡単になります。
let campaigns = AdsApp.campaigns() .withIds([678678]) .get(); // vs. let campaigns = AdsApp.campaigns() .withCondition("Name='My Campaign'") .get();
一意性
キャンペーン ID と広告グループ ID は一意です。2 つのキャンペーンや広告グループで同じ ID を共有することはありません。ただし、広告とキーワードには複合 ID があります。キーワードの一意の識別子は、広告グループ ID とキーワード ID の組み合わせです。同様に、広告の一意の識別子は、広告グループ ID と広告 ID を組み合わせたものです。これは、selector.withIds()
の呼び出し方法に影響します。
キャンペーンと広告グループの場合、selector.withIds()
には数値の配列が必要です。
let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);
一方、広告とキーワードの場合、selector.withIds()
には 2 要素配列の配列が必要です。最初の要素は広告グループ ID になります。次のスニペットは、広告グループから 3 つのキーワードを取得しています。
let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
[adGroupId, 234234],
[adGroupId, 345345],
[adGroupId, 456456]
]);
広告を取得するときも同じ構造が適用されます。