Android如何在Google Analytics中创建自定义维度

9

我希望在Android中使用Google Analytics设置用户级别的自定义变量。我发现缺乏相关文档和示例,想知道如何使用GA设置自定义变量,我正在参考以下链接。

https://support.google.com/analytics/answer/2709828#scope

但是它并没有什么帮助,其中给出的代码不是Java,并且非常混乱。如果有人有相关的正确示例,请分享。
而且,在使用Google Analytics时,完全不清楚这些更改需要多长时间才能在GA仪表板上反映出来,缺乏明确性。
此外,提供了一个代码示例。
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
t.setScreenName("Home Screen");

// Send the custom dimension value with a screen view.
// Note that the value only needs to be sent once.
t.send(new HitBuilders.ScreenViewBuilder()
    .setCustomDimension(1, "premiumUser")
    .build()
);

现在有人能解释一下上述调用中值1代表什么以及它来自哪里吗?为什么我需要调用setScreenName?

我还参考了下面的链接,但并没有给出清晰的想法。

https://support.google.com/analytics/answer/2709829?hl=en&ref_topic=2709827

我尝试创建自定义变量时发现已经有一个名为“人口统计学”的自定义变量,我猜这是GA默认创建的,所以我的自定义变量将从索引2或1开始,这也让我感到困惑。

2个回答

2
自定义维度和指标通过索引进行标识:从1到n。您创建的第一个自定义维度将具有索引1。在能够发送自定义维度和指标值到Analytics之前,它们必须先在Analytics UI或通过Management API在Analytics属性中进行定义。每个Analytics属性有20个可用于自定义维度的索引,以及另外20个可用于自定义指标的索引。
您使用的样本正在发送屏幕查看命中(因此它设置了屏幕名称)并将一个值发送到第一个自定义维度。但是,您可以在任何事件类型上发送信息。例如:
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
// Build and send an Event.
t.send(new HitBuilders.EventBuilder()
    .setCategory(getString(categoryId))
    .setAction(getString(actionId))
    .setLabel(getString(labelId))
    .setCustomDimension(1, "premiumUser") // Set the first custom dimension value to premiumUser for this event.
    .build());

当您使用 Analytics Reporting API 查询自定义维度的值时,您也可以通过索引标识 自定义维度,即 ga:dimension1

已经有一个自定义参数Demographic,所以我的自定义维度将是1或2。 - amodkanthe
调用customdimensions.list并确保。您创建的第一个自定义维度将是1/ga:dimension1,第二个将是2/ga:dimension2 - Matt
嗨Matt,我也想知道每次调用发送事件时是否需要设置setCustomDimension,还是只需要在开始时设置一次,然后任何事件都可以工作。 - amodkanthe
我认为这取决于自定义维度的范围。对于HIT级别的自定义维度,需要将其发送到每个要记录的事件中。对于SESSION级别的自定义维度,您只需在每个会话中发送一次即可。对于USER级别的自定义维度,只要使用user id,则只需向每个用户发送一次(或者如果该值发生更改)。但是,如果您将自定义维度用作伪用户ID,则需要在每个会话中至少发送一次。 - Matt
实际情况是,我有一个唯一的用户ID与每个用户相关联,并且我想将其与事件关联起来,仅当用户清除数据或重新安装应用程序时才更改唯一ID,那么在这种情况下,我可以将其与任何事件一起发送吗? - amodkanthe
我不知道清除数据和重新安装应用程序的确切模型(cid是否会重置?),您只需要在每个会话中发送一次用户作用域自定义维度,附加到任何事件。该模型是:一个用户可以有多个会话,一个会话可以有多个事件。所有事件都将与特定会话相关联,所有会话都将与特定用户相关联。像往常一样,永远不要将任何PII作为用户ID发送。 - Matt

0

除了在Android中注册

Bundle().apply {
  putString("Business", "NONE")
  putString("PageVertical", "NONE")
  FirebaseAnalytics.getInstance(context).setDefaultEventParameters(this)
}

不要忘记在Google Analytics UI注册

自定义参数:自定义参数可以用作Analytics报告中的维度或指标。您可以使用自定义维度来处理非数字事件参数数据,使用自定义指标来处理更好地表示为数字的任何参数数据。一旦使用SDK记录了自定义参数,请注册该维度或指标,以确保这些自定义参数出现在Analytics报告中。通过以下方式完成此操作:Analytics > 事件 > 管理自定义定义 > 创建自定义维度

阅读更多

Firebase Analytics UI


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