referer=true:保存済みの
refererId を読み出し、遷移先URLに付与(保存処理なし)保存と再利用の役割が分かれているため、初回保管時は「saveReferer」、後続ページへの引き継ぎは「referer」を使い分けます。
用語の整理
refererId:トラッキング用に整形・保管されるクエリ文字列(例:ad=summer&cid=789)。- 保存先:LIFF 用 LineConfig API(
PATCH /line/line-config/:id/referer-id)。
LINE Config User に紐づけて保管します。 - サーバー更新:
line_config_users.refererIdを更新し、同時にreferer_logに履歴を残します(既存値と同一なら更新スキップ)。
動作フロー
A. saveReferer(保存)
通常レイアウトの LIFF で
saveReferer=true が指定された場合の処理フロー- ユーザーが
saveReferer=true付きの LIFF URL を開く。 - 現在のクエリから
saveReferer・lineConfigId・popupReportIdを除外して整形。 - 整形結果を
refererIdとしてPATCH /line/line-config/:id/referer-idに保存(LINE Config User に紐づく)。 - サーバー側で
line_config_users.refererIdを更新、referer_logに履歴を記録(同一値はスキップ)。 - 以後、後続処理や集計で参照可能に。
B. referer(再利用・連携)
これは保存処理を行いません。保存済みの
refererId を「転送用ページ」で読み出して、遷移先URLに付け直す役割です。- ユーザーが
referer=true指定の LIFF「transfer」ページにアクセス。 lineConfigIdが分かっている場合、/line/line-config/:id/line-config-userからrefererIdを取得。refererIdを&で分解・バリデーションしてqueries配列へ格納。- リダイレクト先URLのクエリに付与して遷移(既存クエリがある場合はマージ)。
- 新しい値の保存は行わない(あくまで再利用)。
サンプル
1) 初回保管(saveReferer)
https://example.com/liff?saveReferer=true&lineConfigId=123&popupReportId=abc&ad=summer&cid=789保存される refererId:ad=summer&cid=789※
saveReferer・lineConfigId・popupReportId は保存対象から除外2) 再利用(referer)
https://example.com/transfer?referer=true&lineConfigId=123&to=https%3A%2F%2Fshop.example.com%2Fcampaignリダイレクト先(例)https://shop.example.com/campaign?ad=summer&cid=789よくある質問
Q1. referer=true だけで新しい値を保存できますか?
いいえ。referer=true は保存済みの値を付け直すだけです。初回の保管は saveReferer=true を利用してください。
Q2. lineConfigId が無い場合は?
保存/参照対象の LINE Config User が特定できないため、refererId の取得・付与が行えません。
Q3. 同じ refererId が既にある場合は?
既存値と同一の場合、保存更新はスキップされます(履歴の重複記録も避けます)。
Q4. どこに保存されますか?
LIFF 用 LineConfig API(PATCH /line/line-config/:id/referer-id)により、LINE Config User に紐づけて保存し、referer_log に履歴を残します。
Q5. 外部サイトにも引き継げますか?
はい。transfer ページが refererId を遷移先URLのクエリに付与するため、別ページや外部サイトに連携できます。
導入・運用のヒント
POINT
- 保存対象のクエリは最小限に(機微情報は含めない)。
- 値は URL エンコード・バリデーションを徹底。
- ログ(
referer_log)を活用し、流入経路の集計・ABテストに活かす。
テスト手順(チェックリスト)
saveReferer=true付き URL にアクセスし、line_config_users.refererIdが更新されたか確認。- 同一値で再アクセスし、更新スキップ(履歴重複なし)を確認。
referer=trueの transfer ページから、遷移先URLにrefererIdが正しく付与されるか確認。- 既存クエリとのマージ、URL エンコードの崩れが無いか確認。
- 集計基盤で
referer_logが期待通りに計上されるか確認。
導入の流れ
- 保存対象のクエリ整理
- LIFF URL 設計(通常/transfer)
- API 接続設定(PATCH/GET)
- 検証・本番反映
主なユースケース
- 広告流入のキャンペーン引き継ぎ
- クーポン配布ページ → 購入導線
- 会員登録 → マイページ遷移








コメント