reCAPTCHAとは

reCAPTCHAとは、Google社が提供する、スパム対策の仕組みの名称です。もともとCAPTCHAというのはチャレンジレスポンス型テストの名称で、コンピュータープログラムには判定の難しい文字解読や画像選択を行わせることで、大量のプログラム処理からシステムを守る用途等のために発展してきました。reCAPTCHAはGoogle社が広く提供しており、導入数でも多くのシェアを獲得しています。

記事執筆時点でreCAPTCHAにはV2とV3のバージョンが提供されており、V2は「私はロボットではありません」といったチェックボックスの操作を求めるタイプです。カーソルの動きから人間かどうかを判定しており、疑わしい場合や繰り返し操作している場合等にはタイル上の画像から指定のものを選択するテストが表示されることがあるのが特徴です。一方、V3はそういったテスト要素はなく、reCAPTCHAのAI判定により判断されます。

reCAPTCHA導入のメリット

reCAPTCHA導入のメリットはなんと言ってもフォームに対するスパム送信を削減できることです。昨今、各種CAPTCHAを突破するためのサービスも存在しているため、100%防ぐことはできませんが、それでもかなりの低減効果を見込むことができます。もし、毎日何件ものスパム送信に辟易しているというケースでは、間違いなく有効な選択肢になります。

自前で有効な対策を行うのには限界があります。利用回数によっては有料にはなりますが、通常のユースケースでは無料で利用できることがほとんどではないでしょうか。サービスとしても非常に安定してきており、フォーム送信のスパム対策としては実質的に最良の選択肢の一つと言えるかもしれません。GoogleのreCAPTCHAに加え、CloudflareのTurnstileも登場してきており、引き続き発展が期待される領域です。

reCAPTCHA導入のデメリット

reCAPTCHA導入のデメリットとしては、UX(ユーザーエクスペリエンス)の悪化があげられます。V2特有ではありますが、「ロボットではありません」のチェック操作が面倒なのと、テストされているのを好まない人は多くいます。とりわけ離脱率を高める原因にもなってしまうため、EFO(エントリーフォームオプティマイゼーション)との兼ね合いで実装を検討する必要があります。

また、V3についてはそういったチェック操作や画像テストがないかわりに、誤判定のリスクがついて回ります。どれぐらいの厳しさでチェックするかを設定できるものの、その匙加減はなかなか難しいのも事実です。定期的に誤判定と思われるような履歴がないかをreCAPTCHA管理画面でチェックする等の運用が理想です。判定を厳しくすれば誤判定のリスクが、かといって甘くすると素通りしてしまうスパムが増えるためにバランスが非常に難しい領域ではあります。

reCAPTCHAの使い所

reCAPTCHAを導入する場合、以下のケースが一般的です。

ユーザー登録

メールアドレスの確認がある場合はその段階で、また、メールアドレスの確認がない場合はユーザー登録のフォームに設置することが考えられます。Botによる不正なアカウント登録を防ぐ効果が見込めます。ただ、ユーザー登録フロー上に設置するため、離脱率が上昇してしまうリスクがあるので注意が必要です。どうしても入力時のユーザー負担は減らしたいという場合は、チェックボックスのないreCAPTCHA V3を使用する等の対応が必要でしょう。

ログイン

不正ログインを防ぐためにログイン画面に設置するのも有効です。ログインの際の手間が増えることにはなるのでこちらも注意が必要ですが、少しでもセキュリティ強度を高めたい場合には検討の余地があります。本来の目的ではないにしろ、総当たりアタックのリスクを低減する効果も期待できます。別の手段でログイン部分を守っている場合には過剰な対応になる場合もあります。

問い合わせフォーム

会社サイトやサービスサイトなど、問い合わせフォームが設置されている場合にはreCAPTCHAの設置が有効です。reCAPTCHAを設置していないと大量のスパム送信が行われることも珍しい話ではありませんし、システムとは切り離されて管理されていることも多いので、比較的導入に障害が少ないことも追い風になりえます。弊社フォームサービスのSSGformでも簡単にreCAPTCHA設定が行えるようになっており、設定されているフォームでは毎日多数のスパムがブロックされています。

導入すべきかの判断

ある程度のアクセス数があるサービス・サイトであれば、A/Bテストを行うことで、どれぐらい離脱率が高まるのか、どれぐらいのスパム低減効果があるのかを測定することができます。A/Bテストとまではいかなくても、一定期間だけ切り替えるなど、工夫しだいで判断材料になる数字を取得することは可能です。

どの程度の数字であれば許容できるのかはケースバイケースですが、離脱率や顧客満足度に大きな影響がないと判断されるのであればreCAPTCHA導入を進めるべきでしょう。全体に対して使用する以外にも、特定のあやしいケースだけにreCAPTCHAをさしこむ、といったカスタマイズも可能です。自社や自サービスの要件にあわせて様々な方策を検討することをおすすめします。