2017-08-28 124 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;