← ProjectsFAILURE / FIX / LEARNING LOG
Development
Notes
完成画面だけでは見えない問題、調査、修正、検証を、公開Git履歴で確認できる範囲に限定して記録します。
LOCALE / ROUTING
404ページとLocaleの不整合
- Problem
- 通常ページ、404ページ、地域ヒントで言語判定の実装が分散し、保存済み言語が一貫して優先されない経路がありました。
- Investigation / Root Cause
- 各ページ固有の判定と共通Resolverが並存し、優先順位と保存キーの扱いが揃っていませんでした。
- Solution
- 明示指定 → 保存済み設定 → URL locale → ブラウザ言語 → 地域ヒント → 既定値の順へ統一し、共通キー
koshi.preferredLocale を使用。zh-TW系は繁体字として分離しました。 - Lesson
- 多言語UIは翻訳データだけでなく、優先順位、永続化、404のような例外経路まで共通化して初めて一貫します。
- Current Status / Known Limitations
- 静的ページ側は統一済み。外部サイトやブラウザのプライバシー設定により地域ヒントが得られない場合は、ブラウザ言語または既定値へ安全にフォールバックします。
CONTACT / ATTRIBUTION
問い合わせの流入元が追えない
- Problem
- 送信結果だけでは、どのサイト・ページ・キャンペーンから相談に至ったかを判断できませんでした。
- Investigation / Root Cause
- フォームは送信ページと入力内容を扱っていましたが、referrer、UTM、問い合わせ種別を通知へ一貫して渡す契約が不足していました。
- Solution
- source site、送信ページ、初回ランディング、referrer、UTM、locale、問い合わせ種別をhidden fieldで渡し、サーバー側で再検証して通知へ記録します。成功応答後だけ
generate_lead を送ります。 - Lesson
- 計測はクリックではなく成功時点に置き、メール配送と分析イベントの責務を分ける必要があります。
- Current Status / Known Limitations
- コード側は記録に対応。本番のメール到達とGA4 DebugViewは、デプロイ後に管理画面で確認が必要です。ブラウザがreferrerを送らない場合はDirect / Unavailableとして記録します。