メインコンテンツへスキップ
無料4 minutes初級

ログイン中の訪問者を識別する(Anonymous / Identified / Paying バッジ)

Zenovayは訪問者ごとに3つのバッジ — Anonymous、Identified、Paying — を 表示します。各バッジの意味、訪問者がどのように状態を移行するか、そして ダッシュボード共有時にこれらをマスクする方法を解説します。

identifyidentified-userspaying-customersbadgesblur
最終更新日:

Zenovayは訪問者ごとに3つのバッジ — AnonymousIdentifiedPaying — のいずれかを表示します。バッジは3Dグローブ(訪問者のホバーポップアップ内)とJourneys → Usersタブ内に表示されます。この記事では、各状態の意味、訪問者がどのように状態を移行するか、そしてダッシュボードを外部と共有する際にデータをマスクする方法を解説します。

3つのバッジ

バッジ意味訪問者がこの状態になるタイミング
Anonymous(グレー)訪問者はログインせずに閲覧しています。Zenovayはデバイス、国、行動を把握していますが、誰なのかは分かりません。識別されていないすべてのページビューのデフォルト。Cookielessモードではクッキーは設定されません。
Identified(青)訪問者はあなたのプロダクトにサインインしています。Zenovayはメール、名前、送信されたカスタムトレイトを把握しています。サイトがzenovay('identify', userId, { email, name })を呼び出した後 — 通常ログインまたはサインアップ直後。
Paying(緑)訪問者のレコードが有料サブスクリプションに紐付いている、または生涯収益がゼロより大きい。自動的に、ZenovayがStripe、LemonSqueezy、Polar、PayPalから決済webhookを受信したとき — 追加のトラッカー呼び出しは不要。

訪問者を「Identified」にする方法

識別はオプトインです:ユーザーがログインしたときに、サイトからzenovay('identify', ...)を呼び出す必要があります。最もシンプルな呼び出し:

// ログイン、サインアップ後、または既知のユーザーを把握できたタイミングで
zenovay('identify', user.id, {
  email: user.email,
  name: user.name
});

これだけです。次のページビューがそのアイデンティティに関連付けられ、バッジがAnonymousからIdentifiedに切り替わります。よくある落とし穴: identify()は安定したID(データベースの主キー)でのみ呼び出してください — メールやユーザー名はユーザーが変更できるため、userIdとして渡さないでください。

Next.js、React、Vue、プレーンHTML、Shopify、WordPressのステップバイステップ設定とコードサンプルについては、Visitor Identificationドキュメントをご覧ください。

Claude Code、Cursor、ChatGPT、GitHub Copilotを使用していますか? AIアシスタントにVisitor Identificationドキュメントを指示し、お使いのスタックにzenovay('identify')を組み込んでもらってください。ドキュメントには主要フレームワーク向けのコピー&ペースト可能なスニペットがあります。

訪問者が「Paying」になる仕組み

訪問者をトラッカー呼び出しでPayingにすることはできません。Zenovayは接続した決済プロバイダ(Stripe、LemonSqueezy、Polar、PayPal)からwebhookイベントを受信し、顧客レコードを自動的に紐付けます。決済が到着するとすぐに、訪問者のバッジがPayingに切り替わります。生涯収益と注文数が訪問者詳細パネルに表示されます。

訪問者が後でサブスクリプションをキャンセルしても、total_revenueがゼロより大きい限りPayingバッジを保持します — 過去の顧客価値はチームにとって依然として重要です。

メールがなくcustomer IDだけの場合は?

一部の統合(例:内部user IDはあるがまだメールがないモバイルアプリ)では次のように呼び出せます:

zenovay('identify', user.id, {
  customer_id: 'cus_internal_123'
});

その訪問者はIdentifiedとしてカウントされます — バッジが表示され、訪問者詳細カードのメール欄にID onlyと表示されます。決済webhookがそのcustomer IDをStripe / LemonSqueezy / Polar / PayPalアカウントに紐付けた瞬間にPayingになります。

スクリーンショットやデモでの識別子の隠し方

/profilePreferencesBlur identifiersをオンに切り替えます。メールは最初の数文字とトップレベルドメイン以外がマスクされます(例:jo••••@ex••.com)、名前は各部分の最初の文字だけが表示されます(例:J••• D•)。ダッシュボード全体にこのマスキングが適用されます。トグルはブラウザごとに保持されるため、リロード後に再有効化する必要はありません。

ブラーはプレゼンテーション補助であり、アクセス制御ではありません。 ブラウザのDevToolsを持つユーザーは、トグルがオンの状態でもマスクされていないデータを見ることができます。識別子へのアクセスを本当に制限するには、Settings → Teamでチームメンバーシップを管理してください。

公開ダッシュボードは常にマスクされます

読み取り専用の公開ダッシュボードを共有するとき、識別子はトグルの状態に関係なくマスクされます。ダッシュボード所有者が公開URL経由で表示する場合でもメールは最初の数文字とトップレベルドメイン以外がマスクされ(例:jo••••@ex••.com)、名前はJ••• D•として表示されます。Globe APIは公開レスポンスからidentity_emailidentity_nameidentity_planフィールドを完全に省略します — データはUIで非表示になっているだけでなく、そもそも送信されません。

これは厳格な保証です:受信者に実際の顧客のメールを漏らすことなく公開リンクを共有できます。

バッジが表示される場所

  • 3Dグローブ:訪問者マーカーをクリックしてポップアップを開きます — ポップアップにはバッジが表示されます(Payingは緑、Identifiedは青)。
  • Journeys → Usersタブ:Users一覧の各行にバッジが表示され、訪問者詳細パネルにidentify()で送信したメール、名前、プラン、カスタムトレイトを含む完全なアイデンティティカードが表示されます。テーブル上のgoal、device、OS、country、sourceフィルターを使って一覧を絞り込むことができます。

よくある質問

Q: identify()を使うのにクッキーは必要ですか? A: いいえ。Zenovayのcookielessモードはウィンドウスコープのインメモリvisitor IDを使用します — identify()はクッキーやlocalStorageエントリを設定することなく、既存のセッションをユーザーに紐付けます。

Q: identify()はGDPR / ePrivacyの同意が必要ですか? A: 処理の根拠によります。Cookielessトラッカー自体はユーザーのデバイスに何も保存しないため、ePrivacy第5条(3)を発動しません。ただしidentify()呼び出しは個人データ(メール、名前)を処理するため、GDPR第6条に基づく法的根拠が必要です。多くのプロダクトでは「契約の履行」(ユーザーがあなたのプロダクトにサインインしている)が根拠となります。

Q: webhookなしでidentify()を使って訪問者を直接paying扱いにできますか? A: 設計上できません。Payingステータスはtotal_revenue > 0または決済プロバイダのcustomer IDから導出され、両方ともwebhookが設定します。これにより値が検証可能に保たれます — フィナンシャルチームが実際の金銭に紐付いているためバッジを信頼できます。テストのために手動で訪問者をマークする必要がある場合は、Stripe Test Modeを通じて$0のテスト決済を実行してください。

Q: 同じブラウザセッションに対して異なるIDでidentify()を呼び出すとどうなりますか? A: Zenovayはアカウント切り替えとして扱います — 新しいアイデンティティがその訪問者レコードの古いものを置き換えます。前のidentifyイベントはタイムラインに残るため、アカウント変更を監査できます。

関連記事

この記事は役に立ちましたか?