1. import { map } from 'lodash';
2. import map from 'lodash/map';
3. import { map } from 'lodash/fp';
4. import map from 'lodash/fp/map';
5. import { map } from 'lodash';
with babel-plugin-lodash, same as 2.
with babel-plugin-lodash, same as 2.
*為了方便對照,名詞上附上打中文 & 英文
[架構]
網站上埋了 GTM(Google Tag Manager) 的設定碼
所以前端只會對
GTM 送事件,觸發 GTM trigger 後再觸發 GTM tag
將事件轉送至 GA(Google
Analtics) 和其他分析平台
[情境]
我們 GA 有一個事件(稱事件作 first_shop),程式邏輯上每個使用者只能觸發一次
同時我們定義了 GA 的一個客製維度(custom dimension) userId
觸發 first_shop 時會帶 userId
[觀察步驟]
1. 進入 GA,行為(Behavior) - 事件(Events) - 熱門事件(Top Events)
2. 使用 first_shop 過濾事件類別(Event Category)
3. 設定次要維度(secondary dimension)為 userId
[預期行為]
事件總數(Total Events) & 不重複事件(Unique Events) 數量應都為 1
[問題]
1. 上述兩項值不為 1,而且所有筆資料會一併都是 2 or
3,不像使用者行為所導致的數字
2. 為了測試,我另外定義個客製維度(custom dimension) debug,會送 userId,
triggeredAt
結果發現同筆資料事件總數(Total Events) & 不重複事件(Unique
Events) 為 2
代表同一時間觸發了兩次
3. 同上,我確定程式碼端不會造成重複送事件
4. 同上,同樣事件,另個平台次數確實為 1
5. 以下是觀察到的奇怪問題
[狀況 1] 同一天資料不同天看會得到不同結果(跟問題 1 有關)
我能夠透過次要維度去識別每筆資料(有 userId, triggeredAt)
假設我在不同的三天觀察並匯出(Export) 11/1 的資料
並將最大顯示筆數設為
500
- 11/1 23:00 看 11/1 資料,總事件約為 150,顯示筆數約為 150,事件總數 &
不重複事件都為 1
- 11/2 23:00 看 11/1 資料,總事件約為 250,顯示筆數約為 120,事件總數 &
不重複事件都變為 2
- 11/3 23:00 看 11/1 資料,總事件約為 300,顯示筆數約為 100,事件總數 &
不重複事件都變為 3
- 假設 11/1 匯出的資料中有一筆 userId = AAA 的資料,但 11/2
匯出的資料中卻沒有,11/3 亦有同情況
推測 GA 因不明原因只挑了部分的資料回傳,但總數卻累加上去,並分配給被顯示的筆數
[狀況 2] 時間區間內的資料中找不到單天的資料
假設我先在 11/1 看到一筆 userId = AAA 的資料
再將時間區間設為 10/31 ~ 11/2,資料中卻沒有上述該筆資料
並起總比數也不為 10/31 + 11/1 + 11/2,並將總次數分配到總比數上
此時每筆事件總數 & 不重複事件都約為 9
其實就是狀況 1 放大到多天的情況
[狀況 3]
我在 GTM 該 trigger 上多加一個 tag,這個 tag 會將事件送往另一個 GA
在另個 GA 中資料就都是正常的,不會有以上情形
[現況]
有試著聯絡 Google,但 Contact us 表單都送不出去
透過其他部門回報也沒下文
在 cookie 中發現有三筆 _ga 但 domain 都不同,目前還不確定有沒有關聯