数据层

数据层是Matomo标签管理器的核心部分,因为它确保了最大的灵活性。

例如,您可能希望将电子商务订单中的值推入数据层,允许配置容器的人作为标记或触发器配置的一部分访问该值。它还允许您触发一个事件,该事件反过来可以触发某个标记。

通过这种方式,您可以将任何电子商务、CRM、营销套件等集成到标签管理器中。

设置变量

方法可以将一个或多个值同时推入数据层window._mtm.push方法:

窗口。_mtm= window._mtm || []; window._mtm.push({'orderTotal': 4545.45, 'orderCurrency': 'EUR'});

因为容器将异步加载,而变量_mtm可能一开始就没有定义,你可能要加一个窗口。_mtm= window._mtm || [];

在Matomo标签管理器中的配置

要在Matomo标签管理器中作为变量访问此值,请创建一个类型的新变量数据层并配置为数据层变量名称例如orderTotal.现在可以将此变量分配给任何触发器或标记。

触发事件

在容器内触发事件的工作原理类似于设置变量。只需指定一个名为事件作为参数的一部分:

窗口。_mtm= window._mtm || []; window._mtm.push({'event': 'purchase', 'orderTotal': 4545.45});

请记住,这不会向Matomo发送事件,而是允许您在Matomo标签管理器中创建一个基于该事件的响应的标签。

在Matomo标签管理器中的配置

要在Matomo标签管理器中创建监听此事件的触发器,请创建类型为新的触发器自定义事件并配置为事件名称的值购买.您现在可以将此触发器分配给标签,以确保每当此事件从您的网站或应用程序触发时,标签将被触发或阻止。

假设您创建了一个变量“Order Total”orderTotal数据层变量,你甚至可以沿着触发器配置一个条件,例如只在何时触发订单总数大于100

最佳实践

  • 变量名前加上公司或应用程序名。例如woocommerce.orderTotal避免与其他系统发生任何潜在的碰撞。如果你想在不同的电子商务系统中使用相同的容器逻辑,你可能想要使用更通用的前缀,比如ecommerce.orderTotal
  • 确保变量的大小写正确,因为数据层是区分大小写的。
  • 定义变量时,应始终将其括在引号中,否则可能出现JavaScript错误。而不是window._mtm.push({order-total: 100});使用window._mtm.push({'order-total': 100});

从谷歌标签管理器迁移

如果你在过去使用过谷歌的标签管理器,并在页面加载上指定了一个数据层,例如:dataLayer = {'orderTotal': 100}你会很高兴听到我们支持这一点,只要你在你的网站中尽可能早地配置了数据层变量。变量需要在容器加载之前定义。请注意,我们不支持任何重命名数据层变量。当您随后将更改推到GTM数据层时,Matomo数据层也不会更新。它只能获取初始数据层内容。

Baidu