UTMパラメータは、リンクのURLの後ろに ?utm_source=line&utm_medium=social のような目印を付けて、Googleアナリティクス4(GA4)に「この人はどこから来たか」を教える仕組みです。何も付けないと、LINEの配信から来た人もチラシのQRコードから来た人も、GA4では「直接(Direct)」にまとまり、どの配信が申込につながったのか分かりません。この記事を読み終わると、社内で値の決まりをそろえ、LINE・メルマガ・チラシ・Instagramのリンクを1本ずつ分けて作り、GA4のレポートで配信ごとの申込を数えられるようになります。前提は、GA4のプロパティがあり、サイトの全ページでGoogleタグが動いていることです。画面の名前と仕様は2026年10月時点の公式ヘルプで確かめたものです。
例は、スタッフ6名ほどの予約制の料理教室「サンプル料理教室」のサイト sample-cooking.example(WordPress)です。体験レッスン申込フォームと送信後のサンクスページ /thanks/、電話番号のボタン、LINE公式アカウントの友だち追加ボタン、Instagramへのリンクがあり、体験申込完了・電話タップ・LINE追加をキーイベント(旧コンバージョン)にしています。集客はブログ記事のGoogle検索、Instagram、Google広告とMeta広告、LINEの配信、チラシのQRコードです。
先に決めること
決まりなしで付け始めると、半年後のレポートに LINE line Line公式 が別々の行で並びます。付け始める前に次の5つを決めます。
- 何を分けたいか。代表が知りたいのは「どの集客から体験申込が来たか」と「LINEのどの配信が効いたか」です。これがそのまま utm_source、utm_campaign、utm_content になります
- 値の書き方。小文字だけ、つなぎはハイフン、日本語は使わない、のように1枚にまとめます。GA4は値の大文字と小文字を区別し、
Instagramとinstagramは別の参照元になります - utm_medium に入れる値。GA4の「デフォルト チャネル グループ」は主にメディアの値でチャネルを決めます。
emailと書けば「Email」、socialと書けば「Organic Social」に入ります。ここを自由に書くと「未割り当て」が増えるので、使ってよい値を先に絞ります - 誰が作るか。LINEは受付、Instagramは講師、チラシは代表と分かれていても、URLは1つの台帳から作ります
- どこには付けないか。Google広告の広告と、自分のサイトの中のリンクには付けません。理由は後の「Google広告は自動タグ設定に任せる」と「よく詰まるところ」で書きます
一覧の表
UTMの5つと、GA4で増えたもの
Google アナリティクス ヘルプの「URL 生成ツール: カスタム URL でキャンペーン データを収集する」と「トラフィック ソースのディメンション、手動タグ設定、自動タグ設定」に載っているパラメータです。utm_source・utm_medium・utm_campaign の3つは、どのリンクにも必ず付けます。1つでもUTMを付けたリンクで3つがそろっていないと、そろっていない分が「(not set)」になります。
| パラメータ | 何を入れるか | サンプル料理教室の例 | GA4で見えるディメンション |
|---|---|---|---|
| utm_source | どこから来たか(媒体・サービス名) | line instagram newsletter flyer | セッションの参照元 |
| utm_medium | どんな種類の経路か | social email qr paid_social | セッションのメディア |
| utm_campaign | どの配信・施策か | 2026-11_trial-autumn | セッション キャンペーン |
| utm_content | 同じ配信の中のどのリンクか | btn-top btn-bottom image | セッションの手動広告コンテンツ |
| utm_term | 有料検索のキーワード | 使わない | セッションの手動キーワード |
| utm_id | キャンペーンのID | 使わない | セッションの手動キャンペーン ID |
| utm_source_platform | 広告を買ったプラットフォーム | 使わない | セッションの手動参照元プラットフォーム |
| utm_creative_format | クリエイティブの種類 | 使わない | 2026年10月時点でレポートに出ない |
| utm_marketing_tactic | ターゲティングの種類 | 使わない | 2026年10月時点でレポートに出ない |
下の4つはGA4で使えるようになったものです。utm_id は、Google広告以外の広告費などをGA4に取り込むときに、取り込むデータのIDと突き合わせるためのものです。utm_source_platform は検索広告 360 やディスプレイ&ビデオ 360 を使う会社向けです。utm_creative_format と utm_marketing_tactic は、ヘルプに「現在レポートには含まれない」と書かれています。小さな会社でこの4つが要る場面はまずないので、source・medium・campaign・content の4つだけを使います。

