GA4でLINEからの流入を見る方法|(direct)/(none)になる理由と置き場所ごとのUTMの付け方

GA4でLINEからの流入は[セッションの参照元 / メディア]で見ます。UTMが無いと(direct)/(none)に入る理由と、メッセージ配信、リッチメニュー、ステップ配信、応答メッセージ、友だち追加URL、LIFFごとのUTMの付け方、GA4での確かめ方を公式ヘルプに沿って整理しました。

この記事をシェア:
目次 クリックで開く

この記事の要点

  1. GA4でLINEからの流入は、[集客]>[トラフィック獲得]の表を[セッションの参照元 / メディア]に切り替えて見る。LINEのリンクにUTMが無く、リファラーも無ければ、訪問は (direct) / (none) に入る。
  2. source と medium は1つに固定し(例:line / social)、置き場所ごとに utm_campaign の接頭辞と utm_content を決めて台帳で管理する。
  3. 友だち追加URL・QRコードはGA4に訪問が残らないので、LINEの追加経路で数える。LIFFでは、ページビューを liff.init() の完了後に送る。

LINEからの訪問が、GA4のどの行に入るか

LINEのリンクをタップメッセージ配信・リッチメニュー・ステップ配信など
最初のページのURLにUTMがあるGA4は、セッションの最初のページで参照元を決める
UTMの値の行に入る例:line / social

UTMが無い、または短縮URLやリダイレクトで消えた → リファラーも無ければ (direct) / (none) に入る

友だち追加URL・QRコードは行き先がLINEアプリなので、GA4には訪問が残らない(LINEの追加経路で数える)

出典:GA4ヘルプ「(direct) / (none) トラフィックについて」「アナリティクスのセッションについて」

GA4でLINEからの流入を見るには、[集客]>[トラフィック獲得]レポートの表を[セッションの参照元 / メディア]に切り替え、LINEのリンクに付けたUTMパラメータの値(例:line / social)の行を確認します。UTMパラメータで付けた参照元・メディア・キャンペーンの値は、そのままこのレポートの行になります(GA4ヘルプ「URL 生成ツール」)。

LINEに置いたリンクにUTMが付いていないと、GA4がLINEからの訪問だと見分ける手がかりは参照元(リファラー)の情報だけになり、それも無ければ訪問は (direct) / (none) に入ります。GA4ヘルプは、UTMの無いリンクに加えて、UTMを落とすリダイレクトやURL短縮サービスも (direct) / (none) の原因に挙げています(GA4ヘルプ「(direct) / (none) トラフィックについて」)。ところが、LINEのトークにあるリンクを開いたときに、遷移先のサイトへリファラーが渡るかどうかは、LINEヤフー for BusinessとLINE Developersの公開資料には書かれていません(2026年9月25日に当社が確認した範囲)。LINEから来たことを確実に残すには、リファラーを当てにせず、リンク1本ずつにUTMを付けます。

UTMを付けていても、別の行に入ってしまうことがあります。原因はリンクを置いた場所で変わります。この記事では、GA4が参照元を決める仕組みを押さえたうえで、メッセージ配信、リッチメニュー、ステップ配信、応答メッセージ・あいさつメッセージ、友だち追加URL・QRコード、LIFFアプリとLINE内ブラウザ、サイトに置いた「LINEで送る」ボタンの順に、どこで何が起きるか、UTMをどう付けてどう名付けるか、GA4でどう確かめるかを整理します。

GA4で「LINEからの流入」を見る場所

  1. [集客]>[トラフィック獲得]レポートを開きます。
  2. 表の左端のディメンションを[セッションの参照元 / メディア]に切り替えます。
  3. 表の上の検索欄に line と入れ、LINE用に決めた参照元の行だけを残します。
  4. どの施策・どのリンクから来たかは、[セッション キャンペーン](utm_campaign の値)や[セッションの手動広告コンテンツ](utm_content の値)を列に加えて見ます(GA4ヘルプ「ディメンションと指標」)。

このレポートの参照元はセッション単位の値で、利用者がサイトに来るたびに割り当て直されます(GA4ヘルプ「トラフィック ソース ディメンションのスコープ」)。同じ人がある日はリッチメニューから、別の日は配信から来れば、それぞれの行に数えられるので、置き場所ごとの呼び込みを比べるのに向いています。

見る時期にも注意が要ります。GA4のデータの処理には24〜48時間かかることがあります(GA4ヘルプ「データの更新頻度」)。また、リアルタイム レポートの参照元のカードは「ユーザーの最初の参照元」で、新しい利用者は通常の処理が終わるまでそのカードに出ません(GA4ヘルプ「リアルタイム レポート」)。配信の直後にUTMが効いているかを見る場所には向かないので、送る前の確かめ方は後の章で説明します。

LINEから来た訪問が (direct) / (none) や別の行に入る仕組み

参照元は、セッションの最初のページで決まる

