こんにちは!

サポートチームの上島です!

今回はコラム「 接客サービスのゴールって公開後に変更してもいいの?」に続き、KARTEの超基本的な前提知識:第二弾をお届けします。

今回は「メンバーとログイン中の違い」についてです。

同じじゃないの?と思ったあなたも、知ってるぜ?と思ったあなたも、KARTEを知ってきたからこそハマっちゃうかもしれない落とし穴。
だからこそ皆さんに知っていただきたい!ぜひご一読いただければ幸いです。

お問い合わせ内容

ログイン状態によってポップアップを出し分けたいです。

サイトではアカウント登録してログインするとユーザーIDが発行されて会員になります。
またログイン時にはユーザーIDが計測されます。

そのため「メンバーのみ」で配信したのですが、ログアウトしていても表示されます。
以下セグメントを対象にして配信した方がいいでしょうか?

■ポップアップ
null

■セグメント
null

回答

メンバーのみ で指定しても、 最新のセッション > ユーザー情報 > ユーザーID が > 存在する 条件のセグメントで指定しても、意図通りに配信できません。

上記ではログイン状態が考慮できていないため、ログイン状態を判別するための「loginイベント」を送信するカスタムイベントタグを設置する必要があります。

疑問|深掘り

多くのWebサイトで、以下のような仕組みになっていますよね。

  • アカウント登録でユーザーID/PWが作成され、マイページにログインできる
  • ユーザーID/PWでマイページにログインする

また、ユーザーIDを計測するユーザータグの設置は、以下のようにご案内しています。
(ご参考: ユーザータグを設置する場所

  • ユーザーの個人情報が取得できるすべてのページでの設置を推奨
  • ユーザー情報が確実に取得できるかわからない場合は「ページ内でユーザーがログインしている場合のみユーザータグが実行される」ような実装が必要

そのため、マイページ内にユーザータグを設置してユーザーIDを計測するケースは多く、
ログインしてマイページに入るとユーザーIDが計測される、という挙動は何も問題ありません。

しかし、上記では考慮できていない点があります。
それが「ログイン状態」です。

ユーザーIDが計測されたってことはマイページにアクセスできたってこと、マイページにアクセスできたってことはログイン中ってことじゃないの?

そう、それはそう。
しかし「ログアウト」した時はどうなるのでしょう?

🤔🤔🤔

今日考えたいポイントはココ!
それでは詳しく見ていきましょう!

理解のポイント|解説

結論から言うと「メンバー」と「ログイン中」は同義ではありません。

まず、メンバーとビジターには、以下のような違いがあります。
(ご参考: ユーザーの種類・ビジターとメンバー

  • ビジター:ログインを行っていない匿名ユーザーで、KARTEによって付与されたvisitor_idを持ちますが、メンバーとして識別できるuser_idは持たないユーザー
  • メンバー:ログインユーザーなど、サイト固有のuser_id(ユニークな顧客管理ID)を持ち、visitor_idも持つユーザー

そのため「メンバー」=「ログイン中」とイメージしやすいかと思うのですが、
ログインしてユーザーID( user_id )が計測されたユーザー =「メンバー」であり、
現在のログイン状態で判別していません

そのため、ログアウトしても『ユーザーIDを持っている(計測された)』ことには変わりはないため、 ビジターではなくメンバーとして扱われます。(※1)

つまり、「メンバー」には、「ログイン中」と「ログアウト中」の両方が含まれるのです。

では、現在のログイン状態はどのように判別すればいいのか?
こちらは、ログイン状態を判別するための「loginイベント」が必要です。

「login」イベントで、ログインした時に status: true ・ログアウトした時に status: false を送信するようタグ設置することで、ログイン状態を判別できるようになります。

ログイン状態を判別するタグの注意点やセグメントの作成方法は、以下ドキュメントをご参照ください。
(ご参考: ログイン状態を判別するタグ

※1:KARTEは、ブラウザのCookieおよびLocalStorageを使用してユーザーを認識するため、別のブラウザでアクセスしたり、キャッシュクリアした場合は、別ユーザーとして認識されます。

null

おまけ

実は、ログイン状態によってポップアップを出し分ける方法は、大きく以下の3つの方法があります。
以下を参考に方法をご検討いただくと良いかと思います。

① 接客アクションのカスタマイズで、サイトのソースからログイン状態を判別し、widget.show(); を制御する
接客アクション内で完結できるので、JavaScriptの実装に明るい方がいる場合には、おすすめの方法です。
▽懸念点:
・A/Bテスト(対 未実施グループを含む)場合に、ログイン判定後に振り分けされないため、振り分けの数値が設定と乖離する可能性がある
▽難易度:
・JavaScriptのカスタマイズが必要

② すべてのページで「ログイン状態を判別するイベント」を発火させ、配信トリガーにする
ログイン状態を判別するタグ( login > status > true / false )を、すべてのページ & 閲覧ごとに発火させ、発火「 login > status > true 」を配信トリガーにする方法です。
配信遅れが発生せず確実にできるので、タグの実装・修正に明るい方がいる場合におすすめです。
▽懸念点:
・契約におけるイベント計測数 / 月に余裕がない場合、計測するイベント数が増えるため、ボトルネックになる可能性がある
▽難易度:
・全ページで「ログイン状態を判別するタグ( login > status > true / false )」が発火するようにタグ実装の修正が必要

③ログイン状態を判別するセグメントで接客を出し分ける
基本的なタグ実装(ログイン状態を判別するタグでloginイベントが適切に発火)できていれば、コード等の知識がなくても実現できるので、工数かけず簡単に作成したい場合におすすめの方法です。
▽懸念点:
・ログアウト直後のページでセグメント判定が間に合わず、配信されてしまう
▽難易度
・この中では一番シンプルに設定できる
(ログイン時「 login > status > true 」ログアウト時「 login > status > false 」が計測できていれば、KARTEコア機能で実装可能)

あとがき

いかがでしたか?
実は意外とここを勘違いしてお問い合わせいただくケースも少なくありません。
「メンバーとログイン中は違う」
これだけ覚えておけば大丈夫!ぜひ覚えておきましょう!

チャットサポートでは、お問い合わせを受け付けております。
どうにもならない時はもちろん、些細な疑問も、どしどしお問い合わせください!
お問い合わせは 管理画面グローバスナビゲーション > [?] サポートガイド > より可能です!
null
お問い合わせをお待ちしています!