社内で値をそろえる決まり
この表をそのまま社内の決まりにします。台帳のシートの1枚目に貼っておくと、作る人が迷いません。
| 決まり | 書き方 | だめな例 | 理由 |
|---|---|---|---|
| 小文字だけ | instagram | Instagram INSTAGRAM | GA4は値の大文字と小文字を区別し、別の行になる |
| 単語のつなぎ | ハイフン trial-autumn | 空白 trial autumn | 空白は %20 や + に変わり、読みにくく打ち間違えやすい |
| 日本語を使わない | trial-autumn | 秋の体験 | URLが長くなり、変換されて読めない形でコピーされることがある |
| 日付の形 | 2026-11 | 11月 202611 R8.11 | 並べ替えたときに時系列で並ぶ |
| medium は決めた値だけ | social email qr paid_social organic | line sns mail チラシ | チャネルの定義に当たらない値は「未割り当て」になる |
| source は媒体の名前 | line instagram newsletter flyer | LINE公式 insta ig | 同じ媒体が別名で分かれないように1つに決める |
| campaign は「年月_施策」 | 2026-11_trial-autumn | 体験 test | 月ごとに集計しやすく、何の施策か分かる |
| content は位置か形 | btn-top image richmenu-trial | 1 a | 半年後に見ても、どのリンクか分かる |
| 個人の情報を入れない | なし | utm_content=tanaka | メールアドレスや名前など個人を特定できる値はGA4に送らない |
チャネルの定義は大文字と小文字を区別しないので、チャネルで見ると正しいのに参照元で見ると行が割れている、というずれが起きます。
medium の値と入るチャネル
GA4の「デフォルト チャネル グループ」の定義(2026年10月時点)に合わせて、サンプル料理教室で使う値を決めた表です。
| 入口 | utm_source | utm_medium | 入るチャネル |
|---|---|---|---|
| LINEの配信・リッチメニュー | line | social | Organic Social |
| メルマガ | newsletter | email | |
| Instagramのプロフィール・ストーリーズ | instagram | social | Organic Social |
| チラシのQRコード | flyer | qr | 未割り当て(後の応用で直す) |
| Meta広告 | instagram または facebook | paid_social | Paid Social |
| Googleビジネスプロフィールのウェブサイト | google | organic | Organic Search |
| SMSの案内 | sms | sms | SMS |
| Google広告 | 付けない(自動タグ設定) | 付けない | Paid Search など |
有料の扱いになるのは、メディアが cp を含むか、ppc retargeting か、paid で始まる値です。紙から来る経路を表すメディアは定義に無いので、チラシは何を書いても「未割り当て」です。
LINEの配信をメディア social にするのは、配信も友だち向けの発信で、広告費をかけていないからです。line をメディアに書くと、どの定義にも当たらず「未割り当て」に落ちます。LINEだけを1つのチャネルとして見たい場合は、後の応用で書く「カスタム チャネル グループ」で分けます。
手順
1. 台帳をスプレッドシートに作る
URLは手で打たず、Googleスプレッドシートの台帳で作ります。列は「リンク先URL」「utm_source」「utm_medium」「utm_campaign」「utm_content」「できあがりのURL」「作った人」「使った場所」「使い始めた日」です。
- Googleスプレッドシートを新しく作り、1枚目のシートに上の「社内で値をそろえる決まり」の表を貼ります
- 2枚目のシートの1行目に、上の列名を入れます
- utm_source と utm_medium の列に「データの入力規則」でプルダウンを付け、決めた値しか選べないようにします
- 「できあがりのURL」の列(F2)に次の式を入れ、下の行へコピーします
=IF(A2="","",A2 & IF(ISNUMBER(FIND("?",A2)),"&","?") & "utm_source=" & ENCODEURL(LOWER(B2)) & "&utm_medium=" & ENCODEURL(LOWER(C2)) & "&utm_campaign=" & ENCODEURL(LOWER(D2)) & IF(E2="","","&utm_content=" & ENCODEURL(LOWER(E2))))
この式は、リンク先URLにすでに ? があれば & でつなぎ、無ければ ? で始めます。値は LOWER で小文字にそろえます。リンク先URLにページ内の位置を示す #access のような部分が付いていると、UTMが # の後ろに入って読まれないので、A列には # を含まないURLを入れます。

