想顯示每日人氣?讓網站使用 Google Analytics 資料

想在網站上加上「累積人氣」「當日人氣」「熱門文章」等的統計資料嗎?

有在用 wordpress 架站的朋友都知道,wp 提供了很多插件,例如「Page View Count」、「WordPress Popular Posts」等。這些插件即插即用,功能豐富、介面華麗,又能自己洗流量,宛如在 wp 裝了一個專屬報表!但插件不會告訴你,這些貼心豐富的功能下可能要付出什麼代價,今天這個外掛有可能一位訪客就在資料庫寫一筆資料記錄他的IP、來源國家、使用的電腦作業系統等等,看似紀錄了完整的使用者以及瀏覽資料。當任何一個進入網站的人都要從資料庫讀取一大串資料時,到底會消耗多少主機資源?使用時間一長或根本就是超高人氣的網站,很容易就會造成資料庫肥大、網站載入變慢甚至掛掉,到最後得不償失呀。

透過Google Analytics(不僅免費且數據相當精準!?),讓網站顯示原本在GA上就可以看到的各種數字,讓強大的GA專職幫你做好這些統計和報表資料,省下你的資料庫空間!透過串接GA API、申請Service Account,讓網站只消耗少少的資源,也能在網站上秀出累計人氣、當日人氣、熱門文章,甚至任何你想呈現的 GA 資料。


一、啟用 API 並建立 Service Account

這裡,依序按下「continue」建立新專案,進入 API 生效成功頁面再按下 「Go to credient」進入憑證申請頁面。

 

 

 

 

 

 

 

 

在 Credentials 頁面直接選擇建立 service account (上圖紅框),並按下「Create Service Account」進入建立畫面(下圖)。

 

 

 

 

 

 

 

填入 Service account name,選擇 Role(我是選 Project > Viewer),勾選 furnish a new private key,選擇下載 json 格式檔,再點選 Create 並下載金鑰,記得要將檔案備著並收好(此檔案是唯一複本,弄丟了就需要再重新建立新的 SA)

說明:由於 GA 的 data 是屬於帳戶的私密資料,但網站瀏覽使用者並不會有你的 GA 登入帳密。如果要讓網站(第三方)能代替你取出 GA data,並公開顯示在網站頁面上,就要透過申請 Service Account 並取得密鑰,讓網站能取用這組密鑰(可以想像成通行證),網站就能以Service Account的身份在每個使用者進入時,都去你的 GA 撈出最新的 data 並顯示在網頁上。

申請完成後就會來到Service Account列表,就可以看到剛剛新申請的Service Account。

將上圖圈起的 Service account ID 複製下來,接著要登入 GA ,將這組 Service Account 加為 GA 的管理員身份之一。
 登入 Google Analysis > 「管理員」 >  「使用者管理」>「新增使用者」,將 Service account ID 填入上圖電子郵件地址的欄位,並勾選此帳號的權限,再按下新增即完成囉!

 

二、安裝 Google Client Library

接著要下載 google 提供的 library,可以直接使用 composer 安裝,或至 Google github下載最新的 releases (要注意 server 的php版本是否與 library 合用唷)。

 

三、完成初步設定

將第一步驟產生的金鑰與第二步驟載好的library都安置在到 server 上。

再來做一些初始化設定,將第一行(library file location,第二步驟安裝的)與第八行(key file location,第一步驟載下來的密鑰)改為正確的路徑與檔案名稱即可使用。

 

四、範例

  • 「網站人氣」,將使用 GA 的 pageviews(瀏覽量):

start date 設定為固定時間 ‘2018-01-01’(通常是ga碼埋入網站前的時間)就是累計人氣,若設定為 ‘7daysAgo’就是過去七天的累計人氣。更詳細的格式與計算方式說明請參考Google文件檔點擊

 

  • 「熱門文章」,取得過去30天最多瀏覽量的前五篇文章標題與連結(此範例以 wordpress 的規則為例)。

參數使用的規則說明都在Google官方文件檔這邊這邊,除此之外可以來GA提供的 Query Explorer 探索更多可呈現的資料型態。

 

四、實際運用案例

實際範例就在我們最近的新作品,知名婚禮部落客-V娜的網站上唷!

(串接資料呈現在文章頁面的sidebar,包含Popular Post、Popularity)

歡迎有興趣的blogger、youtuber,或是對相關技術有興趣一起討論的朋友和我們聯繫唷!

 

補充:值得注意的Google Analytics的API調用次數免費版本是有限制的,每個專案每日有50000次請求上限,超過的就需要付費跟Google購買進階版的服務。

https://developers.google.com/analytics/devguides/reporting/realtime/v3/limits-quotas