使用 GTM 增强电子商务但不使用页内数据层
Enhanced e-commerce using GTM but no in-page dataLayer
我正在做一个项目,我无法访问页面源代码,也不能要求客户的 IT 团队创建 in-page/onload dataLayer,例如在标签之前有 dataLayer。通过 dataLayer.push 远程实施增强型电子商务跟踪的想法是否可行?边走边建数据层?我对 dataLayer.push 知之甚少(我正在开始阅读)。问题是:
- dataLayer.push 是前进的正确方式吗?有没有人做过这个
前?
- 我可能会遇到什么问题,例如"add to cart" 事件,删除购物车或
类别页面有任何工作示例吗?我还没有看清楚
这里的工作流程。
- 除了基于 "style/css" 之外,这样做的缺点是什么
触发器可能会在未来的网站设计更新期间消失。
谢谢。
你的主要问题是你需要从某个地方获取数据。通常没有 dataLayer 这意味着 DOM 抓取数据,然后在自定义 javascript 函数中将抓取的数据组装到数据层中。缺点与基于 stle/css 的触发器相同:
- 实施与页面布局密切相关
- 数据可能丢失,或需要清理(如果与 html 或不相关的文本混合)
- 客户 CPU 时间
的成本可能很高
- 自定义 javascript 引入了新的故障点(即您能否进行足够严格的测试以保证没有副作用)
如果您针对客户的 IT 缺点采取变通办法,请记住您拥有这些缺点 - 如果变通办法失败、产生副作用或需要修改以适应新功能,您将对此负责。确保你对这种风险得到了很好的补偿(根据我现在的经验,我个人根本不会这样做)。
我认为在这里承认数据层只是存储此信息的一种方式很重要,使用它只是因为可以从页面向其推送数据。
如果您无法将代码写入站点本身,请不要将信息推送到数据层。只需在 GTM 的变量中为自己保留这些信息。你会省去很多头疼的事情,也省去了一些计算。
DOM 抓取是一种非常合理的获取信息的方式,但是您会 运行 遇到一些障碍。
- 您将不得不编写很多 JavaScript 来获取您需要的数据。
- 有些按钮可能由多个元素组成,您必须用触发器等覆盖这些元素。
- 对站点的任何更改都可能破坏您的代码。
- 并非所有内容都可供您使用,尤其是数据验证(在报告交易之前可能不再可能检查购买是否成功)。
我正在做一个项目,我无法访问页面源代码,也不能要求客户的 IT 团队创建 in-page/onload dataLayer,例如在标签之前有 dataLayer。通过 dataLayer.push 远程实施增强型电子商务跟踪的想法是否可行?边走边建数据层?我对 dataLayer.push 知之甚少(我正在开始阅读)。问题是:
- dataLayer.push 是前进的正确方式吗?有没有人做过这个 前?
- 我可能会遇到什么问题,例如"add to cart" 事件,删除购物车或 类别页面有任何工作示例吗?我还没有看清楚 这里的工作流程。
- 除了基于 "style/css" 之外,这样做的缺点是什么 触发器可能会在未来的网站设计更新期间消失。
谢谢。
你的主要问题是你需要从某个地方获取数据。通常没有 dataLayer 这意味着 DOM 抓取数据,然后在自定义 javascript 函数中将抓取的数据组装到数据层中。缺点与基于 stle/css 的触发器相同:
- 实施与页面布局密切相关
- 数据可能丢失,或需要清理(如果与 html 或不相关的文本混合)
- 客户 CPU 时间 的成本可能很高
- 自定义 javascript 引入了新的故障点(即您能否进行足够严格的测试以保证没有副作用)
如果您针对客户的 IT 缺点采取变通办法,请记住您拥有这些缺点 - 如果变通办法失败、产生副作用或需要修改以适应新功能,您将对此负责。确保你对这种风险得到了很好的补偿(根据我现在的经验,我个人根本不会这样做)。
我认为在这里承认数据层只是存储此信息的一种方式很重要,使用它只是因为可以从页面向其推送数据。
如果您无法将代码写入站点本身,请不要将信息推送到数据层。只需在 GTM 的变量中为自己保留这些信息。你会省去很多头疼的事情,也省去了一些计算。
DOM 抓取是一种非常合理的获取信息的方式,但是您会 运行 遇到一些障碍。
- 您将不得不编写很多 JavaScript 来获取您需要的数据。
- 有些按钮可能由多个元素组成,您必须用触发器等覆盖这些元素。
- 对站点的任何更改都可能破坏您的代码。
- 并非所有内容都可供您使用,尤其是数据验证(在报告交易之前可能不再可能检查购买是否成功)。