Google 広告スクリプトの新しいインフラストラクチャは、Google Ads API を基盤としています。 API のアーキテクチャは異なるため、既存のスクリプトの更新が必要になる場合があります。できる限り下位互換性を維持するよう最大限に努めておりますので、変更は軽微なものになるはずです。
レポート
多くの AWQL レポートは引き続き機能します。新しいインフラストラクチャを使用する場合、スクリプトは AWQL クエリを GAQL(Google Ads API の新しいクエリ言語)に変換し、新しいバックエンドで実行してから、結果を AWQL レポートで使用されていた元の形式に変換します。GAQL を使用したクエリはそのまま渡されます。
このオーバーヘッドがあるため、スクリプトを確認し、可能な限り AWQL クエリを GAQL に更新することをおすすめします。スクリプトと同じロジックを使用して特定の AWQL クエリの GAQL クエリを決定するクエリ移行ツールを使用できます。または、インタラクティブ クエリビルダーを使用してクエリを構築することもできます。
AWQL から GAQL への自動変換には、次のような制限があります。
- すべての AWQL クエリが GAQL クエリに正確に変換されるわけではありません。このような場合、手動で修正できるように、エラーの詳細を含むエラー メッセージがログに記録されます。
- AWQL のレポートタイプはすべて GAQL でサポートされているわけではありません。
- GAQL では「インプレッション数がゼロの行」はサポートされていません。レポートにゼロ インプレッションを含めるように指定すると、エラーが発生します。
- 曖昧なフィールドは、フィルタでは使用できません。たとえば、「Headline」は、さまざまな広告フィールドを参照できます。
- フィールドによっては、異なる形式で結果が返される場合があります。たとえば、1 つの結果を多数の列に分割する場合などです。
セレクタの編成
スクリプトを使用してリソースを取得する場合、withCondition
呼び出しと orderBy
呼び出しを使用して、イテレータ内の結果を制限または並べ替えることは非常に一般的です。これらの呼び出しのフィールドには、新しい Google Ads API 名が使用されるようになりました。たとえば、キャンペーン名でフィルタするには、以前は次の方法を使用していました。
.withCondition('CampaignName = "SOME_CAMPAIGN_NAME"')
ここで、可能な限りこれらの条件に新しいフィールド名を使用する必要があります。
.withCondition('campaign.name = "SOME_CAMPAIGN_NAME"')
ただし、古い名前と新しい名前のマッピングが含まれているため、スクリプトで CampaignName
がまだ使用されている場合でも、スクリプトが引き続き機能するように、実行時に campaign.name
に自動的に置き換えられます。古いスタイル名で問題が発生した場合は、トラブルシューティングの最初のステップとして、新しいスタイル名を使用するようにスクリプトを更新します。
上限
多くの上限は以前のインフラストラクチャと同じです。ここで行った変更は、通常、パフォーマンスの向上に役立ちます。
- 時間制限は同じです。スクリプトの実行時間は 30 分ほどです。
- デフォルトでは、単一のイテレータが 50,000 のエンティティを返しますが、これはオーバーライドできます。これまで、この 50,000 件の上限はカスタマイズできませんでした。
- 1 つのセレクタで処理できる ID は最大 10,000 個です(変更なし)。
- 新しいインフラストラクチャでは、1 つのスクリプトで処理できるエンティティの数に制限はありません。これまでの上限は 250,000 件でした。
- 新しいインフラストラクチャでは、実行ごとに作成できるキーワードまたは広告の数に制限はありません。これまでの上限は 250,000 件でした。
- ロギング出力は 100 KB で切り捨てられます(変更なし)。
- Apps Script サービス(SpreadsheetApp、MailApp など)の割り当ては変更されません。
- Google 広告の割り当ては、API を使用している場合と同様に適用されます。つまり、スクリプトは API レート制限の対象となりますが、実行ごとにより多くのレポートにアクセスしたり、より多くの変更を加えたりすることが可能になります。
その他の変更点
ExecutionInfo
は、リニューアル版ではこれらの割り当てが適用されなくなったため、getRemainingCreateQuota()
や getRemainingGetQuota()
を公開しなくなりました。