我收到了一个请求,我们需要创建自定义的javascript变量来发送产品展示而不是增强的电子商务数据层。有人可以帮我理解如何通过指向正确的方向来实现这一目标吗?
TIA
答案 0 :(得分:1)
您的问题当然不清楚,但我会尝试给您一些选择。首先,如果它是您正在寻找的用例类型,因为产品展示数据不在dataLayer中而您只想从其他地方获取它们,则此解决方案在此Simo Ahava blog post中进行了描述。如果原因是您无法使用GTM标记发送产品展示次数,我建议您使用自定义Javascript或自定义HTML标记来实现您的脚本。该脚本将以任何方式获取您页面的产品数据,然后使用手册ga()命令,如here所述。但这是抓住了。如果您尝试在实现GTM的页面中发送此消息,则会出现错误:'命令被忽略。未知目标:未定义'。这是因为GTM使用它自己的跟踪器名称向GA发送数据。要在同一页面上与GTM一起实现自己的跟踪,您应该对代码进行一些更改或添加,以便能够获得正确的跟踪器名称。如何做到这一点并不容易,但this article
中描述了一种方式答案 1 :(得分:0)
为了扩展上面的答案,您的分析师只希望将产品数组保存到变量中,而不是推送到dataLayer推送。
例如:
而不是:
const express = require('express');
const router = express.Router();
const mm = require('../myModule');
router.get('/:id', function (req, res) {
var id = req.params.id;
var ret = mm.GetRecord(id)
console.log('ret', ret);
if (ret == null)
ret = JSON.stringify({ ID: -1, f1: 'unknown' });
res.send(ret);
});
module.exports = router;
他们想要:
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
}]
}
});
这意味着他们可以选择性地为每个事件触发不同的产品,而不是依赖于dataLayer推送本身。这对于产品展示跟踪非常有用。