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. で始まる管理用パラメータには触らない!
    • LINEが内部制御に使う liff.state などのクエリパラメータをアプリ側で削除・書き換えすると、認証ループや起動エラーの原因になります。
  • ③ 機密情報の埋め込みや初期化前のロギングは避ける!
    • 起動途中のリダイレクトURLにアクセス情報等が含まれる場合があるため、初期化前のURLをそのまま計測ツールやログに送信しない安全設計が必要です。

🏁 今回の結論

LIFFにおけるパラメータ取得は「liff.init() の完了を待ってから動かす」のが絶対ルールです!正しい順序で実装することで、データ計測の漏れを防ぎ、シームレスな顧客体験を実現できます。