【问题标题】:How to migrate from GA v4 to GTM v5 (mobile)?如何从 GA v4 迁移到 GTM v5(移动)?
【发布时间】:2016-08-20 14:23:25
【问题描述】:

我发现如何将 GTMv4 用于 GA 和 GTMv5 用于 FA,但没有任何有关 v5+GA 的信息(对于 web 端的更多信息)。

是正确的替换(在每种情况下)?

案例一:

Bundle params = new Bundle();
params.putString("screenName", screenName);
params.putString("screenID", screenID);
df.logEvent("openScreen", params);

来自

getDefaultTracker().setScreenName(screenName);
getDefaultTracker().send(new HitBuilders.ScreenViewBuilder()
                         .setCustomDimension(3, screenID);

案例 2:

Bundle params = new Bundle();
params.putString("category", getCategory());
params.putString("action", getAction());
params.putString("label", getLable());
params.putInt("value", 0);
params.putString("name", "start");
df.logEvent("event", params);

来自

getDefaultTracker().send(new HitBuilders.EventBuilder()
            .setCategory(getCategory())
            .setAction(getAction())
            .setLabel(getLable()))
            .setValue(0)
            .setCustomDimension(2, "Start")
            .build());

那么,如何配置标签呢?在 v4->ga 的手册中,我们有变量类型“数据层变量”。GTMv5 的模拟是什么?

另外,我在哪里可以获得绑定数据的所有密钥? img 来自手册 v4,但我在 v5 中找不到类似信息

来自手册:

Event Name: The value is set to "eventNameXYZ" when the following code in your app is executed:

Android:
FirebaseAnalytics.getInstance(mContext).logEvent("eventNameXYZ", null);

但是如何设置值呢?我只能用“标题”创建“新变量”。或者需要设置名称相等键,例如“事件名称XYZ”?

第二个问题:

是否可以使用 GTM+Firebase 将数据保存在本地存储中?

更新

啊,为什么要分开单选按钮? + 自定义参数看起来像提示 :(

【问题讨论】:

    标签: android google-analytics migration google-tag-manager firebase-analytics


    【解决方案1】:

    如果您尝试从 Firebase 发送 Universal Analytics 匹配,则案例 1 和案例 2 看起来都是正确的,但您可能希望更具体地了解案例 2 中的事件名称。如果您是录制相当于建议的 Firebase Analytics events 之一,然后考虑将其用作事件名称,而不是更通用的名称事件。

    要设置 GA 代码以触发这些 logEvent 调用,您需要为正在使用的每个事件参数创建“事件参数”变量。例如,要捕获您在案例 1 中包含的屏幕名称,您将设置一个 EventParameter,如下所示:

    对于标签设置,您只需将 screenName 变量用作要设置的字段、事件变量或自定义维度中的值。对于屏幕视图,请务必提供屏幕名称,因为它是屏幕视图所必需的。

    要触发 Universal Analytics 代码,您需要为事件名称设置触发器。在第一种情况下,触发器设置如下所示: .

    为了回答您的第二个问题,您可以使用 Firebase user properties 将数据存储在本地存储中,将其报告给 firebase,并通过 Firebase 用户属性变量类型将其提供给 GTM。

    【讨论】:

    • 对不起,我的第二个问题不清楚。我想删除我的记录器(用于寻找错误)。那么,是否可以使用您的 dataLayer(logEvent) 将数据存储到文件(我的路径)?或者可能会建议使用其他机制(故障排除)。目前它看起来像: params.putString("bluetoothType", "standart"); params.putInt("尝试", 3); df.logEvent("连接", 参数); + Logger(TAG, "bluetoothType->"+ "标准" + "尝试" + 3)
    • Logger.debug(TAG, "bluetoothType->"+ "standart" + " (attempt " + 3+")")*
    • 所以您想通过使用 GTM 来代替您的日志记录?对于 Android,我建议坚持使用股票记录器。这样做可以很好地与工具集成,您甚至可以使用 proguard (stackoverflow.com/questions/13218772/…) 优化调试级别的日志记录。
    • 日志需要远程调试(来自用户)。我不能为这个目标使用 logcat :(
    • 所以您正试图消除将事件记录到 Firebase/GTM 和控制台记录的冗余?对我来说,这些似乎是单独的问题。分析事件是汇总报告的,因此调试用户问题并不简单。您可以编写一个小的外观类来进行这两个调用,并减少代码库中的混乱。
    猜你喜欢
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多