サービスの新規登録やログインで迷ったユーザーにそっと手を差し伸べる仕組みについて
ritouです。
"MIXI DEVELOPERS Advent Calendar 2022" 3日目の記事です。
社外では Digital Identity の専門家みたいなことを名乗っておりますが、社内でもいわゆるIDおぢさんをしています。
その中で、今年考えることの多かった話について書きます。
内容
C向けサービスにおいて、新規登録やログインの際にユーザーが迷ったり困ったりすることがあります。
- このサービスを使ったことがあるかどうかがわからない
- パスワード認証のパスワード、ソーシャルログインでどのアカウントを使ったかがわからない
- いわゆる認証コードを受け取ってログインする仕組みなのに、電話番号やメールアドレスが登録した時と変わってしまい、完全に詰んだ感ある
複数のサービスから使われるID基盤みたいなのを担当していると、特にこういう話を考えることが多いのではないでしょうか。
ユーザーがこのような状態になることを防いだり、このような状態になってしまったユーザーをサポートする仕組みについてゆるく整理しましょう。
登録前 : 所有者のみに通知
新規登録やログイン時に、親切に「こちらのメールアドレスは登録されていません。」「こちらの電話番号は既に登録されています。」のようなエラーメッセージを見たことはありませんか?
一見とても親切なこのようなエラーメッセージは、サービスやアプリを利用しようとしている人物に向けて表示されるべきものではないと考えます。
なぜなら、その電話番号やメールアドレスの所有者が必ずしも操作しているとは限らないからです。
詳しくは以下の記事にまとめています。
ログインではこのようなエラーを返さずに「メールアドレスもしくはパスワードが違います」みたいなエラーを表示することが一般的ですが、新規登録では素直に「このメールアドレスは登録済みです」のようなエラーメッセージを表示してしまいがちです。
パスワード認証を利用しているサービスの場合、このようなエラー表示は連絡先とパスワードのリストの精査に利用されることがあります。
そうではないサービスでも電話番号やメールアドレスが有効かどうか、どれぐらい使われているかを様々なサービスで調べることでリストの価値のはんべつにつかわれます。
これらのリスクを回避した上でメールアドレスや電話番号の所有者に通知したい場合、 画面上はエラーを出さずに裏で「こちらのメールアドレスは登録されていません。」「こちらの電話番号は既に登録されています。」といった通知を送ることで目的を果たせるでしょう。 ただし毎回送るのも別の問題が起こりそうです。通知の間隔はよく検討すべきでしょう。
ちなみに、この通知について何か名前がついているのでしょうか?
あまり聞いたことがないので、個人的には「親切メール/親切SMS」みたいな呼び方をしています。
どなたかかっこいい「~~メッセージ」「~~通知」みたいな名称を知っている方がいたら教えてください。
ログイン時 : 認証時の迷いを解消
パスワード認証で一度利用したパスワードをブラウザのパスワード管理機能や1Passwordのようなソフトで管理しているユーザーはそれなりに多いでしょう。
どの認証方式を利用したか、ソーシャルログインでどのサービスのアカウントを使っていたか忘れてしまった問題について、例えばWebアプリだとサービスが過去に利用したIdP(Identity Provider)をCookieやlocalStorageのような仕組みで覚えておくというやり方があります。
そういえばつい最近、1Password がこの辺りと似たような機能を提供開始したようです。
サービスがCookieやlocalStorageで覚えておいたとしても、新しい環境ではそれがわからない場合もあるでしょう。1Passwordのようにクロスデバイスで動作する仕組みに乗っかることで新しい端末でもスムーズに使い続けられる可能性がありますね。
ユーザー側、サービス側双方でこのようなサポートの仕組みが使われることで詰まってしまう機会を減らすことができたら、それは良いことでしょう。
どうしようもない時 : 電話番号やメールアドレスが変わって完全に詰んだ
パスワードを忘れたけどユーザー自身でリカバリーできない、認証コードを送信する方法しかないので詰んでしまったみたいなケースはどうしましょう。中には、変わってしまった電話番号やメールアドレスで新規登録してしまう人もいるでしょうけれども、サービスの内容によっては困ることもあるかと思います。
例えば決済機能を持っていたり、本人確認を必要とするサービスの場合は同じ情報を複数のアカウントで登録できず、サービスを利用し続けるのが困難になるかもしれません。 やはり同じユーザーのまま使えるような仕組みを用意できるのが一番でしょう。
- サービスは問い合わせ経由でCSが登録されているメールアドレスや電話番号を変更する機能を作る
- ログイン画面や新規登録画面にヘルプリンクなどを設置し、問い合わせフォームなどに誘導する
個人的には、CSの問い合わせ対応による復帰も(色々コストがかかる)アカウントリカバリーであり、アカウントリカバリーというのは別の認証方式による復帰である と考えています。
本人のみが知っているサービスの利用履歴、本人確認に利用した身分証の提示などでCSが利用者本人であると確認できたら電話番号やメールアドレスを変更してサービスを使えるような仕組みを用意することも重要でしょう。(当然ですが、このようなフローでユーザーから取得した情報を利用する際は、しっかりと取得時に利用目的をユーザーに提示して同意を得ておく必要はあります。)
登録/ログイン後 : 別の認証方式の設定を促す
「詰み状態」を回避するためにできることはあるでしょうか?
よく言われるのは複数の認証方式を利用可能にすることです。
- 電話番号/メールアドレスの両方を登録させる
- AndroidならGoogleアカウント、iOSならApple IDと連携
- 時代はpasskey
あまりしつこく誘うのもよくないので、こちらもタイミングはよく考えましょう。
まとめ
ざっくりですが、まとめます。
- 新規登録やログインの際に詰まるタイミングというのは結構ある
- それぞれサービスができることを地道に用意することが大事
- ユーザー側でもパスワード管理ソフトなどでサポートできるものもある
サービスの本質的なところ以外で詰まったりするのはサービス/ユーザー双方で悲しい体験になってしまいます。
これ以外も細かいところで、認証方式ごとのUXガイドライン的なものがあるなら使った方がいいとか、新しい認証方式と組み合わせる際にどうしたらいいかみたいな話もあるでしょう。
機会があったらまた解説記事を書きたいと思います。
おまけ: ユーザー認証とかに興味を持ってしまったみなさんへ
本投稿のような分野に興味がある方にピッタリな、Digital Identity関連のアドカレもあります。
大体全部の日程埋まらなくて言い出しっぺの私が何回も書くことになるんですよ 毎年毎年けっこう疲れます
ではまた。
Discussion