Berislav Babic

在當今維持資料一致性、合規性與真實性相當困難。我們了解遺留程式碼技術債務的問題,但很少關注資料債務。如果您擁有 100% 的訂閱業務,並刪除訂閱已過期的使用者,這個問題就不會太明顯。我知道有些公司希望永久保留所有資料,但這既是巨大的隱私合規漏洞,也可能造成效能問題。我會在另一篇文章中深入探討效能問題。
現在,讓我們來談談電子郵件。大多數網路應用程式使用相似的流程。當使用者註冊您的應用程式時,他們會輸入電子郵件地址,然後繼續進行目前流行的任何驗證方式。這可能是輸入密碼、傳送到其電子郵件的一次性權杖,或建立通行金鑰。現在您的系統中有了使用者,如果您允許他們使用電子郵件和密碼建立帳戶,您必須驗證其電子郵件。常見的方式是不讓使用者登入,除非他們確認其電子郵件。然而,仍然有一些大公司因為想要捕捉使用者而不關心事先的電子郵件確認。
但是,如果您在免費增值產品上擁有非常舊(超過十年)的資料集,其中包含大量未驗證的電子郵件,會發生什麼情況?那麼,您至少會遇到三個可能的問題:

  1. 未驗證但有效的電子郵件
  2. 未驗證但在註冊時有效的電子郵件([email protected] 已經無法使用,他們的電子郵件已從伺服器中移除)
  3. 未驗證且無效的電子郵件(有人使用別人的電子郵件註冊)

如果您發現自己處於這種情況,請不要擔心,我們有很多技巧可以清理資料集,並確保它永遠不會變得太髒。
首先,如果您尚未開啟電子郵件驗證(以及電子郵件變更時的重新驗證),請確保在所有新帳戶上強制執行。您必須開始以某種方式捕捉健康的資料。然後在短時間後刪除未驗證的電子郵件帳戶(建立每週任務之類的)。並確保除了驗證郵件之外,不向該地址傳送任何內容。

現在來談談舊有資料清理。我喜歡收到一封電子郵件,告訴我我的帳戶將在 X 天內被標記為刪除。這封郵件來自我幾年前註冊以測試其產品的公司。這甚至可能讓我重新登入,看看是否有任何變化,如果我還記得那是什麼的話。

讓我們看看如何將這個流程應用到我們的情況。首先,您建立一個新政策,在不活躍 12 個月後刪除使用者資料。如今,即使讓使用者使用您的應用程式並為其付費都很困難,所以您不想強迫任何人點擊或做任何事。但我們可以使用這封政策更新郵件來過濾退信/無效電子郵件。這會在短時間內降低您的電子郵件供應商信譽。但由於您正在向所有使用者傳送有效電子郵件,而且比垃圾郵件更容易提出異議。在電子郵件傳送給所有使用者後,您的電子郵件服務供應商現在擁有無價的資料,您現在可以加以利用。這就是他們系統中的退信/無效電子郵件清單。假設您有 2000 位使用者,向他們傳送政策更新郵件,您收到 250 封退信和/或無效電子郵件。這意味著您的電子郵件送達率為 87.5%,這不是很好,但也不是世界末日。讓我們把這轉為對我們有利,匯出這些清單並將使用者標記為擁有無效電子郵件。現在,如果使用者已經不活躍很長一段時間(比您所述的政策更長),並且也有無效的電子郵件,那就刪除他們。並且實際刪除他們,不要將電子郵件更新為 @deleteduser.com。如果使用者是活躍的,您必須以某種方式告訴他們他們的電子郵件無效,這就是您需要發揮創意的時候。在您的應用程式中彈出訊息,告訴他們需要驗證/變更其電子郵件是一種方式,對使用者造成不同程度的不便(小彈出視窗、大彈出視窗、全螢幕強制回應視窗)。您可以在傳送到該電子郵件的所有連結中嵌入驗證參數,並在您的應用程式中捕捉這些點擊。當然,所有這些都會增加一些程式設計和伺服器負擔,但寧可安全也不要抱歉。
然後您會進入最後一個我仍然不確定的陷阱。在驗證新電子郵件時,您是驗證新電子郵件還是舊電子郵件,您是否向舊電子郵件傳送使用者已變更其電子郵件的訊息?這是另一天和另一篇文章的問題。讓我們回到我們的問題,您想保留所有您能保留的使用者(尤其是付費給您的使用者),並盡可能將試用轉為付費。但您也想保持資料的乾淨與真實
而脫離這種情況只有一個合理的方法,這意味著確保所有使用者的電子郵件都是有效的。如果不是,而且使用者是活躍的,請確保他們驗證其有效的電子郵件並變更無效的電子郵件。這會讓您的資料庫和您的電子郵件供應商都感到滿意。您的電子郵件傳送信譽會盡可能保持高水平,進入垃圾郵件的機會也會大大降低。