# スクリーニングLP：途中離脱を追う計測を実装

現LPは閲覧数とSpirへのクリックまで確認できました。動画のどこで止まったかを追う計測を、既存リポジトリの別ブランチに追加しました。**ローカルで検証済み。本番公開とGA4への到着確認は未実施です。**

## 現時点で分かる数字

GA4「example.invalid」（プロパティ非公開）、2026/8/14〜9/10の28日間、`/screening-lp/`を対象に取得。9/11 01時台の読み取りで、直近日の集計は今後変わる可能性があります。

| 項目 | 取得値 | 読み方 |
| --- | --- | --- |
| LP表示 | 229回 / 176ユーザー | 同じ人の再訪・再読を含む |
| Spirへのクリック | 31回 / 28ユーザー | リンク先ドメインはすべてapp.spirinc.com |
| クリック回数 ÷ 表示回数 | 13.5% | 31 ÷ 229。予約完了率ではない |
| 動画の途中離脱 | 不明 | 対象期間・ページの取得イベントに視聴進捗なし |
| 面談予約完了 | 不明 | Spir側の予約記録との照合が必要 |

この数字には媒体別の費用・面談予約完了が含まれません。広告の良し悪しや増額可否は、ここからは決められません。

## 先に追う導線も確認

同じ期間の流入元では、GA4の`youtube / social`分類が**177表示・25クリック**でした。全体の表示の77.3%、クリックの80.6%に当たります。`youtube.com / referral`は別に1表示あり、上記には合算していません。これはGA4のセッション流入元による分類で、YouTube広告の実績や費用を示す値ではありません。

| 端末 | LP表示 | Spirへのクリック |
| --- | --- | --- |
| パソコン | 153 | 23 |
| スマートフォン | 70 | 7 |
| タブレット | 6 | 1 |

ホスト名は全件`example.invalid`でした。端末別の内訳も229表示・31クリックに一致しています。これだけでスマートフォンの不具合や媒体の優劣は断定できません。今回追加した進捗の記録により、特にYouTube経由で、どの段階まで見られたかを次に確認できるようにします。

## 追加した計測

動画の「再生開始 → 25% → 50% → 75% → 予約ボタン表示 → 予約クリック」と、種類を絞った再生エラーを記録するコードです。既存のGoogleタグを使い、1ページ内の再開や連打で同じ段階を重複計上しません。

視聴進捗には実際に見た時間を使います。途中へのジャンプやバックグラウンドの時間は加算しません。現行の視聴条件と、媒体別Spirリンク・UTMの引き継ぎは維持しています。

計測対象は会社サイトの該当LPだけです。ローカルやWorker単独のプレビューからは送信しません。URLのクエリや生のエラー文をイベントへ入れず、タグが使えなくても動画と予約導線が動くようにしています。

## 確認できたこと

- 追加6件を含む18件のテストが成功。視聴条件、計測の重複防止、予約URL、タグ不在・例外時などを確認。
- ビルド成功。差分の形式チェックとコミット時の秘密情報チェックが成功。
- Chromeで実際の720p動画を約193秒、最後までローカル再生。112.39秒時点では予約ボタンが非表示、最後には表示。YouTube用のSpirリンクとUTM値を読み戻し。
- 既存の作業ブランチには触れず、独立した作業用ブランチに保存。

## 朝の判断点

**この差分を本番へ反映するか。** 対象はCloudflareの`screening-lp`と、WordPressの対象ページにあるプレイヤー参照です。反映時は最新のページ内容・版を保存し、他の変更を保ったうえで適用します。その後、既存の`measurement_test=1`を使ってGA4 DebugViewの到着、公開ページの再生と予約導線を確認します。

GA4のキーイベント指定・広告予算変更・Spirの予約データ連携は今回の差分に含めていません。進捗の値を通常レポートで使うカスタム定義も未作成です。

## 保存場所と根拠

- [変更差分](../measurement.patch)
- ローカルブランチ：`codex/screening-measurement-20260911`、コミット：`e5a9476`、元の版：`e4ecb26`
- 実装ディレクトリ（原資料は社内で確認）
- GA4取得データ（原資料は社内で確認）
- 現在のLP（原資料は社内で確認）
- GA4プロパティ（原資料は社内で確認）

計測に用いる既存タグIDと既存のテスト用フラグは、現在のLP内のスクリプトから確認しました。本番は更新していません。