GA4は、セッションの始まりに記録される session_start イベントに載っている情報(UTMパラメータ、Google 広告のクリックID、参照元URL)で、そのセッションの参照元を決めます(GA4ヘルプ「アナリティクスのセッションについて」)。参照元URL(リファラー)が使われるのは、UTMなどのキャンペーンの情報が無いときです。どちらも無い訪問や、参照を無視する設定に当たった訪問は、参照元の無い訪問として扱われます(GA4ヘルプ「キャンペーンとトラフィック ソース」)。

LINEのリンクを考えるうえでは、次の2つが効いてきます。

  • セッションの途中で新しいキャンペーンの情報が届いても、そのセッションの参照元は変わらず、値は届いたイベントにだけ結び付きます(GA4ヘルプ「キャンペーンとトラフィック ソース」)。最初のページビューにUTMが載っていなければ、2ページ目でUTMが読まれても、そのセッションはLINEの行に入りません。
  • 参照元の無い訪問でも、同じ利用者に以前の参照元の記録があれば、それが引き継がれます。セッションの割り当ては間接的ラストクリックで、さかのぼる期間は既定で90日です(GA4ヘルプ「アナリティクスのセッションについて」)。(direct) / (none) のまま残るのは、UTMもリファラーも無く、その利用者に既定の90日以内の参照元の記録も無い訪問です。

セッションの参照元が決まる順番

セッションの途中で届いたUTMは、そのセッションの参照元を変えない

1

セッションの最初のページに、UTMなどキャンペーンの情報があるか

session_start イベントに載っている情報で決まる

2

参照元URL(リファラー)があるか

キャンペーンの情報が無いときに使われる。参照を無視する設定に当たると、参照元の無い訪問になる

3

同じ利用者に、既定の90日以内の参照元の記録があるか

参照元の無い訪問でも、以前の参照元が引き継がれる(間接的ラストクリック)

上から順に、当たったもので決まるその参照元の行に入る
どれにも当たらない(direct) / (none) に入る

出典:GA4ヘルプ「アナリティクスのセッションについて」「キャンペーンとトラフィック ソース」

LINEのリンクを開くブラウザは1つではない

LINEのトークやメニューに置いたリンクは、場面によって次のどれかのブラウザで開きます。

