Berislav Babic

データを一貫性、コンプライアンス、真実性のある状態に保つことは、現在ではかなり難しいことです。私たちはレガシーコード技術的負債の問題を認識していますが、データの負債について心配することはほとんどありません。この問題は、100%サブスクリプションビジネスがあり、期限切れのサブスクリプションを持つユーザーを削除する場合、それほど顕著には現れません。一部の企業はすべてのデータを永遠に保持したいと考えていることは知っていますが、これは巨大なプライバシーコンプライアンスの穴であり、パフォーマンスの穴にもなり得ます。パフォーマンスの問題については、別の投稿でより深く書く予定です。
今はメールについてお話ししましょう。ほとんどのWebアプリケーションは似たような流れを使用しています。ユーザーがアプリケーションにサインアップするとき、メールアドレスを入力し、現在人気のある認証方法を続行します。これはパスワードの入力、メールに送信されるワンタイムトークン、またはパスキーの作成かもしれません。これでシステムにユーザーができ、メールとパスワードを使用してアカウントを作成できるようにした場合は、メールを確認する必要があります。一般的な方法は、ユーザーがメールを確認しない限り、ユーザーを入れないことです。しかし、ユーザーを獲得したいという理由で、メール確認を前もって気にしない大企業がまだいくつかあります。
しかし、フリーミアム製品で非常に古い(10年以上前の)データセットがあり、未確認のメールがたくさんある場合はどうなるでしょうか?その場合、少なくとも3つの問題が発生する可能性があります:

  1. 未確認だが有効なメール
  2. 未確認だがサインアップ時に有効だったメール([email protected]はもうそこでは機能せず、メールはサーバーから削除されました)
  3. 未確認で無効なメール(誰かが他人のメールを使ってサインアップした)

このような状況に陥った場合、心配しないでください。データセットをクリーンアップし、汚くなりすぎないようにするためのトリックがたくさんあります。
まず、メール確認がオンになっていない(メール変更時の再確認も)場合は、すべての新規アカウントで強制されるようにしてください。健康的なデータを何らかの形で取得し始める必要があります。そして、短期間後に未確認のメールアカウントを削除します(週次タスクを作成するなど)。そして、そのアドレスに確認用以外のものを送信しないようにしてください。

レガシーデータのクリーンアップについては、私が好きなのは、アカウントがX日後に削除対象としてマークされているというメールを受け取ることです。これは、数年前に製品をテストするためにサインアップした会社から届くものです。これで、何が変わったかを見るためにログインし直すきっかけになるかもしれません。

このプロセスを私たちの状況にどのように適用できるか見てみましょう。まず、12ヶ月の非アクティブ期間後にユーザーデータを削除する新しいポリシーを作成します。現在では、ユーザーにアプリケーションを使用させ、料金を支払わせることさえ難しいので、誰かにクリックを強制したくはありません。しかし、このポリシー更新メールを使用して、バウンスされた/無効なメールをフィルタリングすることができます。メールプロバイダーの評価は一時的に低下しますが、すべてのユーザーに有効なメールを送信しているため、スパムメールよりもこれを争う方が簡単です。メールがすべてのユーザーに送信された後、メールサービスプロバイダーは今や活用できる貴重なデータを保有しています。それはシステム内のバウンス/無効メールリストです。2000人のユーザーがいると仮定して、ポリシー更新メールを送信し、250件のバウンスおよび/または無効なメールを受け取ったとします。これはメール配信率が87.5%であることを意味し、それほど良いわけではありませんが、世界の終わりでもありません。これを有利に変えましょう。それらのリストをエクスポートして、ユーザーのメールが無効であるとマークします。ユーザーが長期間(ポリシーで述べられた期間より長い)非アクティブで、かつ無効なメールを持っている場合は、削除してください。そして、実際に削除してください。@deleteduser.comにメールを更新しないでください。ユーザーがアクティブな場合は、メールが無効であることを何らかの方法で伝える必要があります。ここで創造性を発揮する必要があります。アプリ内でメールを確認/変更する必要があることを伝えるポップアップメッセージは一つの方法で、ユーザーの不快感のレベルはさまざまです(小さなポップアップ、大きなポップアップ、画面全体のモーダル)。そのメールに送信されるすべてのリンクに確認パラメータを埋め込み、アプリケーションでそれらのクリックをキャプチャすることもできます。もちろん、これらはすべて少しのプログラミングとサーバーのオーバーヘッドを追加しますが、後の悔いよりも安全な方が良いのです。
そして、私はまだ不確かな最後の落とし穴に足を踏み入れます。新しいメールを確認するとき、新しいメールを確認するのか、古いメールを確認するのか、古いメールにユーザーがメールを変更したことを伝えるメッセージを送信するのか?これは別の日と別の投稿の問題です。私たちの問題に戻りましょう。可能な限り多くのユーザー(特に料金を支払っている人)を保持し、トライアルを有料に変換したいと考えています。しかし、データもクリーンで真実に保ちたいと考えています。
そして、この状況から抜け出す正気な方法はただ一つで、それはすべてのユーザーのメールが有効であることを確認することです。有効でない場合、ユーザーがアクティブであれば、有効なメールを確認させ、無効なものを変更させるようにしてください。これでデータベースとメールプロバイダーの両方が幸せになります。メール送信の評価は可能な限り高く保たれ、スパムに終わる可能性ははるかに低くなります。