「LINE友だち追加でreferrer(リファラ)は取得できるのか?」は、広告やLPの効果測定でよく聞かれる質問です。
結論から言うと、LP経由のLINE友だち追加では referrer はLINE側に届きません。これはブラウザの仕様とLINEのリダイレクト挙動による構造的な制約です。
本記事では、referrer取得が難しい技術的な理由と、referrer以外で流入元を計測する方法を実務ベースで解説します。
結論:LP→LINE遷移でreferrerは取得できない
| 取得したい情報 | LP着地時 | LINE友だち追加後のWebhook |
|---|---|---|
document.referrer(JS) | ✅ 取得可能 | ❌ Webhookには届かない |
HTTP Referer ヘッダー | ✅ 取得可能 | ❌ 別ドメイン遷移で欠落 |
| UTMパラメータ | ✅ 取得可能 | ❌ LINE遷移で消失 |
| LINE UID | ❌ LP段階では不明 | ✅ Webhookで取得可能 |
LPに着地した瞬間であれば referrer は取得できます。問題は、その情報をLINE友だち追加というイベントと突合する手段がないことです。
なぜLINE側でreferrerが取れないのか
理由1: ブラウザのReferrer Policy
モダンブラウザは、デフォルトで strict-origin-when-cross-origin のReferrer Policyを採用しています。これは異なるオリジンへの遷移時に、パス情報を含まないオリジン(ドメイン)のみを送信する挙動です。
LP (example.com/campaign-a) → LINE (lin.ee/xxxxx)
送られるReferer: https://example.com/(パス情報なし)
仮にLINEがRefererを記録していたとしても、「どのキャンペーンページから来たか」まではわかりません。
理由2: LINEのリダイレクトチェーン
lin.ee/xxxxx や line.me/R/ti/p/xxxxx は、内部でいくつかのリダイレクトを経由します。各リダイレクトごとにRefererが書き換えられるため、最終的にLINEのWebhookに届く情報には元のLPのURLは残りません。
https://example.com/lp
↓ クリック (Referer: https://example.com/)
https://lin.ee/xxxxx
↓ 302 Redirect (Referer: https://lin.ee/)
https://line.me/R/ti/p/xxxxx
↓ OSレベルでLINEアプリ起動(Refererはここで消失)
LINEアプリ内で友だち追加
↓
LINE Webhookが配信サーバーに届く(Referer情報なし)
OSレベルでブラウザからLINEアプリへ制御が移る段階で、Webの文脈は完全に切れます。
理由3: Webhookの仕様
LINE公式アカウントのWebhookは、友だち追加イベントを配信サーバーに通知しますが、Webhook自体は「誰がいつ友だち追加したか」のみを含み、Referrerや流入元URLを含みません。
{
"events": [{
"type": "follow",
"timestamp": 1712345678901,
"source": {
"type": "user",
"userId": "U4af4980..."
}
}]
}
LINEプラットフォームから見れば、Webhookは「LINE内のイベント通知」であり、元の外部Webサイトの情報は設計上含まれません。
LIFF環境ではreferrerが取れることがある
LIFF(LINE Front-end Framework)を使ってLINE内ブラウザでWebページを開く場合、ページ内のJavaScriptでdocument.referrer を参照できます。
ただし、これには以下の条件があります。
- LIFFアプリをLINEトーク内やリッチメニューから開くケースが主。広告→LP→LINEの流入では使えない
- LIFFを開く前段のページのRefererしか取れず、広告クリック前のLP情報は取得できない
- LIFFの「友だち追加」機能を使った場合は、認証画面が表示される
つまり、LIFFでreferrerが取れるのは「LINE内で完結する遷移」に限られ、広告→LP→LINE友だち追加という動線でのreferrer取得には使えません。
よくある勘違い
「JavaScriptでreferrerを取得してLINE URLに付ければ?」
LP上のJavaScriptで document.referrer を取得し、LINE友だち追加URLにクエリパラメータとして付与する、という発想は自然です。
// LP上のコード
const referrer = document.referrer;
const lineUrl = https://lin.ee/xxxxx?ref=${encodeURIComponent(referrer)};
しかし、LINEのリダイレクト処理でこのパラメータは破棄されます。LINE側には届かず、Webhookにも含まれません。詳細は LINEでUTMが消える原因と3つの解決策 で解説しています。
「HTTPサーバーログでRefererを見ればいい?」
LPのWebサーバーログには「LINEボタンがクリックされた」瞬間のRefererが残ります。しかし、そのクリックが実際に友だち追加まで至ったかは、サーバーログだけでは判定できません。
- クリックしたが友だち追加しなかった人
- クリックして友だち追加した人
この2つをサーバーログだけで区別するのは不可能です。
「LINE Login APIでRefererが取れるのでは?」
LINE LoginはWebサイト上でLINE認証を行う仕組みで、Refererとは無関係です。また、LINE Loginは友だち追加とは別の機能であり、友だち追加の流入計測には使えません。
解決策:referrerに頼らず流入元を計測する
referrer取得ができない以上、流入元を計測するには別の突合手段が必要です。実務でよく使われる方法は3つあります。
方法1: Cookie方式(LP経由で突合)
LP着地時にJavaScriptで広告パラメータ(UTM・fbclid等)をCookieに保存し、友だち追加Webhook受信時にLP側のデータベースと突合する方式です。
LP着地: utm_source=facebook をCookieに保存
↓
LINEボタンタップ(このときサーバーに「クリック」イベント送信)
↓
友だち追加 → Webhook受信
↓
突合: 直前のLINEクリックイベントのユーザー × 今のUID
referrerを直接取る代わりに、LP上のセッション情報で流入元を記録し、LINE側のUIDと後から結合します。
方法2: LIFF方式(UIDとパラメータを同時取得)
LIFFを使って友だち追加画面を表示し、LINE UIDと広告パラメータを同時取得する方式です。
- 認証画面が表示されるため離脱リスクあり
- LP上のどのボタンから来たかの情報は取れない
- 流入元の情報粒度は低め
方法3: 計測URL方式(リダイレクト中継)
広告リンクに計測ツール独自のURLを挟み、リダイレクト時にクリックパラメータを記録する方式です。LP不要で使えますが、LP上の詳細行動は取れません。
各方式の詳しい違いは LINEでUTMが消える原因と3つの解決策 で比較しています。
流入元を「記録」するためのチェックリスト
referrerの代替として流入元を計測するなら、以下の項目を押さえましょう。
- [ ] 広告プラットフォームの自動パラメータ(fbclid・gclid等)をLPで受け取れているか
- [ ] UTMパラメータを広告URLに設定しているか(キャンペーン単位の集計用)
- [ ] LPにJSスニペット or GTMタグが入っているか(Cookie方式の場合)
- [ ] LINE友だち追加ボタンのクリック時にイベント送信しているか
- [ ] Webhookを受信してUIDと突合できるサーバー側の仕組みがあるか
- [ ] CAPI送信でMeta・Google広告の最適化に使える形になっているか
これらをすべて自前で実装するのは工数がかかるため、計測ツールの利用が現実的です(ツール比較はこちら)。
よくある質問
Q. LINE公式アカウントの管理画面で流入元は見られますか?A. LINE公式アカウントの「友だち追加経路」機能では、「広告」「検索」「リッチメニュー」「友だち紹介」などのカテゴリ単位でしか確認できません。「どの広告」「どのLP」「どのキャンペーン」といった粒度は出せません。細かい流入元分析には別ツールが必要です。
Q. Googleアナリティクス(GA4)でLINE友だち追加のreferrerは取れますか?A. GA4はページビューやイベントの計測ツールです。LINE友だち追加は外部ドメイン(lin.ee)への遷移で、GA4のイベントとして発火しないため、GA4単体ではLINE友だち追加のreferrer計測は不可能です。詳細は LINEでUTMが消える原因と3つの解決策 を参照してください。
Q. Lステップやエルメで流入元はわかりますか?A. Lステップ・エルメでは、事前に発行した「流入経路URL」単位で集計できますが、広告プラットフォームが動的に付与するfbclid/gclidや、LPのどのページ・どのボタンから遷移したかは取得できません。併用方法は Lステップ・エルメ・MicoでLINE流入計測する方法 で解説しています。
Q. QRコード経由でreferrerは取れますか?A. QRコード経由の友だち追加はreferrerが一切取得できません。QRコードはWebの文脈を経由しないため、仕様上Refererが存在しないからです。詳しくは QRコードでLINE友だち追加を計測できない理由と対策 で解説しています。
Q. Referrer Policyを変えれば取れるようになりますか?A. LP側で Referrer-Policy: unsafe-url を指定すれば、遷移先にパス付きRefererを送れます。しかし、LINEのリダイレクト処理でRefererはどのみち書き換えられるため、最終的なLINEのWebhookには届きません。根本解決にはなりません。
まとめ
LINE友だち追加でreferrerを取得するのは、ブラウザのReferrer Policy・LINEのリダイレクト構造・Webhook仕様の3つの要因で構造的に困難です。
- LP着地時のreferrerは取れる → ✅
- LINE友だち追加後のWebhookにreferrerが届く → ❌
- LIFFや公式管理画面を使っても広告単位の流入元は取れない → ❌
流入元を実務で計測するなら、referrerに頼らずLP側でセッション情報を記録し、Webhookと突合する仕組みが必要です。自前実装なら広告パラメータ引き継ぎの2つの方法、ツール利用なら計測ツールおすすめ5選で具体的な実現方法を解説しています。
LINE友だち追加の計測全体の課題と解決策は LINE友だち追加の計測ができない理由と解決策まとめ で網羅的に解説しています。
referrer取得の代わりに広告パラメータを確実に計測したい方は、Linetraceを無料で試してみてください。GTMにタグを1行貼るだけで、LPからLINE友だち追加までの流入を可視化できます。
セットアップ手順はこちら →