優化社群帳號登入者的結帳問題

介紹購物網站提供使用社群帳號登入的流程,以極可能發生的狀況,並說明如何修正問題,讓使用社群帳號登入的會員,也能得到順暢的購物結帳流程。

OpenCart 雖然沒有內建支援社全帳號的登入,不過相關的模組已非常普遍,在 OpenCart 官方的 MarketPlace 上可以找到不少廠商開發的模組,至於相關安裝及設定教學,之後有機後再來分享,這一篇要討論的是,當訪客透過 Facebook 帳號或是 LINE 帳號登入(第一次登入會進行註冊)系統之後,其實會員資料都是不齊全的,因為基於隱私緣由,透過社群帳號驗證授權後登入網站時,網站並無法取得太多資料,通常只有姓名及社群帳號的 user ID,大部分的情況是連 Email、手機等重要資料都是取不到的,這樣的情形下,如果這些會員直接結帳,帳單上可能就不會有會員的 Email、電話,甚至結帳過程就會出現狀況。

社群帳號的登入流程解析

大部分的社群帳號登入流程是相似的,這裡以 Facebook 的帳號登入為例,當訪客點擊 Facebook 帳號的登入按鈕之後,網頁就會跳轉到 Facebook 的主機,而跳轉過去的目的網址,會帶有幾個加密過的參數,讓 Facebook 驗證是來自一個合法註冊的 Facebook 應用程式(商家網站),如果訪客是第一次登入這個網站,Facebook 就會彈跳出一個同意視窗,讓 Facebook 的帳號擁有者同意商家網站可以驗證使用者的登入,並回傳部分授權的 Facebook 使用者個人資料至商家網站,商家網站接收到 Facebook 的帳號驗證及授權通知時,即可利用 Facebook 回傳的使用者資料,在商家網站建立此會員的帳號資料。

然而 Facebook 回傳的資料僅有 Facebook userid、使用者名稱,其他如 email、手機資料等等,則通常不再授權的項目中,所以即使商家網站幫這位會員建立了會員帳號,許多重要欄位仍會是空白無資料的,尤其是 email 及手機號碼,這是許多 OpenCart 網站的主要帳號資料,如果連 email 都沒有,可能連結帳要發 email 通知都會出錯,而沒有手機號碼,可能無法建立超商的物流單號,整個購物流程將會卡東卡西,無法正常購物結帳。

如何修正社群帳號登入者資料不齊的問題

修正社群帳號登入者資料不齊的問題,最好的方式當然是讓這些使用者將資料補齊,不過如果會員才剛剛透過設權帳號授權登入網站,就馬上要填寫基本資料,容易造成用戶的體驗不佳,建議較理想的做法是,登入網站之後,不強制立即補填資料,讓新會員可以認識瀏覽商品、加入購物車等等,直到會員要進行結帳時,才檢查會員的基本資料是否完整,未完整者才導向會員資料編輯畫面,並提示缺少的會員資料,等於是只針對即將結帳的會員,才要求補填會員基本資料(含常用地址),這樣的做法是最不影響用戶體驗的模式,這也是我們目前為商家架設 OpenCart 購物網站,一定會安裝的優化模組之一。