由於 Google Analytics 4 在後端端數據搜集情境已殘,可能起源於 GA4 著重隱私等設計(?),現況數據收集已強調必須先從 Web or App 開始,透過 JS SDK 或 APP SDK 做事,而後端回報為輔助而已,在 Web & App 端可以做隱私宣告。如此,使得純後端回報幾乎無法妥善使用 GA4 的功能,包括無法區分 new user / old user 屬性等等,也不像 GA3 可以把 remote client 的 IP 回報出去而顯示使用者的世界全貌。
架設 Matomo 方式還滿簡單的,就 Web Server + PHP + MySQL ,並且官方也有 docker 安置方式:
由於看到別人的文章提到要記得設置定期分析任務,不然久久登入網頁會很卡的,推論也是從網頁端發送查詢資料,過程中也一同處理資料分析。這個用瀏覽器時,從開發者工具中也可以看到定期在發送 ajax 的 requests。
目前就先弄個 Matomo project 出來,根據上頭的指示很簡單就埋好 js script code 去追蹤網站流量,可以看得到 Matomo 比 GA 提供更多細膩的資訊,這就像隱私的那些規劃,在 GA 上頭只能很粗略地觀看到“趨勢”,而在 Matomo 上頭,則是可以細到把指定的 client 展開出他的 Profile:
我認為跟 GA 相比有滿明顯的設計差距。
接著,關於透過 REST API 回報數據與查詢回報的方式,可以參考:
回報 PageView/Event:
% cat test.phprequire 'report.php';print_r(matomoPageview([['url' => 'http://localhost/page1','action_name' => 'PageView 01 - Title','uid' => '123456789012',//'cip' => getUserIP(),],['url' => 'http://localhost/page2','action_name' => 'PageView 02 - Title','uid' => '123456789012',//'cip' => getUserIP(),],['url' => 'http://localhost/page3','action_name' => 'PageView 03 - Title','uid' => '123456789012',//'cip' => getUserIP(),'e_c' => 'Service','e_a' => 'Auth','e_n' => 'Login',],],'idSite','MatomoAPI'));% php test.phpArray([status] => 1[error] =>[info] => Array([0] => Array([apiResult] => {"status":"success","tracked":1,"invalid":0})))
得到 Report:
% cat test.phprequire 'report.php';print_r(matomoQueryReport(['idSite' => 1,'period' => 'day','date' => '2023-10-01,2023-10-03','method' => 'VisitsSummary.get',], 'https://your-matomo.example.com/', 'access_token'));% php test.phpArray([status] => 1[data] => Array([0] => Array([2023-10-01] => Array()[2023-10-02] => Array()[2023-10-03] => Array([nb_uniq_visitors] => 1[nb_users] => 1[nb_visits] => 1[nb_actions] => 2[nb_visits_converted] => 0[bounce_count] => 0[sum_visit_length] => 1[max_actions] => 2[bounce_rate] => 0%[nb_actions_per_visit] => 2[avg_time_on_site] => 1)))[error] =>[info] => Array())
沒有留言:
張貼留言