如何衡量使用 URL 片段和 Tealium/GA 的单页网站?

How Do I Measure a Single Page Website That Uses URL Fragments with Tealium/GA?

我被要求捕获网站上的分析。该网站由 5 个网页组成,但我现在意识到域是相同的,唯一改变的是 URL 片段,即 www.domain.com#a,www.domain.com# b.通过 GA 的唯一信息是域,它不包括 URL 片段。我使用的跟踪代码是 Tealium,数据被发送回 Google Analytics。我该如何设置才能在 GA 中看到整个 URL,包括 URL 片段?

因此,从 Tealium 的角度来看,我们需要在加载新片段时触发视图事件(如果我理解正确的话)。

如果我们假设片段更改发生在 link 单击时,那么我们需要在 link 单击发生时触发视图事件。

从 GA 的角度来看,我们需要触发一个视图来捕获新信息。对于视图,这可能是位置、路径和标题。

因此,我们需要Tealium来构造新的数据点,然后将它们在视图事件中传递给GA。

在 Tealium 中执行此操作的最简单方法(所有条件都相同)是通过 jQuery onHandler Extension

jQuery 扩展需要以下信息:

  1. jQuery选择器(或选择器)要注意
  2. "Trigger On" 事件类型(在本例中为点击)
  3. 跟踪事件类型为运行(在本例中为查看事件)
  4. 要设置的变量和值 Tealium jQuery onHandler extension config
  5. 请注意,为您的 jQuery 扩展设置一个条件始终是个好主意,以便它们仅在需要时 运行 而不是无处不在

在这个扩展中,我设置了以下内容:

  1. jQuery Selector: '#MyID_1, #MyID_2, #MyID_3' - 是的,您可以传递选择器列表或几乎任何其他有效 jQuery 选择器语句
  2. 触发:'click'
  3. 跟踪事件:'view'
  4. 3个变量:

    一个。 'page_name' : $(this).text(); //获取 link 文本

    b。 'my_url' : utag.data['dom.url']+$(this).attr('href') //构建完整的 URL 包括片段 //utag.data['dom.url']是Tealium自动生成的variable/datapoint

    c。 my_path : utag.data['dom.pathname']+$(this).attr('href'); //构建路径 //utag.data['dom.pathname']是Tealium自动生成的variable/datapoint

注意:确保将每个这些的类型设置为 "JS Code",否则您的 JavaScript 将被引用为字符串。

为什么是这三个变量?据我了解 GA,这些是新页面视图所期望的值——location/URL、路径和标题,因此我们在扩展中构建这些值以在视图事件中将它们传递给 GA。

现在,我们只需要将这些新变量映射到 GA。

  1. my_path 被映射到 GA 映射工具箱中的 page
  2. page_name 被映射到 title
  3. location 不是映射工具箱中的默认选项,因此我们需要添加一个名为 location 的自定义目标变量并将 my_url 映射到它。 custom variable mapping for GA

这就是您在 Tealium 中以最少的编码实现的方式。如果出于某种原因您不想/不能在 Tealium 内部执行此操作,这为我们提供了一个非常好的模板,用于将自定义函数添加到我们的代码库中:

`$(document.body).on('click', '#altID', function(){
     utag.view({
         "page_name": $(this).text(),
         "my_url": utag.data['dom.url'] + $(this).attr('href'),
         "my_path": utag.data['dom.pathname'] + $(this).attr('href')
     })
})`

查看两者的实际效果 over here at CodePen