トラッキングテンプレート生成ツール|Google・Yahoo・Meta広告のURLパラメータ
入稿URLを1本ずつ書き換えるのをやめて、アカウント単位に一度貼るだけの値を作るツールです。媒体を選ぶと、その媒体で実際に置換されるパラメータだけが候補に出ます。
このツールは入力した値から文字列を組み立てるだけで、外部への通信は行いません。 入力したキャンペーン名やURLが当サイトや第三者に送信されることはありません。
媒体ごとに違うのは3点だけ
同じ「トラッキングテンプレート」という言葉でも、媒体によって仕様が違います。違うのは次の3点です。
| Google 広告 | LINEヤフー広告 | Meta 広告 | |
|---|---|---|---|
| 波かっこ | {param} | {param} | {{param}} |
| 設定項目 | トラッキングテンプレート / 最終ページURLのサフィックス | トラッキングURL | URLパラメータ |
| 設定できる階層 | アカウント〜広告 | アカウント〜広告・キーワード | 広告単位のみ |
Meta だけはアカウント単位で一括設定する項目がありません。広告ごとに「URLパラメータ」欄へ入れることになるので、テンプレートを決めて複製で回すことになります。
Google と LINEヤフー広告はどちらも、上位と下位の両方に設定した場合は下位の設定が優先されます。アカウント単位に入れておけば全体に効くので、まずはアカウント単位で入れるのが管理として楽です。
{lpurl} と ? が必要かどうかは項目によって逆になる
一番事故が多いのがここです。Google 広告には設定項目が2つあり、書き方が逆です。
| 項目 | 書き方 |
|---|---|
| トラッキングテンプレート | {lpurl}?utm_source=google&utm_medium=cpc |
| 最終ページURLのサフィックス | utm_source=google&utm_medium=cpc |
サフィックスは最終ページURLの後ろに連結される項目なので、{lpurl} も先頭の ? も書きません。ここにテンプレートと同じ値を貼ると ? が二重になって壊れます。
どちらを使うかは、計測ツールのリダイレクトを挟むかどうかで決めます。
- パラメータを足すだけなら 最終ページURLのサフィックス。並行トラッキングに対応していて、リダイレクト計測を挟んでも消えません。
- 計測ツールのリダイレクトURLを経由させるなら トラッキングテンプレート。
{lpurl}を計測ツールのURLの中に埋め込む形で使います。
LINEヤフー広告に「サフィックス」相当の項目はなく、トラッキングURLだけです。こちらは常に {lpurl} から書き始めます。
{matchtype} の値は Google と Yahoo で違う
同じ名前のパラメータでも返る値が違います。Google 側は近年値が増えました。
| 値 | Google 広告 | LINEヤフー広告 検索広告 |
|---|---|---|
e | 完全一致 | 完全一致 |
p | フレーズ一致 | フレーズ一致 |
b | インテント マッチ | 部分一致 |
a | AI 最大化設定(キーワードなし) | なし |
a は Google だけにある値です。キーワードを持たないトラフィックがここに入るため、{matchtype}=a の行が増えていたらキーワードベース以外の配信が伸びているということになります。マッチタイプ別でレポートを組んでいる場合、a を想定していないと未分類として落ちます。
{network} は P-MAX と Google TV の値が増えている
Google の {network} は次の値を返します。
| 値 | 意味 |
|---|---|
g | Google 検索 |
s | 検索パートナー |
d | ディスプレイ ネットワーク |
ytv | YouTube |
vp | Google 動画パートナー |
gtv | Google TV |
x | すべての P-MAX トラフィック |
e | アプリ エンゲージメント キャンペーンのすべてのトラフィック(Google 検索を除く) |
P-MAX は面が混在しますが {network} では区切られず、まとめて x になります。P-MAX の中で検索面とディスプレイ面を分けたい場合、この値では判別できません。
なお LINEヤフー広告に {network} はありません。
P-MAX に {adgroupid} と {keyword} はない
P-MAX には広告グループもキーワードも存在しないため、これらは置換されません。代わりにアセットグループ単位の {assetgroupid} を使います。
| パラメータ | 検索 | ショッピング | P-MAX | ディスプレイ・動画 |
|---|---|---|---|---|
{campaignid} | ○ | ○ | ○ | ○ |
{adgroupid} | ○ | ○ | × | ○ |
{assetgroupid} | × | × | ○ | × |
{keyword} | ○ | × | × | ○(キーワードターゲティング時) |
{matchtype} | ○ | × | × | × |
{placement} | × | × | × | ○ |
{product_id} | × | ○ | ○ | × |
置換されないパラメータを書いてもエラーにはなりません。{keyword} という文字列がそのまま送信され、計測ツール側に utm_term={keyword} という行が並びます。上のツールは、選んだ媒体で置換されないトークンが混ざっていると警告を出します。
LINEヤフー広告にはエンコード段階の指定がある
Google にはない仕様として、{lpurl} にエンコードの段階を指定する変種があります。
| パラメータ | 挙動 |
|---|---|
{lpurl} | 最終リンク先URL(1回エンコード) |
{lpurl+2} / {lpurl+3} | 2重 / 3重エンコード |
{unescapedlpurl} | エンコードしない(URLの先頭でのみ設定可) |
{escapedlpurl} | :/?=% を1回エンコード |
{escapedlpurl+2} / {escapedlpurl+3} | 同じものを2回 / 3回 |
計測ツールのリダイレクトURLの中にLPのURLを渡すとき、リダイレクトが2段になっていると1回のエンコードでは足りずにパラメータが途中で切れます。その場合に {lpurl+2} を使います。単純にパラメータを足すだけなら {lpurl} で十分です。
Meta は波かっこが2つ、そして名前は公開時点で固定される
Meta のダイナミックパラメータは二重波かっこです。Google と同じ {campaign.name} と書くと置換されず、そのままの文字列が送られます。
| パラメータ | 内容 |
|---|---|
{{campaign.name}} / {{campaign.id}} | キャンペーン名 / ID |
{{adset.name}} / {{adset.id}} | 広告セット名 / ID |
{{ad.name}} / {{ad.id}} | 広告名 / ID |
{{site_source_name}} | 配信先(Facebook / Instagram など) |
{{placement}} | 配置(フィード / ストーリーズなど) |
名前を取得するパラメータは、広告を最初に公開した時点の値で固定されます。 あとで広告セット名を変えても、パラメータに入る値は変わりません。命名規則を変えた履歴が計測データに残り続けるので、名前ベースではなく {{adset.id}} のようなID系を使うか、名前を変えないルールにするかを決めておく必要があります。
もう1点、名前系のパラメータは中身がそのままURLに入ります。キャンペーン名に日本語やスペースが入っていると、URLに日本語が混ざったり %20 が並んだりします。パラメータに使う階層の名前は半角英数字とアンダースコアに寄せておくのが安全です。
{keyword} はキーワードで、検索語句ではない
{keyword} が返すのは入札しているキーワードで、ユーザーが実際に打ち込んだ検索語句ではありません。検索語句を取得するパラメータはありません。
また日本語キーワードはURLエンコードされて入るため、計測ツール側では %E3%82%B7%E3%83%A3... のような形で見えます。GA4 のレポートで読みたい場合は、キーワードそのものではなく {targetid} でIDを取り、管理画面側と突き合わせる方が扱いやすいことがあります。
キャンペーンIDは utm_campaign ではなく utm_id に入れる
GA4 にはキャンペーンIDのための専用パラメータ utm_id があります。これは非Google媒体のコストデータインポートの結合キーで、Yahoo と Meta の広告費を GA4 に入れて ROAS を並べて見るなら必須です(GA4 は現在、非Google の広告費は手動インポートのみ対応)。
一方 utm_campaign は標準レポートの「キャンペーン」列に出る、人が読むラベルです。役割が分かれているので、こう使い分けます。
| 役割 | |
|---|---|
utm_id | 機械が突き合わせるキー。キャンペーンID |
utm_campaign | 人が読むラベル。キャンペーン名 |
ただし**utm_campaign を全媒体でキャンペーン名に揃えることはできません**。キャンペーン名を動的に取得できる媒体が限られているからです。
| キャンペーンIDの動的取得 | キャンペーン名の動的取得 | |
|---|---|---|
| Google 広告 | {campaignid} | 不可(ValueTrack に名前のパラメータがない) |
| LINEヤフー広告 | {campaignid} | 不可 |
| Meta 広告 | {{campaign.id}} | {{campaign.name}} |
名前で揃えようとすると Google と Yahoo はキャンペーンごとに手打ちになり、アカウント単位に一度貼るだけという利点が消えます。そのため上のツールでは、utm_id は全媒体でID、utm_campaign は名前が取れる Meta だけ名前にしてあります。Google と Yahoo の utm_campaign はIDのままです。空にすると GA4 の「キャンペーン」列が (not set) になり、IDが入っているより悪くなります。
Meta で名前とIDを両方持つ意味はもう1つあります。前述のとおり {{campaign.name}} は初回公開時点の名前で固定されるため、名前が古くなっても utm_id で正しく突き合わせられるようにしておくためです。
utm_id だけに寄せないのは、utm_id を認識しない計測ツールが多いからです。GA4 以外に流すことを考えると utm_campaign も埋めておく方が安全です。
LINEヤフー広告の {campaignid} は管理画面の「キャンペーンID」ではない
IDを結合キーに使うなら、ここは必ず確認してください。
LINEヤフー広告の {campaignid} が返すのは**「キャンペーントラッキングID」で、管理画面に表示される「キャンペーンID」とは別の値**です。{creative} と {adgroupid} も同様に、トラッキング専用のIDを返します。
| パラメータが返す値 | 管理画面の別項目 |
|---|---|
{campaignid} → キャンペーントラッキングID | キャンペーンID |
{adgroupid} → 広告グループトラッキングID | 広告グループID |
{creative} → 広告トラッキングID | 広告ID |
GA4 のコストインポート用ファイルに管理画面の「キャンペーンID」を書くと結合しません。 どちらも管理画面やキャンペーンエディターで確認できますが、初期設定では表示されていないため、表示項目を追加する必要があります。インポート側をトラッキングIDに合わせてください。
Meta 広告の utm_source に meta を使うとチャネル分類が崩れる
GA4 のデフォルトチャネルグループ「有料ソーシャル」の判定条件は、次の2つの AND です。
- 参照元がソーシャルサイトの一覧に一致する
- メディアが
^(.*cp.*|ppc|retargeting|paid.*)$に一致する
この一覧(Google が公開しているソースカテゴリ表)には facebook / fb / facebook.com / instagram は登録されていますが、meta はありません。
そのため utm_source=meta&utm_medium=paid_social は2つ目の条件だけを満たし、「有料ソーシャル」ではなく「その他(有料)」に分類されます。メディアの正規表現には一致してしまうのでエラーにもならず、レポート上は静かに別チャネルへ積まれます。
かといって utm_source={{site_source_name}} にするのは逆効果です。返る値は fb / ig / msg / an という略称で、fb は一覧にありますが ig msg an は登録が確認できません。Instagram 配信が別チャネルに落ちる可能性があり、悪化しかねません。
utm_source は facebook で固定し、実際の配信先は別のパラメータで持つのが安全です。上のツールの推奨構成では platform={{site_source_name}} を追加パラメータに入れています。チャネル分類の正しさと配信先の情報を両方確保できます。
Google と LINEヤフー広告については google yahoo がどちらも一覧に登録済みなので、そのままで問題ありません。上のツールは、選んだ媒体で登録が確認できない utm_source を入れると警告を出します。
Google 広告 × GA4 なら utm は必須ではない
GA4 と Google 広告は自動タグ設定(gclid)で連携するため、GA4 で見るだけなら utm を手で付ける必要はありません。Google 広告アカウントとリンクしていれば、キャンペーン名まで GA4 側で取得できます。
utm を付ける主な目的は、GA4 以外の計測ツールや BI ツールで媒体を横断して突き合わせること、そして GA4 に非Google媒体のコストを入れることです。
? の重複のような明らかな崩れは弾かれますが、{keyword} が置換されないケースのようにエラーにならない事故は管理画面では気づけません。