10sec Tips
10秒tips
流入計測・表示出し分けを安定させる!LIFF URL「パラメータ取得」の鉄則

「どの広告・店舗・キャンペーンから流入したか分析したいのに、パラメータが取得できない……」そんな悩みはありませんか?
LIFFアプリでは画面が開くまでに認証やリダイレクトといった初期化処理が入るため、通常のWebページと同じ感覚でパラメータを処理すると計測不全や表示崩れの原因になります。流入計測や情報の出し分けを安定させるための「正しい処理手順」と実務の注意点をサクッと解説します。
📊 3つのパラメータ種別と活用シーン
用途に合わせて適切なパラメータの持たせ方を選ぶことが、実務の第一歩です。
| パラメータ種別 | 主な用途・特徴 | 実務上の注意点 |
| クエリパラメータ ( ?utm_source=...) | 流入チャネル計測、店舗IDやキャンペーン情報の受け渡し | 最も一般的だが、liff. で始まるシステム用パラメータの操作はNG |
| パス ( /stores/123) | 特定の店舗ページや商品詳細の直接表示(ルーティング) | WebサーバーやSPA側で適切なルーター設定が必要 |
| URLフラグメント ( #coupon) | ページ内スクロール位置の指定やアンカー表示 | サーバー側には送信されず、クライアント側処理に限定される |
💡 成果を出すための「3つの鉄則」
- ① パラメータの取得・操作は「
liff.init()完了後」に行う!- LIFF URLのパラメータは初期化処理の過程で一時的に
liff.state等へ退避され、初期化後に復元されます。初期化完了前にURLを参照しても期待した値が取得できないため、必ずliff.init()のPromise解決後に値を取得・処理しましょう。
- LIFF URLのパラメータは初期化処理の過程で一時的に
- ②
liff.で始まる管理用パラメータには触らない!- LINEが内部制御に使う
liff.stateなどのクエリパラメータをアプリ側で削除・書き換えすると、認証ループや起動エラーの原因になります。
- LINEが内部制御に使う
- ③ 機密情報の埋め込みや初期化前のロギングは避ける!
- 起動途中のリダイレクトURLにアクセス情報等が含まれる場合があるため、初期化前のURLをそのまま計測ツールやログに送信しない安全設計が必要です。
🏁 今回の結論
LIFFにおけるパラメータ取得は「liff.init() の完了を待ってから動かす」のが絶対ルールです!正しい順序で実装することで、データ計測の漏れを防ぎ、シームレスな顧客体験を実現できます。