安卓 - 使用Google标签管理器与Google Analytics和Firebase Analytics

16

我正在使用一个购物应用程序,并希望跟踪在我的移动应用程序上发生的事件。我的目标是使用Firebase Analytics和Google Tag Manager跟踪这些事件,并将相同的事件推送到Google Analytics。

我的事件 > Firebase > Google Tag Manager > Google Analytics

我按照以下指南将Google Tag Manager和Firebase Analytics集成到我的应用程序中。

https://developers.google.com/tag-manager/android/v5/

我能够在Firebase控制台上记录我的事件并在调试控制台中查看。我已经在我的gradle中添加了Tag Manager的依赖项,以便也发送事件到Tag Manager。

现在我想知道如何从Google Tag Manager推送这些事件到Google Analytics?有人可以为我提供有关在Tag Manager和Google Analytics上配置标签和触发器的见解吗?

我用于记录事件的Android代码如下:

 public void logEventClicked(View view){
    Toast.makeText(this, "Logging event", Toast.LENGTH_SHORT).show();
    Bundle bundle = new Bundle();
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "150");
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.ADD_TO_CART, bundle);
}
2个回答

13

嗯,我从@DavidMedenjak写的AndroidStuff博客中获取了所有这些信息,但无论如何,如果该链接已过期,我会发布一些摘录和图像,来源于他的blog....

如何将Google Tag Manager中的这些事件推送到Google Analytics?有人能够提供关于在Tag管理器和Google Analytics上配置标签和触发器的见解吗?

  • 在您的Tag管理器控制台中打开您的容器,并单击添加新标签,可以通过选择仪表板或标记菜单项来完成。要使用的产品是Google Analytics,在选择它后,您将被提示输入您的跟踪ID。选择右侧的按钮并选择创建一个新变量。最好将您的跟踪ID设置为常量值。

enter image description here

由于没有屏幕名称的屏幕视图并不太有意义,因此我们必须包括屏幕名称。选择“更多设置”-“要设置的字段”,然后添加一个新字段。screenName是与Google Analytics一起使用的值,我将解释下面使用的变量。我选择将我的标签命名为“屏幕跟踪”。您的设置应该类似于这样:

enter image description here

“{{Item Name}}”是另一个类似于之前创建的Tracking ID常量的变量。它利用了数据层,Firebase会在其中推送其事件。在我的情况下,我决定这样使用Firebase来跟踪我的主屏幕:
    Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "home");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, bundle);

这将发送一个包含屏幕名称的参数 item_name 的 view_item 事件到 Firebase。如果您想跟踪不同的事件和参数,您必须分别使用这些事件和参数名称。因此,为了使用上面显示的代码跟踪我的屏幕,我将使用键 view_item 和 item_name。
  • 我在标签管理器中创建一个新变量,命名为“项目名称”,并选择它应该具有 item_name 的值。通过这个,我可以访问参数值并将正确的屏幕名称发送到 Google Analytics。

enter image description here

将我的标签管理器帐户配置为将 Firebase 事件推送到 Google Analytics。
现在,完成我们的跟踪所剩的所有工作就是设置触发器。触发器定义标签何时触发。为了将您的 Firebase 事件跟踪到 Google Analytics 中,您应该选择每次发生特定事件时触发的触发器。
在这里,我使用事件名称作为预定义变量来触发此标签,每当新的 view_item 事件被推送到数据层时都会触发。

enter image description here

使用这个触发器,设置就完成了。每当发生view_item事件时,标签管理器就会触发此标签。它将从item_name中获取值,并将其作为屏幕视图发送到Google Analytics。

enter image description here

这就是了!现在你想要做的是发布你的容器,下载并添加到你的项目中。如果你有什么错误的地方,不用担心。你可以编辑并发布一个新版本——标签管理器会在24小时内更新自己。
注意:Google Analytics跟踪仍然可以在之后进行配置,而无需更改任何代码。
希望这能帮到你!

6

好的。一开始我很困惑。我会用更简单的方式回答我的问题。请参考第一个答案中的图像以获得更好的理解。

目标:将移动应用程序中的事件推送到Firebase和Google Analytics(GA)

在我的问题中,我问了如何使用tagmanager将事件从FA复制到GA。

我的事件 > Firebase > Google tag manager > Google analytics

我将其更改如下。因为这就是它的工作方式。唯一的事情是GTM和FA在内部连接,因此您只需要使用FA记录事件,并通过在Gradle(V5+)中添加依赖项即可由GTM捕获。

我的事件 > Firebase

我的事件 > Google tag manager > Google analytics

我将解释GTM中的一些基本术语来开始。

  • 事件参数 - 用于从应用程序发送的键值参数中提取数据的变量
  • 常量 - 类似于变量。值将与仪表板上定义的常量相同
  • 触发器 - 当从应用程序记录FA事件时,触发器用于触发标记
  • 标记 - 标记携带数据,并从GTM推送到GA,以便在GA上记录事件

逻辑很简单。我们需要创建一个触发器,该触发器将推送标记到GA。为了从GTM中携带数据,我们使用事件参数变量。

请按照以下链接学习如何记录FA事件。 https://firebase.google.com/docs/analytics/android/start/

请按照以下链接学习如何在Firebase中使用GTM。 https://developers.google.com/tag-manager/ios/v5/

假设我要记录以下事件。

bundle.putString("button_click", "Login button"); mFirebaseAnalytics.logEvent("user_interactions", bundle);

基本上,我们从应用程序发送3个数据项。

  • 事件参数 - button_click
  • 事件参数值 - 登录按钮
  • 事件名称 - user_interactions

现在,为了捕获上述数据并将其推送到GA,我们创建以下变量/标记/触发器。

按钮点击变量 - 创建类型为Firebase >事件参数的新变量。将值设置为自定义参数。值为“button_click”

按钮点击触发器 - 创建新的触发器,并将触发器设置为在事件=“user_interactions”时触发

按钮点击标签 - 创建一个通用分析(GA)作为标签类型的标签。因为我们将要将其推送到GA。在标签配置中,选择跟踪类型作为事件,并且现在您可以在此处设置类别/标签/操作/值等。请记住,类别和操作是必填项。单击操作字段旁边的图标,并选择button_click事件参数变量。这将传递与键= button_click匹配的值。将此标签设置为在上述触发器上触发。勾选“启用覆盖设置”选项,并在此处设置您的Google分析密钥。

现在保存您的配置并发布容器。下载并复制容器到应用程序并运行您的应用程序。

当您在应用程序中记录事件时,通常事件将在一两分钟内在GA控制台的实时选项卡中记录。如果您已正确配置,则在应用程序运行时,它将显示大于0的活动用户数。请注意,您不需要启用调试模式。但是,始终确保事件在Firebase控制台上记录是好的。


我尝试按照您在这里分享的做法去做了。我在Firebase的调试模式中看到了它已经更新。但是,在我的Google Analytics中,实时数据并没有接收到任何内容。我已经将最新的容器放在“TestTagManager\app\main\assets\containers”中。您是否需要安装任何Google Analytics SDK?我只安装了Firebase和Google Tag Manager SDK到我的虚拟应用程序中。 - Napmi
发现我使用错误的目录容器......谷歌将其放在app/main/assets/containers,但在我的应用程序中实际上是在app/src/main/assets/containers。 - Napmi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接