2. Campaign URL Builder で1本作って確かめる
台帳の式が正しいかを、Googleの公式のURL生成ツール Campaign URL Builder で作ったURLと見比べて確かめます。画面は英語です。
- Campaign URL Builder を開き、上のタブが「Web」になっていることを確かめます(「Play」はAndroidアプリ用です)
- 「website URL」に
https://sample-cooking.example/lesson/trial/を入れます - 「campaign source」に
line、「campaign medium」にsocialを入れます。アスタリスクが付いた必須の欄は website URL・campaign source・campaign medium の3つです - 「campaign name」に
2026-11_trial-autumn、「campaign content」にbtn-topを入れます。campaign name の下には「One of campaign name or campaign id are required.」と出ていて、campaign name か campaign ID のどちらかも必須です。ここでは campaign name を入れるので、「campaign ID」(説明は「The ads campaign id.」)と「campaign term」は空のままにします - 下の「generated URL」に出たURLを、右のコピーのアイコンでコピーし、台帳の同じ行のURLと一字ずつ見比べます
- 「Set campaign parameters in the fragment portion of the URL」のチェックは入れません。ツール自身が「not recommended」と書いている設定です
画面の欄は、campaign source が utm_source、medium が utm_medium、name が utm_campaign、ID が utm_id、term が utm_term、content が utm_content に入ります。
できあがりは次の形です。
https://sample-cooking.example/lesson/trial/?utm_source=line&utm_medium=social&utm_campaign=2026-11_trial-autumn&utm_content=btn-top
「Shorten link」の短縮ボタンは Bitly のアカウントとつなぐ必要があります。短縮URLは短縮サービスの側で切れるとリンクごと使えなくなるので、印刷物や常設のリンクには使いません。

3. LINEの配信ごとに分ける
サンプル料理教室では、LINE公式アカウントから月に2〜3回の配信と、常に出ているリッチメニュー、友だち追加直後のあいさつメッセージがあります。配信ごとに utm_campaign を変え、同じ配信の中のリンクを utm_content で分けます。
| 送るもの | utm_campaign | utm_content | リンク先 |
|---|---|---|---|
| 11/5 秋の体験レッスン案内(上のボタン) | 2026-11_trial-autumn | btn-top | /lesson/trial/ |
| 11/5 秋の体験レッスン案内(画像) | 2026-11_trial-autumn | image | /lesson/trial/ |
| 11/5 秋の体験レッスン案内(下のボタン) | 2026-11_trial-autumn | btn-bottom | /lesson/trial/ |
| 11/20 年末のパン講座の案内 | 2026-11_bread-yearend | btn-top | /lesson/bread/ |
| リッチメニューの「体験申込」 | richmenu | richmenu-trial | /lesson/trial/ |
| リッチメニューの「料金」 | richmenu | richmenu-price | /price/ |
| あいさつメッセージ | greeting | btn-top | /lesson/trial/ |
utm_source はすべて line、utm_medium はすべて social です。
- 配信を作る前に、台帳に配信の行を足し、できあがりのURLをコピーします
- LINE公式アカウントの管理画面で「メッセージ配信」の作成画面を開き、本文やボタンのリンクにURLを貼ります
- テスト配信を自分のスマートフォンに送り、リンクを押して開いたページのアドレスバーに
utm_が残っているかを見ます - 本配信を送り、台帳の「使った場所」と「使い始めた日」を埋めます
- リッチメニューとあいさつメッセージは、一度だけ同じ手順でURLを差し替えます。常設のリンクは月が変わっても
richmenugreetingのまま変えません
実際に運用していると、LINEのアプリの中でリンクを開いた人は参照元が渡らないことが多く、UTMを付けていない配信は「直接」に入ります。ボタンが1つの配信にも utm_content を付けておくと、ボタンを2つにしたときに上と下を比べられます。