ブラウザ開く場面出典
LINE内ブラウザトークやメニューに置いたふつうのURLをタップしたとき。Messaging APIのURIアクションも、LINE内ブラウザでURLを開くと説明されています。Messaging APIリファレンス(URIアクション)
外部ブラウザ(SafariやChromeなど)URLに openExternalBrowser=1 を付けたとき(LIFFアプリのURLでは効きません)。Android版LINEでは、openInAppBrowser=0 でChromeカスタムタブを指定できます。iPhone・iPadでLINEラボの[リンクをデフォルトのブラウザで開く]をオンにした利用者は、トークのリンクを端末のブラウザで開きます。LINE URLスキームでLINEの機能を使う、LINEヘルプセンター
LIFFブラウザトークでLIFF URL(https://liff.line.me/ で始まるURL)をタップしたとき。ただし、LIFF URLを開いたときにどの環境で開くかは保証されていません。LIFFブラウザとLINE内ブラウザの違い、LIFFアプリを開く

LINE Developersは、LIFFブラウザとLINE内ブラウザを別のブラウザとして説明しています。どのブラウザで開いても、リンクにUTMが付いていれば、GA4はその値で参照元を決めます。リファラーがどのブラウザでどう渡るかは公開資料で確かめられないので、リファラーが渡ることを前提にした設計は避けます。

ブラウザが分かれることには、もう1つ影響があります。GA4はウェブサイトでは、クライアントIDから取るデバイスIDで利用者を見分けます(GA4ヘルプ「レポート用識別子」)。LINE内ブラウザで商品を見た人が、あとで端末のブラウザから同じサイトに来て購入したとき、2つのブラウザでクライアントIDが共有されていなければ、GA4は別の利用者として記録します。その購入の訪問にはLINEの参照元が付かず、そのブラウザで記録された参照元(検索や (direct) / (none) など)の行に入ります。購入やログインまで同じブラウザで進めてほしい導線は、openExternalBrowser=1 で初めから外部ブラウザで開かせる方法があります。会員ログインのあるサイトなら、GA4にUser-IDを送ると、ログインした状態の行動を同じ利用者としてまとめられます(同じヘルプ)。

ブラウザが変わると、購入にLINEの参照元が付かない

LINE内ブラウザで商品を見る
あとで端末のブラウザから購入する2つのブラウザでクライアントIDが共有されていなければ、GA4は別の利用者として記録する
購入の訪問にLINEの参照元が付かないそのブラウザで記録された参照元(検索や (direct) / (none) など)の行に入る

購入やログインまで同じブラウザで進めてほしい導線は、openExternalBrowser=1 で初めから外部ブラウザで開かせる方法がある。会員ログインのあるサイトなら、GA4にUser-IDを送ると、ログインした状態の行動を同じ利用者としてまとめられる

出典:GA4ヘルプ「レポート用識別子」、LINE Developers「LINE URLスキームでLINEの機能を使う」

medium の値で、チャネルの行が決まる

[セッションのデフォルト チャネル グループ]の列は、参照元・メディア・キャンペーン名をGA4の決まったルールに当てはめて決まります。LINEのリンクに関係しそうなルールは次のとおりです(GA4ヘルプ「デフォルト チャネル グループ」から、手動で付けたUTMに当てはまる部分を抜粋)。

チャネル条件
直接参照元が (direct) で、メディアが (not set) か (none)
オーガニック ソーシャル参照元がソーシャル サイトのリストに一致する、またはメディアが social、social-network、social-media、sm、social network、social media のいずれか
参照メディアが referral、app、link のいずれか
メール参照元かメディアが email、e-mail、e_mail、e mail のいずれか
モバイルのプッシュ通知メディアの末尾が push、メディアに mobile か notification を含む、または参照元が firebase
オーガニック ショッピング参照元がショッピング サイトのリストに一致する、またはキャンペーン名がショッピングを表す正規表現(shopping を含むなど)に一致
Unassignedほかのどのルールにも当たらない

メディアに置き場所の名前(richmenu や step など)を入れると、参照元やキャンペーン名がほかの条件に当たらない限り、Unassigned になります。キャンペーン名に shopping を含めたり、online_shop のように記号のあとに shop を続けたりすると、オーガニック ショッピングの条件にも一致するので、チャネルの列でどこに入ったかを確かめてください。ルールの判定は大文字と小文字を区別しませんが(同じヘルプ)、レポートに出る値は区別されます。utm_source=line と utm_source=Line は別の行になります(GA4ヘルプ「URL 生成ツール」)。

UTMの付け方の共通ルール:source と medium は固定する

Googleは、utm_source、utm_medium、utm_campaign の3つをどのリンクにも付けるよう求め、参照元はプラットフォームごとに1つ、メディアはチャネルごとに1つの値に決めることを勧めています。付けなかったパラメータはレポートで (not set) と表示されます(GA4ヘルプ「URL 生成ツール」)。LINE公式アカウントのリンクには、次のように当てはめます。

UTMの4つの値の決め方

source と medium は固定し、campaign と content で置き場所とリンクを分ける(太字は例)

utm_source

line

  • LINE公式アカウントのリンクは、すべて同じ値にする

utm_medium

social

  • 置き場所に関係なく1つに決める。LINE公式アカウントのリンクは広告ではないので、GA4のチャネルの説明ではオーガニック ソーシャルが近く、social にすればその条件に当たる

utm_campaign

bc_autumn2026

  • 置き場所を表す接頭辞と施策の名前。置き場所ごとの付け方は次の章

utm_content

20261001_b2_a

  • 同じ施策の中で、どのリンクか(配信日、吹き出し、エリア、ステップ、版)

出典:GA4ヘルプ「URL 生成ツール」

  • 値は半角の小文字、数字、アンダースコアにそろえます。Googleも小文字を標準にすることを勧めています(同じヘルプ)。日本語の値はURLの中でパーセントエンコードされて長くなり(Messaging APIリファレンス)、台帳との照合もしにくくなります。
  • 短縮URLにしません。LINE公式アカウントのマニュアルは、メッセージ配信での短縮URLの使用を非推奨としています(マニュアル「メッセージ配信を作成する」)。長さの上限は、リッチメッセージのリンクが1アクションあたり1,000文字(マニュアル「リッチメッセージ」)、Messaging APIのURIアクションが1,000文字です(Messaging APIリファレンス)。UTMの値は短く保ちます。
  • リダイレクトをはさむ場合は、転送先にクエリ文字列(? 以降)が引き継がれるかを確かめます。リダイレクトでUTMが消えることがあると、GA4ヘルプも書いています(GA4ヘルプ「(direct) / (none) トラフィックについて」)。
  • 値は台帳(スプレッドシート)で管理し、同じ値を別の意味で使い回しません。送ったメッセージは相手のトークに残り、古いリンクからあとで訪問が来ることもあるためです。

LINEを1つのチャネルとして並べたい場合は、カスタム チャネル グループを作り、「参照元が line に完全一致」のチャネルをオーガニック ソーシャルより上に置きます。カスタム チャネル グループは標準のプロパティで2つまで作れて、過去のデータにもさかのぼって適用されます。トラフィックは、グループ内の並び順で最初に条件が一致したチャネルに入ります(GA4ヘルプ「カスタム チャネル グループ」)。以前に別のメディアの値で付けたリンクがあっても、参照元が line なら同じチャネルにまとめて見られます。

置き場所ごとの落ち方と、UTMの付け方

置き場所ごとに、GA4で起きやすいことと、utm_campaign・utm_content の付け方をまとめます。図の例は2つの値だけを書いています。実際のURLは https://example.com/?utm_source=line&utm_medium=social&utm_campaign=値&utm_content=値 の形になります。接頭辞(bc_、rm_ など)は当社がすすめる一例で、社内で1つに決めて台帳に書いておけば、ほかの文字でもかまいません。

置き場所ごとのUTMの付け方(utm_campaign と utm_content)

utm_source=line・utm_medium=social は、どの置き場所でも同じ

bc_

メッセージ配信

  • utm_campaign:bc_ と施策名(LINEの[キャンペーン]と同じ名前)。例:bc_autumn2026
  • utm_content:配信日_吹き出し_リンクの位置。例:20261001_b2_a

GA4で起きやすいこと:UTMの付け忘れや短縮URLで (direct) / (none) に入る。同じリッチメッセージを別の置き場所で使い回すと区別できない

rm_

リッチメニュー

  • utm_campaign:rm_ とメニューの版。例:rm_2026q4
  • utm_content:エリア。例:b_coupon

GA4で起きやすいこと:配信と同じ値にすると、メニューと配信の訪問が1つの行にまとまる

st_

ステップ配信

  • utm_campaign:st_ とシナリオ名。例:st_welcome
  • utm_content:ステップ番号_版。例:s02_v2

GA4で起きやすいこと:本文を差し替えても、前の版が届き続ける

ar_

応答メッセージ

  • utm_campaign:ar_ とキーワードかタイトル。例:ar_hours
  • utm_content:候補の番号。例:v2

GA4で起きやすいこと:管理画面の分析では、リンクのクリックが見えない

gr_

あいさつメッセージ

  • utm_campaign:gr_ と版。例:gr_v3
  • utm_content:吹き出し_リンクの位置。例:b1_link

GA4で起きやすいこと:変更する前に送った分は、古いリンクのまま残る

UTMは付けない

友だち追加URL・QRコード

  • utm_campaign:付けない(友だち追加経路で分ける)
  • utm_content:付けない

GA4で起きやすいこと:行き先がLINEアプリなので、GA4には訪問が残らない

置いた場所に従う

LIFFアプリ

  • utm_campaign:LIFF URLを置いた場所の決まりに従い、LIFF URLの後ろに付ける
  • utm_content:同じく、置いた場所の決まりに従う

GA4で起きやすいこと:最初のページビューが liff.init() の完了前に送られると、UTMがセッションの参照元に使われない

接頭辞(bc_、rm_ など)は当社がすすめる一例。社内で1つに決めて台帳に書いておけば、ほかの文字でもかまわない

置き場所ごとの表を見る
置き場所GA4で起きやすいことutm_campaignutm_content
メッセージ配信UTMの付け忘れや短縮URLで (direct) / (none) に入る。同じリッチメッセージを別の置き場所で使い回すと区別できないbc_ と施策名(LINEの[キャンペーン]と同じ名前)例:bc_autumn2026配信日_吹き出し_リンクの位置例:20261001_b2_a
リッチメニュー配信と同じ値にすると、メニューと配信の訪問が1つの行にまとまるrm_ とメニューの版例:rm_2026q4エリア例:b_coupon
ステップ配信本文を差し替えても、前の版が届き続けるst_ とシナリオ名例:st_welcomeステップ番号_版例:s02_v2
応答メッセージ管理画面の分析では、リンクのクリックが見えないar_ とキーワードかタイトル例:ar_hours候補の番号例:v2
あいさつメッセージ変更する前に送った分は、古いリンクのまま残るgr_ と版例:gr_v3吹き出し_リンクの位置例:b1_link
友だち追加URL・QRコード行き先がLINEアプリなので、GA4には訪問が残らない付けない(友だち追加経路で分ける)付けない
LIFFアプリ最初のページビューが liff.init() の完了前に送られると、UTMがセッションの参照元に使われないLIFF URLを置いた場所の決まりに従い、LIFF URLの後ろに付ける同じく、置いた場所の決まりに従う

メッセージ配信(テキスト・リッチメッセージ・カードタイプメッセージ)

テキストに書いたURLも、リッチメッセージやカードタイプメッセージのリンクも、タップされるとサイトを開きます。管理画面の[分析]では、URLを含むテキスト、リッチメッセージ、カードタイプメッセージなどのURLごとのクリックを、配信から14日間見られます(マニュアル「分析 – メッセージ配信」)。GA4側では、UTMが無いか、短縮URLやリダイレクトの途中でUTMが消えると、その訪問は (direct) / (none) に入ります。

付け方で気を付けることは次のとおりです。

  • utm_campaign は施策ごとに1つにし、LINEの管理画面の[キャンペーン]機能で付けた名前にそろえます。[キャンペーン]は複数のメッセージを1つにまとめて集計する機能で、[分析]>[メッセージ配信]の[キャンペーン]タブで結果を見られます(マニュアル「キャンペーン」)。名前がそろっていれば、LINE側のクリックとGA4の訪問を同じ名前で並べられます。配信日や吹き出しの違いは utm_content で分けます。
  • カードタイプメッセージは、保存したものを配信、あいさつメッセージ、応答メッセージで選べます(マニュアル「カードタイプメッセージ」)。リッチメッセージも、あいさつメッセージや応答メッセージに入れられます(マニュアル「あいさつメッセージを設定する」、マニュアル「応答メッセージ」)。同じものを使い回すとリンクのUTMも同じになり、GA4では置き場所を分けられません。置き場所ごとにコピーを作り、UTMを変えます。
  • リッチメッセージのエリアに設定できるアクションは、リンク、クーポン、テキストです(マニュアル「リッチメッセージ」)。サイトを開くのはリンクだけなので、クーポンやテキストのエリアはGA4には出てきません。

リッチメニュー

リッチメニューはトーク画面の下に固定で表示されるメニューで、[トークルーム管理]>[リッチメニュー]で作ります。テンプレートで分けたエリアごとにアクションを設定し、URLを選んだときは20文字までのアクションラベルも入力します。パソコン版とChrome版のLINEには表示されません(マニュアル「リッチメニューを作成する」)。

リッチメニューは表示期間のあいだずっと出ているので、配信と同じ utm_campaign を使うと、メニューからの訪問と配信からの訪問がGA4の1つの行にまとまります。utm_campaign は rm_ で始めてメニューの版(表示期間)を入れ、utm_content でエリアを分けます。3分割のメニューなら、次のようになります。

エリア行き先URL
A(左)キャンペーンのページhttps://example.com/campaign/?utm_source=line&utm_medium=social&utm_campaign=rm_2026q4&utm_content=a_campaign
B(中央)クーポンのページhttps://example.com/coupon/?utm_source=line&utm_medium=social&utm_campaign=rm_2026q4&utm_content=b_coupon
C(右)お問い合わせhttps://example.com/contact/?utm_source=line&utm_medium=social&utm_campaign=rm_2026q4&utm_content=c_contact

管理画面の[分析]でもエリアごとのクリックを見られますが、期間中にクリックした人が20人未満だと数値は表示されず、Messaging APIで設定したリッチメニューの統計は表示されません(マニュアル「分析 – リッチメニュー」)。APIでメニューを出している場合は、GA4のエリアごとの行が主な手がかりになります。

ステップ配信

ステップ配信は、友だち追加などをきっかけに、決めておいた日数や条件でメッセージを自動で送る機能です。開始条件では、どの経路で友だちになったか(追加経路)も選べます(マニュアル「ステップ配信」)。

GA4で気を付けたいのは、本文の差し替えです。配信中のステップ配信でメッセージの内容を変えても、分析画面のバージョンは更新されません。また、変更の時点ですでに条件を満たしていた人には、変更前のメッセージが送られます(同じマニュアルの「こんなときは?」)。リンクを差し替えたら utm_content の版を上げ、古い版もしばらくGA4に出てくる前提で台帳に残します。

utm_campaign は st_ とシナリオ名、utm_content はステップ番号と版にします。メッセージには内容を見分けるためのタイトル(20文字まで)を付けられるので(同じマニュアル)、utm_content と同じ文字列にしておくと、LINEの分析画面のステップとGA4の行を突き合わせやすくなります。追加経路ごとにシナリオを分けている場合は、経路の名前を utm_campaign に入れておくと、友だちになった経路ごとにサイトへの訪問を見られます。

応答メッセージ・あいさつメッセージ

応答メッセージは、受け取ったメッセージに自動で返信する機能です。キーワードと完全に一致したときに返すキーワード応答と、内容に関係なく返す一律応答があり、同じ条件の一律応答が複数あると、その中から1つがランダムに送られます(マニュアル「応答メッセージ」)。

管理画面の[分析]で自動応答について見られるのは応答メッセージを返した数で、リンクのクリックの項目はマニュアルに載っていません(マニュアル「分析 – チャット / 自動応答」)。応答メッセージのリンクからどれだけサイトに来たかは、GA4で見ることになります。utm_campaign は ar_ とキーワードかタイトル、utm_content は候補ごとに別の値にして、ランダムに送られたどの候補から来たかを分けます。リッチメッセージのテキストのアクションで利用者にキーワードを送らせ、キーワード応答でリンクを返す流れもあります(マニュアル「リッチメッセージ」)。この場合、GA4に残るのは応答メッセージのリンクに付けたUTMです。

あいさつメッセージは、友だち追加のときに送られるメッセージです。内容を変えると保存後に送る分から反映され、送信済みの分は変わりません。中に入れたクーポンやリッチメッセージを更新しても自動では反映されないので、一度外して選び直します(マニュアル「あいさつメッセージを設定する」)。utm_campaign は gr_ と版にし、差し替えのたびに版を上げます。

友だち追加URL・QRコード

友だち追加ガイドで作るURL、QRコード、ボタンは、LINEアプリで友だち追加の画面を開くためのものです(マニュアル「友だち追加ガイド」)。行き先が自社のサイトではないので、サイトに入れたGA4のタグは動かず、友だち追加そのものはGA4の訪問として残りません。このURLにUTMを付けても、GA4のレポートには出てきません。

どのQRやURLから友だちが増えたかは、LINE側で数えます。友だち追加ガイドで経路・流入元・キャンペーンを設定したURLやQRコードを置き場所ごとに配り分けると、[分析]>[友だち]>[追加経路]で見られます。ただし、期間内に20件以上の追加が無い経路は「その他」にまとめられます(同じマニュアル)。置き場所ごとの作り分けと集計の決まりは、LINE公式アカウントの友だち追加経路の付け方で詳しく扱っています。

GA4で見られるのは、自社のサイトに置いた友だち追加ボタンのクリックまでです。拡張計測機能の離脱クリックの計測が有効なら、ほかのドメインへのリンクのクリックが click イベントとして記録され、[リンク URL]や[リンクドメイン]で絞り込めます(GA4ヘルプ「拡張計測機能イベント」)。GA4のボタンのクリック数とLINEの追加数は別々に数えた値なので、1人ずつ突き合わせることはできません。友だちになった人をサイトに呼ぶリンクは、あいさつメッセージやステップ配信に置いて、そこでUTMを付けます。

LIFFアプリとLINE内ブラウザ

LIFF URL(https://liff.line.me/{LIFF ID})にアクセスすると、LIFFのサーバーから、LINE Developersコンソールに登録したエンドポイントURLへ転送されます(1次リダイレクト)。このとき、LIFF URLの後ろに付けたパスやクエリパラメータは、すべて liff.state という1つのクエリパラメータの中にまとめられます。liff.init() を実行すると、それらが元の形で付いたURL(2次リダイレクト先)に移ります(LINE Developers「LIFFアプリを開く」)。

LIFF URLに utm_source=line などを付けても、1次リダイレクト先のURLには utm_source という名前のパラメータがありません。GA4のタグがこの時点で最初のページビューを送ると、セッションの始まりにキャンペーンの情報が載らず、2次リダイレクト先でUTMが読まれても、そのセッションの参照元には結び付きません(前の章で見たGA4の決まり)。UTMをエンドポイントURLの側に書けば1次リダイレクト先にも載りますが、どこからLIFFアプリを開いても同じ値になり、置き場所を分けられません。

LIFF URLに付けたUTMがたどる道

LIFF URLhttps://liff.line.me/{LIFF ID} の後ろにUTMを付ける
1次リダイレクト先エンドポイントURL。付けたパスやクエリは liff.state の中にまとまり、アクセストークンが付く
liff.init() の完了後元の形のUTMが付いたURL(2次リダイレクト先)に移る

1次リダイレクト先で最初のページビューを送ると、UTMがセッションの参照元に使われない → page_view は liff.init() の完了後に送る

1次リダイレクト先のURLは、GA4など外部のロギングツールに送らない

出典:LINE Developers「LIFFアプリを開く」「LIFFアプリを開発する」

1次リダイレクト先のURLには、利用者のアクセストークンが自動で付きます。LINE Developersは、Google Analyticsなど外部のロギングツールにこのURLを送らないよう注意を促しています。LIFF v2.11.0以降は liff.init() が完了した時点でURLから機密情報が除かれるため、ページビューは liff.init() の完了後に送る形が示されています(LINE Developers「LIFFアプリを開発する」)。

gtag.js でGA4を入れているなら、自動のページビューを止め、liff.init() の完了後に page_view を送ります。自動のページビューを止めずに手動でも送ると二重に記録されるおそれがあり、止める設定はページごとに必要です(Google for Developers「ページビューの測定」)。Googleタグマネージャーを使っている場合も、ページビューのタグが liff.init() の完了後に動くように組みます。

gtag('config', 'G-XXXXXXXXXX', {
  send_page_view: false
});

liff.init({ liffId: 'YOUR_LIFF_ID' })
  .then(() => {
    gtag('event', 'page_view', {
      page_location: location.href
    });
  });

LIFFではないふつうのURLは、上の表のとおり、多くの場合LINE内ブラウザで開きます。UTMはURLに付いたまま届くので、LIFFのような問題は起きません。気を付けるのは、前の章で見たブラウザの切り替わりと、LINEログインを組み込んだサイトです。LINEログインの認可画面は access.line.me にあります(LINE Developers「ウェブアプリにLINEログインを組み込む」)。ここから戻った訪問でこのドメインが参照元に出ていたら、GA4の[除外する参照のリスト]に入れることを検討します。GA4ヘルプは、決済代行のように手続きの途中で経由する他社のドメインを除外する使い方を示しており、ウェブのデータ ストリームごとに50個まで設定できます(GA4ヘルプ「除外する参照を指定する」)。ただし、LINEから来た訪問として数えたいドメインは入れません。無視された参照は、参照元の無い訪問として扱われるためです(GA4ヘルプ「キャンペーンとトラフィック ソース」)。

サイトに置いた「LINEで送る」ボタン

利用者どうしがLINEでページを送り合ったときも、受け取った人の訪問には、ふつうUTMが付いていません。サイトに「LINEで送る」ボタンを置いているなら、送るURLにUTMを付けておけます。ボタンのリンクは https://social-plugins.line.me/lineit/share?url= に、送りたいページのURLを符号化して続ける形です(LINE Developers「『LINEで送る』ボタンを設置する」)。ここに utm_campaign=sh_button などを付けたURLを入れておけば、受け取った人の訪問をシェアの行として見分けられます。利用者がアドレスを自分でコピーして送った場合は、UTMを付けようがありません。

GA4で確かめる手順

UTMが効いているかを確かめる手順

送る前

テスト配信とDebugView

  • テスト配信で自分の端末に送り、開いたページのURLに utm_source などが残っているかを見る(リダイレクトなら転送後のURL)
  • DebugView で page_view を選び、page_location にUTM付きのURLが入っているかを見る
  • LIFFなら、liff.state や access_token の入ったURLが送られていないかも見る

処理が終わる1〜2日後

トラフィック獲得レポート

  • line の行を開き、utm_campaign と utm_content の値ごとに訪問が入っているかを見る
  • [セッションのデフォルト チャネル グループ]が、決めたチャネルになっているかを見る

LINEの数字と並べるとき

一致しない前提で比べる

  • LINEの分析は、リンクがタップされた回数や人数を数える
  • GA4は、訪問(セッション)を数える
  • 置き場所ごとの差の大きさを比べ、差が目立つ置き場所から原因を探す

出典:LINEヤフー for Businessのマニュアル「メッセージ配信を作成する」、GA4ヘルプ「DebugView でイベントをモニタリングする」

送る前:テスト配信とDebugViewでURLを確かめる

  1. LINEの管理画面のテスト配信で、自分の端末にメッセージを送ります。テスト配信は、メッセージ配信にもステップ配信にもあります(マニュアル「メッセージ配信を作成する」、マニュアル「ステップ配信」)。リンクを開き、表示されたページのURLに utm_source などが残っているかを見ます。途中でリダイレクトする場合は、転送されたあとのURLで確かめます。リッチメニューのように配信ではない置き場所は、自分のLINEで公式アカウントを友だち追加して、実物のリンクを開きます。メッセージ配信のマニュアルも、自分のアカウントを友だち追加して実際の内容を確かめる方法を案内しています。
  2. 同じURLをパソコンのブラウザで開き、Tag Assistantでデバッグモードにして、GA4の[管理]>[DebugView]で page_view イベントを選びます。パラメータの page_location にUTM付きのURLが入っていれば、タグは値を受け取っています(GA4ヘルプ「DebugView でイベントをモニタリングする」)。LIFFアプリなら、liff.state や access_token の入ったURLが送られていないかも、ここで見ます。

DebugViewでは参照元の割り当ての処理が限られるので、どの行に入ったかの最終的な確認は集客レポートで行います(同じヘルプ)。

送った後:トラフィック獲得レポートで行を確かめる

処理が終わる1〜2日後に、[トラフィック獲得]で line の行を開き、utm_campaign と utm_content の値ごとに訪問が入っているかを見ます。[セッションのデフォルト チャネル グループ]も並べ、決めたチャネル(medium を social にしたならオーガニック ソーシャル)に入っているかも確かめます。

LINE側の数字と並べるときは、数え方の違いに気を付けます。LINEの分析はリンクがタップされた回数や人数を数え(マニュアル「分析 – メッセージ配信」)、GA4は訪問(セッション)を数えます。Cookieなどの識別子を承認しなかった利用者の行動データはGA4では使えず、似た利用者のデータによるモデリングで補われます(GA4ヘルプ「レポート用識別子」)。また、広告ブロッカーのために参照元が分からず (direct) / (none) になる訪問もあります(GA4ヘルプ「(direct) / (none) トラフィックについて」)。2つの数字は一致しない前提で、置き場所ごとの差の大きさを比べ、差が目立つ置き場所から原因を探します。

行が足りないとき:どこに落ちたかを探す

GA4で見えること考えられる原因確かめる場所
LINEでしか知らせていないページに、(direct) / (none) の訪問が多いUTMの付け忘れ。短縮URLやリダイレクトでUTMが消えたLINEの管理画面で配信したURLを見る。テスト配信で開いたページのURLを見る
line の行はあるのに、チャネルが Unassignedmedium がチャネルのルールに当たらない値になっている[セッションの参照元 / メディア]と[セッションのデフォルト チャネル グループ]を並べる
line と Line、social と Social が別の行になっている大文字と小文字が揺れている台帳の表記と、管理画面に入れたURL
メニューからの訪問と配信からの訪問が1つの行にまとまっている置き場所が違うのに同じ utm_campaign を使っている[セッション キャンペーン]と[セッションの手動広告コンテンツ]
[ランディング ページ + クエリ文字列]に liff.state が付いているLIFFで、liff.init() の完了前にページビューを送っているデータ探索(下の説明)
[ページ ロケーション]に access_token が入っている1次リダイレクト先のURLをGA4に送っているデータ探索。見つけたら、すぐに実装を直す
[ページ ロケーション]に utm_source=line があるのに、セッションの参照元が line ではないUTMがセッションの途中で届いた(LIFFの2次リダイレクト先など)データ探索で、同じセッションの最初のページを見る
参照元に access.line.me が出るLINEログインから戻る訪問に、リファラーが付いている[除外する参照のリスト]に入れるかを検討する

データ探索の自由形式で、[ページ ロケーション][ランディング ページ + クエリ文字列][ページの参照元 URL][セッションの参照元 / メディア]をディメンションに並べると、上の表の多くを1つの画面で確かめられます。[ランディング ページ + クエリ文字列]からはUTMパラメータが省かれるので、UTMが付いていたかどうかは[ページ ロケーション]で見ます(GA4ヘルプ「URL 生成ツール」)。

access_token の入ったURLが記録されていた場合、GA4にはデータ削除リクエストの機能があります。ただし、自動で収集したパラメータを消すには、期間内のすべてのイベントからすべてのパラメータを消す種類を選ぶ必要があり、処理には7日から63日かかります(GA4ヘルプ「データ削除リクエスト」)。まずは送らない実装に直すことが先です。

BigQueryにエクスポートしているなら、イベントを1件ずつ見る

GA4のBigQuery Exportを使っていれば、イベントを1件ずつ見て、どこでUTMが落ちたかを確かめられます。エクスポートは[管理]>[サービス間のリンク設定]>[BigQuery のリンク]で設定し、リンクが完了してから24時間以内に始まります(GA4ヘルプ「BigQuery Export を設定する」)。

毎日のエクスポートでは、1日分が events_YYYYMMDD という表に入ります。流入の確かめに使う列は3種類です。collected_traffic_source はイベントと一緒に集めたUTMの値、session_traffic_source_last_click はセッションに割り当てられたラストクリックの参照元、traffic_source はその利用者を最初に獲得した参照元です。page_location と page_referrer は event_params に入っています(GA4ヘルプ「BigQuery Export スキーマ」)。次のクエリで、LINEのUTMか liff.state が付いたページビューを取り出し、セッションの参照元と並べます。

SELECT
  event_date,
  (SELECT value.string_value FROM UNNEST(event_params)
    WHERE key = 'page_location') AS page_location,
  (SELECT value.string_value FROM UNNEST(event_params)
    WHERE key = 'page_referrer') AS page_referrer,
  collected_traffic_source.manual_source,
  collected_traffic_source.manual_medium,
  collected_traffic_source.manual_campaign_name,
  collected_traffic_source.manual_content,
  session_traffic_source_last_click.manual_campaign.source
    AS session_source,
  session_traffic_source_last_click.manual_campaign.medium
    AS session_medium
FROM `your-project.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20260901' AND '20260924'
  AND event_name = 'page_view'
  AND REGEXP_CONTAINS(
    (SELECT value.string_value FROM UNNEST(event_params)
      WHERE key = 'page_location'),
    r'utm_source=line|liff\.state=')
ORDER BY event_date
LIMIT 200

manual_source が line なのに session_source が line でない行は、UTMがセッションの参照元に使われなかったページビューです。LIFFの2次リダイレクト先のように、セッションの途中でUTMが届いたときに出ます。page_location に liff.state が入っている行は、LIFFで liff.init() の完了前に送られたページビューです。BigQueryのデータを使ってLINEの配信先を作るところまで進めるなら、GA4×BigQuery×LINE連携の基本の記事で、名寄せや配信への戻し方を扱っています。

LINEからの流入を見分けられるようにする順番

UTMの付け方に加えて、コンバージョンやフォームの計測まで含めて GA4 の設定を外に頼む場合の、頼む前の点検と見積もりで聞くことは「GA4の設定代行を頼む前に、今の計測が合っているかを数える」で解説しています。

GA4がLINEからの訪問を見分けられるかは、リンクのURLにUTMが載っているか、そしてそれがセッションの最初のページで読まれるかで決まります。source と medium を固定し、置き場所ごとに utm_campaign の接頭辞と utm_content の版を決めて台帳に書く。LIFFではページビューを liff.init() の完了後に送る。友だち追加の数はLINEの追加経路で見る。この順に整えると、(direct) / (none) に埋もれていたLINEからの訪問を、置き場所ごとに数えられるようになります。

配信やリッチメニュー、LIFFアプリの作りから見直すときは、Aurant TechnologiesのLINE公式アカウントの運用・構築支援で、GA4やBigQueryを含む計測の設計はアクセス解析・マーケティングデータ支援でご相談を承っています。

LINE運用・伴走支援

LINE公式アカウントの友だち獲得の設計、セグメント配信・ステップ配信・リッチメニューの構築、自動応答、CRM/MAや基幹データとの連携までを支援します。

AT
aurant technologies 編集

上場企業からスタートアップまで、数多くのデータ分析基盤構築・AI導入プロジェクトを主導。単なる技術提供にとどまらず、MA/CRM(Salesforce, Hubspot, kintone, LINE)導入によるマーケティング最適化やバックオフィス業務の自動化など、常に「事業数値(売上・利益)」に直結する改善実績多数。

この記事が役に立ったらシェア:

LINE公式アカウントの資料

「LINE公式アカウント 運用改善ガイド」

LINE運用・伴走支援の内容を見る