如何将自定义变量用于产品展示,而不是增强型电子商务数据层?



我收到一个请求,我们需要创建自定义 javascript 变量来发送产品展示而不是增强的电子商务数据层。有人可以帮助我了解如何通过指出正确的方向来实现这一目标吗?

蒂亚

你的问题当然不清楚,但我会尽量给你一些选择。首先,如果它是您正在寻找的用例类型,因为产品印象数据不在 dataLayer 中,而您只想从其他地方获取它们,则此 Simo Ahava 博客文章中描述了该解决方案。如果原因是您无法使用 GTM 标签来发送您的产品印象,我建议您使用自定义 Javascript 或自定义 HTML 标签来实现您的脚本。该脚本将以任何方式获取您网页的产品数据,然后使用手动 ga() 命令,如此处所述。 但这里有一个问题。如果您尝试在实现 GTM 的页面中发送此内容,您将收到错误:"命令已忽略。未知目标:未定义"。这是因为 GTM 使用自己的跟踪器名称将数据发送到 GA。要在同一页面上实现您自己的跟踪以及GTM,您应该对代码进行一些更改或添加,以便能够获得正确的跟踪器名称。如何做到这一点并不容易,但本文描述了一种方法

为了扩展上面的答案,您的分析师只希望将产品数组保存到变量中,而不是通过数据层推送。

例如:

而不是:

dataLayer.push({
'ecommerce': {
'currencyCode': 'EUR',                       // Local currency is optional.
'impressions': [
{
'name': 'Triblend Android T-Shirt',       // Name or ID is required.
'id': '12345',
'price': '15.25',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Gray',
'list': 'Search Results',
'position': 1
},
{
'name': 'Donut Friday Scented T-Shirt',
'id': '67890',
'price': '33.75',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Black',
'list': 'Search Results',
'position': 2
}]
}
});

他们想要:

var productArray =[{
'name': 'Triblend Android T-Shirt',       // Name or ID is required.
'id': '12345',
'price': '15.25',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Gray',
'list': 'Search Results',
'position': 1
},
{
'name': 'Donut Friday Scented T-Shirt',
'id': '67890',
'price': '33.75',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Black',
'list': 'Search Results',
'position': 2
}]

这意味着他们可以有选择地为每个事件触发不同的产品,而不是依赖于数据层推送本身。这对于产品展示跟踪很有用。

最新更新