4. メルマガ
体験レッスンに来た人へ月1回送っているメルマガは、utm_source を newsletter、utm_medium を email にします。メディアが email なので、チャネルは「Email」に入ります。
- 台帳に
2026-11_newsletterのような月ごとの campaign で行を足します - メール本文のリンクを、記事ごと・ボタンごとに utm_content で分けたURLにします
- 配信ツールにGoogleアナリティクス用のパラメータを自動で付ける機能がある場合は、どちらか一方だけにします
- テストメールを送り、リンクを押してアドレスバーを確かめます
メールソフトから開かれたリンクも参照元が渡らないことがあり、UTMが無いと「直接」に入ります。
5. チラシのQRコード
チラシは刷った後に直せないので、UTM付きのURLをそのままQRコードにし、慎重に確かめます。
- 台帳に、utm_source
flyer、utm_mediumqr、utm_campaign2026-11_flyer-station(配った場所が分かる名前)の行を足します - 配る場所や版が違うチラシは utm_campaign か utm_content を変えます。駅前で配るものと教室の店頭に置くものを
flyer-stationとflyer-shopで分ける、のようにします - できあがりのURLをQRコードの作成ツールに入れて画像を作ります
- 画像を画面に表示して、自分のスマートフォンのカメラで読み取り、開いたページのアドレスバーに
utm_が残っているかを確かめます - 印刷の入稿データに入れる前に、もう一度読み取って確かめます
URLが長いとQRコードが細かくなり、小さく刷ると読み取りにくいので、隅に小さく載せるなら utm_content を省きます。紙は何年も手元に残るので、短縮URLは使いません。

6. Instagramのプロフィール
Instagramは投稿の本文に書いたURLが押せないので、サイトへの入口はプロフィールのリンクとストーリーズのリンクになります。
- 台帳に、utm_source
instagram、utm_mediumsocial、utm_campaignprofileの行を足します - Instagramのアプリで「プロフィールを編集」を開き、リンクの欄にできあがりのURLを入れます
- ストーリーズでリンクを付ける場合は、utm_campaign をストーリーズの月と内容(
2026-11_story-trial)にします - プロフィールのリンクを自分で押し、アドレスバーを確かめます
UTMが無いと、Instagramから来た人は参照元が l.instagram.com や instagram.com に分かれることがあります。付けておけば instagram / social の1行にまとまります。

7. Google広告は自動タグ設定に任せる
Google広告の広告には、UTMを付けません。Google広告には「自動タグ設定」があり、オンにすると広告のクリックごとにリンク先URLへ gclid という目印が付きます。GA4とGoogle広告をリンクしておけば、この gclid からキャンペーン名や広告グループまでGA4に入ります。
自動タグ設定とUTMを両方付けた場合、GA4ではヘルプのとおり次のように扱われます。
| 項目 | 自動タグ設定(gclid)とUTMの両方があるとき |
|---|---|
| 参照元・メディア・キャンペーン | 自動タグ設定の値(google / cpc と実際のキャンペーン名) |
| 手動広告コンテンツ・手動キーワード | utm_content・utm_term の値 |
| 手動の値で上書き | できない(GA4には手動タグを優先させる設定が無い) |
| gtag.js で gclid の情報を上書き | 自動タグ設定がオンのときはできない |
広告にUTMを付けても参照元とキャンペーンは変わらず、広告ごとの違いはGoogle広告の管理画面のほうが詳しく見られます。
- Google広告の管理画面で「管理」→「アカウント設定」→「自動タグ設定」を開き、オンになっているかを確かめます。新しいアカウントでは最初からオンです
- GA4で「管理」→「サービス間のリンク設定」→「Google 広告のリンク」を開き、Google広告のアカウントがリンクされているかを確かめます
- 広告の最終ページURLに
utm_が入っていたら外します

