離脱インテント・ウィジェット
Pro Feature訪問者がページから離脱する直前に呼び止めましょう。離脱インテント・ウィジェットは、訪問者がページを離れようとする瞬間に発火する、お客様が定義するポップアップです。表示・クリック・閉じる操作のすべてが内蔵アナリティクスで計測されます。
離脱インテント・ウィジェットは Pro、Scale、Enterprise の各プランでご利用いただけます。この機能を有効にするには、プランをアップグレード してください。
概要
ウィジェットは、Zenovay のトラッキングスクリプトが離脱インテント・シグナルを検知した際にレンダリングする、小さく設定可能なオーバーレイです。コンテンツの設計とターゲティングの定義はお客様が行い、配信、頻度キャップ、アナリティクスは Zenovay が処理します。
ウィジェットが発火するタイミング
トラッカーはデバイスごとに 2 種類の離脱シグナルを使い分けます。
| デバイス | シグナル |
|---|---|
| デスクトップ | カーソルがビューポート上端を越えたときの mouseleave イベント |
| モバイル / タブレット | 高速の上方向スクロール(back-to-top ジェスチャ)または バックグラウンドタブから visibilitychange でページが戻ってきた瞬間 |
両シグナルともデバウンスされており、ウィジェットごとの頻度キャップを尊重します。同一訪問者が 1 セッション中に同じウィジェットを 2 回見ることはありません。
トラッカーが表示するウィジェットはクライアントサイドで実行されます。Cookieless モードではトラッカーがページ間で訪問者 ID を保持しないため、タブをまたいだ重複排除はベストエフォートのみです。1 人の訪問者が同じページを 2 つのタブで開くと、それぞれのタブでウィジェットが表示される可能性があります。
セットアップ
ウィジェットは Zenovay のダッシュボードから完全に管理できます。トラッキングスクリプトのインストール以外にコード変更は不要です。
- ダッシュボードを開き、ウィジェットを追加したいウェブサイトを選択します。
- Widgets タブを開きます。
- New widget をクリックします。
- 4 ステップのビルダーを進めます。
4 ステップのビルダー
ステップ 1 — コンテンツ
ウィジェットに表示する内容を定義します。
- タイトル — 見出し(最大 120 文字)
- 本文 — 補足テキスト(最大 500 文字、プレーンテキスト)
- プライマリ CTA — ボタンラベルと遷移先 URL(リダイレクトではなく目標達成として記録したい場合は
goal_event名)
ステップ 2 — ターゲティング
誰に表示するかを決めます。
- ページパターン — ウィジェットを実行する URL(ターゲティングのセマンティクス を参照)
- 国 — ISO 3166-1 alpha-2 の国コードリスト(例
US,DE,FR)。空欄なら全ての国 - デバイス —
desktop、mobile、tabletのうち 1 つ以上 - 頻度キャップ — N 日あたりに同じ訪問者へ表示する最大回数(例 7 日に 1 回)
- 最低訪問回数 — その訪問者がこのサイトに N 回目に訪れたとき以降に発火(非 cookieless モードが必要)
ステップ 3 — デザイン
ウィジェットを自社ブランドに合わせて整えます。
- 位置、幅、角丸の半径(デザイン Enum を参照)
- 背景、テキスト、ボタン の各色(hex)
- 配置を選択可能な 画像(上、左、右、または背面いっぱい)
- セカンダリ ボタン(任意)— 受動的な
dismissアクション、またはセカンダリlink
ステップ 4 — スケジュール
- ステータス —
draft、active、paused - 開始日 / 終了日(任意)— 期間限定キャンペーン用
保存 を押すとウィジェットは 1 分以内に公開されます(次のページロード時にトラッカーがアクティブなウィジェット一覧を取得し直します)。
ターゲティングのセマンティクス
ページパターン
デフォルトでは、ページパターン欄は訪問者の pathname に対する 部分一致(substring) マッチングです。
| パターン | 一致する例 |
|---|---|
/blog | /blog、/blog/post-1、/de/blog/x、/team-blog/about |
/checkout | /checkout、/checkout/payment、/api/checkout/v2 |
* | すべてのページ |
より厳密な一致が必要な場合は、明示的な glob を使用します。
| パターン | 一致する例 |
|---|---|
/blog/* | /blog/post-1、/blog/category/x(/de/blog/... は対象外) |
/checkout/*/payment | /checkout/abc/payment、/checkout/xyz/payment |
/products/[id] | /products/123、/products/abc-def |
ほとんどのお客様は「/blog」を入力するとロケール接頭辞の有無に関わらずすべてのブログページにマッチすることを期待するため、デフォルトを部分一致にしています。パスの先頭または末尾を固定したい場合のみ glob (*) を使用してください。
国
カンマ区切りの ISO 3166-1 alpha-2 コードを指定します。
US,CA,GB,DE,FR
国の判定は、ページロード時の訪問者の IP ジオロケーションを使用します。GPC を有効化している EU 訪問者はエンリッチメント対象外のため、これらの訪問者では国ターゲティングが「全ての国」にフォールバックします。
デバイス
3 つのバケットから 1 つ以上を選択します。
desktop
mobile
tablet
トラッカーは User-Agent とビューポート幅でデバイスを分類します。これはダッシュボードの他の機能と同じ判定です。
頻度キャップ
max_shows_per_n_days として定義されます。トラッカーはウィジェット単位の表示タイムスタンプを訪問者レコードに保存します(サーバ側のみ。Cookie や localStorage には絶対に保存しません)。同じウィジェット × 訪問者の最後の shown イベントから frequency_cap_n_days が経過していない間は、ウィジェットは抑制されます。
最低訪問回数
min_visit_count > 1 を指定すると、トラッカーはこの訪問者が当該サイトを何回ロードしたかを記憶している必要があります。Zenovay のトラッカーは同意取得前は デフォルトで cookieless で動作するため、cookieless モードの訪問者については、このターゲティングルールは静かに「初回訪問で発火」にフォールバックします。
このルールに依存する場合は、トラッカーが data-cookieless="false"(つまり同意取得後)でロードされていることを確認してください。そうでない場合、EU トラフィックの大多数に対してこのルールは無効化されます。
デザイン Enum
デザイン項目は セキュリティ目的でロックされた enum です。API は以下の値のみを受け入れます。これにより、Zenovay が配信するすべてのウィジェットを CSS インジェクションから守ります。
位置
center
top-banner
bottom-banner
top-right
top-left
bottom-right
bottom-left
top-banner と bottom-banner は画面幅いっぱいの帯です。4 つのコーナー位置は固定された小さなカードです。
幅
sm (最大 320px)
md (最大 480px)
lg (最大 640px)
xl (最大 800px)
幅はレスポンシブで、より小さなビューポートでは縮小し、訪問者の画面サイズを超えることはありません。
角丸の半径
none
sm
md
lg
full
full はウィジェットを完全な丸(ピル形)に成形します(バナー位置との組み合わせのみ意味があります)。
画像位置
top
left
right
background
background は画像をテキスト背面のフルブリード背景として配置し、コントラストのオーバーレイをかけます。
セカンダリアクション
dismiss
link
dismiss はクリックを記録せずにウィジェットを閉じます。link は secondary_clicked イベントを記録し、設定した URL に遷移します。
アナリティクス
各ウィジェットは 4 種類のイベントを記録します。
| イベント | 発火タイミング |
|---|---|
shown | ウィジェットがビューポート内に表示された |
clicked | 訪問者がプライマリ CTA をクリック |
secondary_clicked | 訪問者がセカンダリボタンをクリック(link 設定時のみ) |
dismissed | 訪問者がクリックせずにウィジェットを閉じた |
詳細ビュー
Widgets タブから任意のウィジェットを開くと、以下を確認できます。
- CTR —
clicked / shown、サイト平均との比較付き - 日次チャート — 表示 / クリック / 閉じる の日別バーとスパークライン
- コンバージョン・ファネル —
shown → clicked → goal completed(CTA がトラッキング済みの目標を指している場合) - トップページ — ウィジェットが最も多く発火した URL とページ別 CTR
- デバイス内訳 — 表示数 vs クリック数のデスクトップ / モバイル / タブレット分布
すべての指標はダッシュボードの他の部分と同じ日付範囲・セグメントフィルタに従います。
プライバシー
ウィジェットのアナリティクス・イベントは、Zenovay の他の部分と同じ cookieless イベント・パイプラインを使用します。
- 訪問者 ID は、(IP サブネット + User-Agent + 日次のソルト) に対する サーバ側で計算した日次ソルト付き SHA-256 ハッシュ です。訪問者のブラウザに Cookie や
localStorageを一切書き込みません。 - タブをまたいだ重複排除(同じ訪問者が 2 つのタブで 2 回ウィジェットを見ないようにする処理)は、cookieless モードでは ベストエフォートのみ です。永続的なストレージがないため、2 つのタブと、同じ IP/UA フィンガープリントを持つ 2 人の訪問者を区別することはできません。
- Global Privacy Control(
Sec-GPC: 1)が有効な訪問者はエンリッチメント対象外で、国・B2B フィールドはサーバ側で破棄されますが、ページパターン・デバイス・頻度キャップが満たされていればウィジェットは発火します。 - ウィジェットの内容、DOM スナップショット、訪問者の入力は一切収集しません。記録するのは上記 4 種類のイベントのみです。
より厳密なターゲティング(例: ログイン中ユーザーにのみ表示)が必要な場合は、タブをまたいだ永続化に頼るのではなく、自社アプリケーション側のコードからカスタムイベントを送出してウィジェットを条件付き発火させてください。
プラン上限
| プラン | サイトあたりウィジェット数 |
|---|---|
| Free | 0(ロック中) |
| Pro | 3 |
| Scale | 10 |
| Enterprise | 無制限 |
上限は作成時に API 側で適用され、超過しようとするとダッシュボードでエラーとして表示されます。上限を引き上げるには プランをアップグレード してください。
API アクセス
ウィジェットをプログラム的に管理できます。
# サイトのウィジェット一覧
GET /api/popup-widgets/:websiteId
Authorization: Bearer YOUR_API_KEY
# 単一ウィジェットの取得
GET /api/popup-widgets/:websiteId/:widgetId
# ウィジェットのアナリティクス取得
GET /api/popup-widgets/:websiteId/:widgetId/stats
# 作成
POST /api/popup-widgets/:websiteId
# 更新
PATCH /api/popup-widgets/:websiteId/:widgetId
# 削除
DELETE /api/popup-widgets/:websiteId/:widgetId
トラッカー向けの公開エンドポイント(GET /api/popup-widgets/active/:trackingCode)はトラッキングスクリプトから自動的に呼び出されるため、認証は不要です。
ベストプラクティス
- 不安ではなく価値で訴求する。「初回ご注文 20% オフ」は「お待ちください!行かないで!」より圧倒的に成果が出ます。
- 少なくとも 1 訪問者あたり週 1 回までにキャップする。 訪問のたびに表示されるウィジェットは広告ブロッカーの標的になります。
- モバイルは個別にテストする。 モバイルのシグナル(上方向スクロール + ビジビリティ復帰)はデスクトップの
mouseleaveとは異なる挙動です。デスクトップでコンバートするウィジェットがモバイルでは見えない、ということもあります。 - CTA を目標と紐付ける。 プライマリ CTA をトラッキング済み URL や
goal_eventに向けると、クリックだけでなくshown → clicked → convertedの完全なファネルが見えるようになります。 - イテレーション前に一時停止する。 A/B テスト中のウィジェットは削除せず、一時停止にしてください。過去のアナリティクスがそのまま紐付けされたまま残ります。
次のステップ
- Conversion Funnels - ウィジェットからつながる多段階のコンバージョン経路を計測
- Goals - ウィジェット CTA が達成すべきイベントを定義
- コンバージョン障害 - ウィジェット由来のコンバージョンが低下した際にアラートを受け取る