如何衡量使用 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 扩展需要以下信息:
- jQuery选择器(或选择器)要注意
- "Trigger On" 事件类型(在本例中为点击)
- 跟踪事件类型为运行(在本例中为查看事件)
- 要设置的变量和值
Tealium jQuery onHandler extension config
- 请注意,为您的 jQuery 扩展设置一个条件始终是个好主意,以便它们仅在需要时 运行 而不是无处不在
在这个扩展中,我设置了以下内容:
- jQuery Selector: '#MyID_1, #MyID_2, #MyID_3' - 是的,您可以传递选择器列表或几乎任何其他有效 jQuery 选择器语句
- 触发:'click'
- 跟踪事件:'view'
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。
my_path
被映射到 GA 映射工具箱中的 page
page_name
被映射到 title
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。
我被要求捕获网站上的分析。该网站由 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 扩展需要以下信息:
- jQuery选择器(或选择器)要注意
- "Trigger On" 事件类型(在本例中为点击)
- 跟踪事件类型为运行(在本例中为查看事件)
- 要设置的变量和值 Tealium jQuery onHandler extension config
- 请注意,为您的 jQuery 扩展设置一个条件始终是个好主意,以便它们仅在需要时 运行 而不是无处不在
在这个扩展中,我设置了以下内容:
- jQuery Selector: '#MyID_1, #MyID_2, #MyID_3' - 是的,您可以传递选择器列表或几乎任何其他有效 jQuery 选择器语句
- 触发:'click'
- 跟踪事件:'view'
3个变量:
一个。 'page_name' :
$(this).text();
//获取 link 文本b。 'my_url' :
utag.data['dom.url']+$(this).attr('href')
//构建完整的 URL 包括片段 //utag.data['dom.url']是Tealium自动生成的variable/datapointc。 my_path :
utag.data['dom.pathname']+$(this).attr('href');
//构建路径 //utag.data['dom.pathname']是Tealium自动生成的variable/datapoint
注意:确保将每个这些的类型设置为 "JS Code",否则您的 JavaScript 将被引用为字符串。
为什么是这三个变量?据我了解 GA,这些是新页面视图所期望的值——location/URL、路径和标题,因此我们在扩展中构建这些值以在视图事件中将它们传递给 GA。
现在,我们只需要将这些新变量映射到 GA。
my_path
被映射到 GA 映射工具箱中的page
page_name
被映射到title
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。