8. 付いたかを確かめる
配った後では直せないので、配る前に確かめます。
- できあがりのURLをスマートフォンとパソコンのブラウザで開き、表示されたページのアドレスバーに
utm_sourceから最後まで残っているかを見ます。途中で消えていたら、サイトのリダイレクトで落ちています - GTMのプレビュー(Tag Assistant)でそのURLを開き、page_view の
page_locationにUTMが入っているかを見ます - 翌日、GA4の「レポート」→「集客」→「トラフィック獲得」で、表の上のディメンションを「セッションの参照元 / メディア」に切り替え、
line / socialの行があるかを見ます

9. GA4で配信ごとの申込を見る
- 「レポート」→「集客」→「トラフィック獲得」を開きます
- 表のディメンションの切り替えで「セッション キャンペーン」を選びます(切り替えの位置はヘルプに書かれていないので、画面で探してください)
- 表の上の検索欄に
2026-11と入れ、11月の施策だけに絞ります - 上の「フィルタを追加」で、キーイベントの「体験申込完了」だけに絞ります(絞り込みはヘルプでは「フィルタを追加」で案内されています)
- ボタンの位置まで見たい場合は、ディメンション名の横の「+」からセカンダリ ディメンションに「セッションの手動広告コンテンツ」を足します
毎月代表に見せるなら、データポータル(Looker Studio)の1枚に「セッション キャンペーン」と「キーイベント」の表を置きます。

応用
LINEとチラシを1つのチャネルとして見る
デフォルト チャネル グループは編集できません。LINEをOrganic Socialから出したい、チラシの「未割り当て」を「チラシ」と出したい場合は、カスタム チャネル グループを作ります。標準のプロパティでは2つまで作れ、チャネルは上から順に当てはめられます。
- 「管理」→「データの表示」→「チャネル グループ」を開き、「新しいチャネル グループの作成」を押します
- 名前を「サンプル料理教室の集客」にします
- 「新しいチャネルの追加」で「LINE」を作り、条件を「参照元が
lineと完全一致」にします - 同じように「チラシ」を作り、条件を「メディアが
qrと完全一致」にします - 「LINE」と「チラシ」を一番上へ並べ替えます。下にあると、先にOrganic Socialなどに当たってしまいます
- 保存し、トラフィック獲得レポートのディメンションでこのチャネル グループを選びます

