GAQLの書き方を実際に使ってわかった5つのコツ
Google広告APIを触り始めると、最初の壁が認証、次の壁がGAQL(Google Ads Query Language)の書き方だ。SQLに似ているのに微妙に違い、公式リファレンスは英語で量も多い。数千万円規模の広告をAPIで自動集計する中で、つまずいた点と、そのままコピペで動く形が見えてきた。この記事は、GAQLを「読める」から「自分で書ける」に変えるための実践ガイドだ。3要素、コピペ用クエリ5本、落とし穴3つ、日付指定までまとめる。認証段階でつまずくなら、先に Google広告APIをPythonで動かす手順と初回の壁 を読むと早い。 GAQLはSQLに似た「3要素」でできている GAQLはSQLに似ているが、GROUP BYもJOINも書かない。1つのresource(主リソース)を選び、そこにmetrics(数値指標)とsegments(分割軸)を足すだけの構造だ。公式ドキュメント(developers.google.com/google-ads/api/docs/query/structure)でも、この3要素の組み合わせがクエリの中心だと説明されている。 ざっくり役割はこうだ。(1)resource=何を主軸に見るか。campaign、ad_group、keyword_view、search_term_viewなど。(2)metrics=clicksやcost_micros、conversionsといった集計済みの数値。(3)segments=segments.dateやsegments.deviceなど、行を分割する軸。この3つをSELECTに並べ、FROMでresourceを1つ指定し、WHEREで絞り込む。基本形は「SELECT 項目 FROM リソース WHERE 条件」だけだ。 SQLとの一番の違いは、集計とグルーピングが暗黙で走る点だ。segmentsをSELECTに足すと、そのままGROUP BYを書いたように行が自動で分割される。この挙動を知らないと、後述する「行が勝手に増える」罠に必ずぶつかる。 そのままコピペで使えるGAQLクエリ5本 まずは動くものを手元に置くのが最短だ。以下の5本は、実運用でそのまま叩いている頻出クエリだ。ブックマークして、campaign.statusや日付範囲を自分の環境に書き換えて使ってほしい。すべてse...