2017-08-28 181 views
0

我正在使用iOS Swift 3並試圖跟蹤Firebase中的屏幕視圖,並使用GTM將這些數據推送到GA中。Firebase + GTM + GA實現問題

我的問題是,我無法從推送到GA中的「screen_view」事件中獲取屏幕名稱。

在firebase中,初始的自動屏幕視圖命中沒有屏幕名稱,只有屏幕類,所以我使用Analytics.setScreenName來設置屏幕名稱並覆蓋屏幕類。

但是,這會導致Firebase中的兩次匹配,一次是自動的,沒有屏幕名稱,一次是使用屏幕名稱手動觸發的。

此外,我想將屏幕名稱從事件傳遞到GA作爲屏幕視圖類型。我將GTM中的screenName字段設置爲一個變量。在Xcode的結果爲「無效事件參數」:

我曾嘗試過各種事件參數爲變量

  • 「firebase_screen」:未找到和(未設定)在GA
  • 導致
  • 「_SN」調試

所以我猜所有以_開頭的參數都保留在Firebase中。那麼如何從Firebase中將保留的事件參數獲取到GA中。例如,我可能想要將應用程序版本存儲在某個自定義維度中。

這裏最大的問題是屏幕名稱在從GTM到GA的screenview命中時沒有顯示出來。

回答

1

在谷歌標籤管理你要設置如下:

標籤類型:通用Analytics(谷歌分析) 軌道類型:屏幕查看

字段名稱:屏幕名 價值:[我在下面找到的變量]

觸發器:「事件名稱」上的火災包含屏幕

**注意觸發火柴「screen_view」,但我還沒有機會測試

變量可能會更好:

Variable Type = Event Parameter 

Event Type = Custom Parameter 

Event Parameter Key = _sn 

其他事項 確保Analytics.setScreenName正在工作,並在ViewDidAppear中填充_sn參數。

Xcode的調試例 在Xcode中,你應該看到的東西,如:

firebase_screen_id (_si) = 4233194112313113131331; 

firebase_screen_class (_sc) = ViewController; 

firebase_screen (_sn) = Home View; 

firebase_realtime (_r) = 1; 

firebase_debug (_dbg) = 1; 

firebase_event_origin (_o) = auto;