匿名の訪問者データを既知のユーザーにリンクします。訪問者がログインするかフォームを送信すると、Zenovayが彼らの全履歴を自分たちのアイデンティティに接続します。
ユーザー識別の仕組み
匿名から既知へ
訪問者のジャーニー:
訪問 1 (匿名):
匿名訪問者がサイトを閲覧
→ 割り当てられた訪問者ID: viz_abc123
訪問 2 (匿名):
同じ訪問者が戻ってくる
→ 同じ訪問者ID: viz_abc123
訪問 3 (識別済み):
訪問者が[email protected]でログイン
→ zenovay('identify', '[email protected]')
→ すべての履歴が[email protected]にリンク
将来の訪問:
自動的に認識
→ 完全なジャーニーが保持
データの統合
識別されると:
- 過去の匿名訪問がリンク
- 将来の訪問が追跡
- 完全なジャーニーが表示
- クロスデバイスが可能
識別の実装
基本的な識別
ユーザーが既知のとき、identifyを呼び出します:
// ユーザーがログインするとき
zenovay('identify', userId);
// 例
zenovay('identify', 'user_12345');
// または
zenovay('identify', '[email protected]');
ユーザープロパティ付き
ユーザーの詳細を3番目の引数として追加します:
zenovay('identify', 'user_12345', {
email: '[email protected]',
name: 'John Smith',
company: 'Acme Corporation',
plan: 'enterprise',
role: 'admin'
});
情報
訪問者を識別するには、メールアドレスまたは顧客IDのいずれかが必要です。最初の引数はメールアドレスまたは自分のユーザーIDです。
サポートされるプロパティ
| プロパティ | タイプ | 説明 |
|---|---|---|
| string | メールアドレス | |
| name | string | フルネーム |
| first_name | string | 名 |
| last_name | string | 姓 |
| company | string | 会社名 |
| phone | string | 電話番号 |
| custom_* | any | カスタムプロパティ |
渡す追加キーはすべて、ユーザープロファイルのカスタム属性として保存されます。
実装例
ログイン時
// ログイン成功後
async function handleLogin(credentials) {
const user = await loginUser(credentials);
// Zenovayで識別
zenovay('identify', user.id, {
email: user.email,
name: user.name,
company: user.company_name
});
// アプリを継続
redirectToDashboard();
}
React Hook
import { useEffect } from 'react';
import { useAuth } from './auth';
function useZenovayIdentify() {
const { user, isAuthenticated } = useAuth();
useEffect(() => {
if (isAuthenticated && user) {
if (window.zenovay) {
window.zenovay('identify', user.id, {
email: user.email,
name: user.name,
company: user.company
});
}
}
}, [user, isAuthenticated]);
}
フォーム送信
// フォーム送信時(ログイン前)
async function handleFormSubmit(formData) {
// フォームのメールで識別
zenovay('identify', formData.email, {
email: formData.email,
name: formData.name,
company: formData.company
});
// フォーム送信を追跡
zenovay('goal', 'form_submission');
// バックエンドに送信
await submitForm(formData);
}
識別済みユーザーの表示
ユーザービュー
- ウェブサイトのダッシュボード (
/domains/{id}) を開く - サイドバーの Audience グループで、 Journeys タブを開く
- Users サブタブを選択して、識別済みユーザーとそのタイムラインを表示
- ユーザーをクリックして、プロフィールと完全なアクティビティタイムラインを開く
ユーザーリスト
各行は訪問者の名前またはメールアドレス、どこから来たか、閲覧したページ数、属性された収益、最後に活動したときを表示します。リストをソートして、最も活動的またはスペンディングが多いユーザーを強調します:
| 訪問者 | ソース | ページビュー | 収益 | 最後のアクティビティ |
|---|---|---|---|---|
| [email protected] | 24 | $4,999 | 今日 | |
| [email protected] | ダイレクト | 18 | — | 昨日 |
| [email protected] | 12 | $99 | 3日前 |
まだ自分自身を識別していない訪問者は、identify 呼び出し (またはイベントからの既知メール) が実際のアイデンティティをリンクするまで 匿名 として表示されます。任意の行をクリックして、訪問者の完全なプロフィールとアクティビティタイムラインを開きます。
ユーザープロフィール
┌─────────────────────────────────────────────────────┐
│ John Smith │
│ [email protected] │
│ ─────────────────────────────────────────────────── │
│ │
│ 会社: Acme Corporation │
│ プラン: Enterprise │
│ 役割: Admin │
│ 作成: 2024年11月15日 │
│ │
│ ─────────────────────────────────────────────────── │
│ │
│ アナリティクスサマリー: │
│ • 総セッション: 24 │
│ • 総時間: 3h 45m │
│ • ページビュー: 89 │
│ • 完了目標: 5 │
│ • 収益: $4,999 │
│ │
│ 初回訪問: 2024年10月20日 (匿名) │
│ 識別: 2024年11月15日 │
│ 最後の訪問: 今日14:30 │
│ │
└─────────────────────────────────────────────────────┘
ユーザージャーニー
完全なタイムライン
ユーザーの完全な履歴を表示:
John Smith - ジャーニータイムライン
2025年1月15日
├── 14:30 - 設定ページ (5分)
├── 14:00 - ダッシュボード (10分)
└── ログイン状態
2025年1月10日
├── 15:45 - 請求ページ (3分)
├── 15:40 - アップグレードモーダル → アップグレード完了 ✓
└── ログイン状態
2024年12月15日
├── 10:00 - オンボーディングフロー
└── アカウント作成、識別完了
2024年11月28日 (匿名)
├── デモリクエスト送信 → 識別済み
├── /pricing (8分)
└── /features (5分)
2024年10月20日 (匿名)
├── /blog/guide (4分)
└── Google検索からの初回訪問
クロスデバイストラッキング
ユーザーが複数のデバイスでログインすると、セッションは同じアイデンティティにリンクされます:
使用デバイス:
デスクトップ (Chrome/Windows)
├── 18セッション
└── 最後: 今日
モバイル (Safari/iOS)
├── 4セッション
└── 最後: 1月10日
タブレット (Chrome/iPad)
├── 2セッション
└── 最後: 12月20日
すべてのセッションが[email protected]にリンク
同じ訪問者がトラッキングしているドメインの複数に識別されている場合、タイムラインは彼らが見られた他のドメインも表示します。
プライバシーに関する考慮事項
ユーザーの同意
識別する前に:
- 適切な同意を確保
- プライバシーポリシーに従う
- オプトアウトを尊重
データ処理
ユーザーデータは:
- 転送中は暗号化
- チームメンバーシップと役割によるアクセス制御
- プランのデータ保持ウィンドウに従って保持
ユーザーデータの削除
個人の個人データを削除するには、標準的なデータ主体の権利リクエストを使用します: アカウントホルダーの場合は 設定 → アカウント を経由して削除をリクエストさせるか、アカウントホルダーではない訪問者の場合は[email protected]でサポートに連絡してください。ウェブサイトのトラッキング関連付けを削除することも、将来の収集を停止します。
オプトアウトの尊重
// 識別する前にオプトアウトを確認
if (!userHasOptedOut()) {
zenovay('identify', userId, userData);
}
APIアクセス
識別済みユーザーデータは、有料プランでZenovay REST APIを通じて利用できます。ユーザーのプロフィール、統計、およびタイムラインを独自のシステムに取得するか、バックエンドから識別を送信するために使用します。
認証、エンドポイント、レスポンス形式については、APIの概要 を参照してください。上記に示されたidentify呼び出し (zenovay('identify', ...)) はユーザーを作成または更新するためのクライアント側の方法です; REST APIはそのデータを再度読み取るためのサーバー側の同等物です。
ベストプラクティス
早期に識別
可能な限り早く識別:
- サインアップ/ログイン時
- フォーム送信時
- メールが既知のとき
一貫したIDを使用
ID戦略を選択:
- メール (ユニークな場合)
- データベースのユーザーID
- UUID
プロパティの更新
プロパティを最新に保つ:
// ユーザーがプランをアップグレードするとき
zenovay('identify', userId, {
plan: 'enterprise',
upgraded_at: new Date()
});
過度に識別しない
identifyの呼び出しを避ける:
- ページロードのたび
- 匿名訪問者向け
- ユーザーの同意なし
トラブルシューティング
ユーザーが識別されない
識別が失敗する場合:
- コンソールエラーを確認
- トラッキングスクリプトがロードされたことを確認
- identifyがスクリプト後に呼ばれたことを確認
履歴がリンクされない
過去の訪問が表示されない場合:
- クッキーが削除されている可能性
- 異なるブラウザ/デバイス
- シークレットモードを使用