Meta広告
Meta広告にはGA4へキャンペーン名が自動で入る仕組みが無いので、UTMを付けます。広告の作成画面のリンク先の下にある「URLパラメータ」の欄に、? を除いた utm_source=instagram&utm_medium=paid_social&utm_campaign=2026-11_trial-autumn を入れます。配置をInstagramだけに絞った広告は instagram にします。メディア paid_social は「paid で始まる」に当たるので「Paid Social」に入ります。タグの入れ方は「GTMで広告のタグを入れる:Google広告のコンバージョンタグとMeta ピクセル」で書きます。
Googleビジネスプロフィールのウェブサイト
Googleマップの店舗情報の「ウェブサイト」に付けるリンクは、UTMが無いとGoogle検索から来た人と区別できません。utm_source google、utm_medium organic、utm_campaign gbp にすると、チャネルはOrganic Searchのまま、キャンペーンの行で地図から来た人だけを分けられます。
Search Console との関係
Google検索の自然な流入にはUTMを付けません。どの検索語で表示されたかはSearch Consoleで見て、来た後の申込はGA4の「Organic Search」で見ます。
できないことと、その代わり
- 過去にさかのぼって分けることはできません。付け始めた日を台帳に残し、それより前とは比べません
- 電話の申込、チラシを見てから検索した人、紹介で来た人は分けられません。申込フォームと電話の受付で「どこで知りましたか」を聞き、GA4とは別に数えます
- LINEの配信で一度見た人が3日後に検索から申し込んだ場合、セッションの参照元で見ると申込は検索に付きます。UTMは「その来訪がどこからか」を示すだけです。最初にどこで知ったかは「ユーザー獲得」レポートで見ます
- Google広告の分類をUTMで上書きすることはできません。GA4では自動タグ設定が優先されます。広告の中の細かい分け方はGoogle広告の管理画面で見ます
- utm_creative_format と utm_marketing_tactic の値は、2026年10月時点でGA4のレポートに出ません。BigQueryへのエクスポートには入るので、どうしても要る場合はそちらで見ます
- LINEのアプリの中のブラウザで見た人が普段のブラウザで開き直すと、GA4では別の人になり、UTMは最初のブラウザにしか残りません。防ぐ手は無いので、配信どうしの比較にとどめます
よく詰まるところ
| 症状 | 原因 | 直し方 |
|---|---|---|
| UTMを付けたのに「直接」に入る | サイトのリダイレクト(http→https、wwwの有無、末尾の / の付け直し)でURLの ? 以降が消えている | 最終的に表示されるURLそのものを台帳のリンク先に入れる。制作会社にリダイレクトでクエリを残すよう頼む |
参照元に Instagram と instagram の2行がある | 大文字と小文字が混ざっている | 台帳の式の LOWER を通す。既に配ったURLは直せないので、探索レポートで2行を足して見る |
| キャンペーンが「(not set)」 | utm_campaign を付け忘れた、または source と medium だけを付けた | source・medium・campaign の3つを必ず付ける。台帳のプルダウンで空欄を作らない |
| チャネルが「未割り当て」 | utm_medium が line sns mail のように定義に無い値 | medium の値を表の中から選ぶ。チラシのように定義に無いものはカスタム チャネル グループで分ける |
| 広告の成果が減り、社内バナーの申込が増えた | 自分のサイトの中のリンク(トップのバナーなど)にUTMを付けた | サイト内のリンクからUTMを外す。サイト内のどこが押されたかはクリックのイベントで数える |
予約システムから戻った人が reserve.example / referral になる | 外部の予約システムから自社サイトに戻ると、予約システムが参照元として数えられる | 「管理」→「データ ストリーム」→ウェブのストリーム→「タグ設定を行う」→「すべて表示」→「除外する参照のリスト」に reserve.example を足す |
同じURLの中に ? が2つある | リンク先に既に ?page=2 のようなパラメータがあるのに ?utm_ を足した | 2つ目からは & でつなぐ。台帳の式は自動で切り替える |
| ページ内の位置へ飛ぶリンクでUTMが読まれない | #access?utm_source=... のように # の後ろにUTMを置いた | /?utm_source=...#access のように # より前に置く |
| Google広告が「(not set)」や「google / cpc」だけで、キャンペーン名が出ない | GA4とGoogle広告がリンクされていない、または自動タグ設定がオフ | 「サービス間のリンク設定」→「Google 広告のリンク」でリンクし、Google広告で自動タグ設定をオンにする |
| QRコードで来た人が数えられない | 短縮URLのサービスがUTMを落としている、または短縮URLが切れた | QRコードにはUTM付きのURLを直接入れる。印刷前に実機で読み取る |
次にやること
UTMで分けた入口を、チャネルや参照元のどの見方で読むかは「流入経路の見方:参照元・メディア・チャネルの違いと、広告・SNS・検索の分け方」で書きます。Google広告の自動タグ設定を生かして、体験申込をGoogle広告の成果として数えるには「GA4とGoogle広告を連携する:問い合わせを広告のコンバージョンにする」に進みます。Meta広告のURLパラメータとピクセルは「GTMで広告のタグを入れる:Google広告のコンバージョンタグとMeta ピクセル」で書きます。配信ごと・ボタンの位置ごとの申込を自由な切り口で並べたい場合は「探索レポートの作り方:自由形式・ファネル・経路データ探索」で、セッションの手動広告コンテンツを使った表を作ります。