2020年11月10日 星期二

1. import { map } from 'lodash';

image



2. import map from 'lodash/map';

image



3. import { map } from 'lodash/fp';

image



4. import map from 'lodash/fp/map';

image



5. import { map } from 'lodash';

with babel-plugin-lodash, same as 2.
image



6. import { map } from 'lodash';

with lodash-webpack-plugin
image



7. import { map } from 'lodash/fp';

with lodash-webpack-plugin
image



8. import { map } from 'lodash-es';

image

Read More ...

0 留言
2020年11月5日 星期四

 *為了方便對照,名詞上附上打中文 & 英文

[架構]
網站上埋了 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 都不同,目前還不確定有沒有關聯

Read More ...

0 留言