taggrs / magento2-data-layer

本扩展从 Magento 2 收集电商数据并将其推送到 Google Tag Manager 数据层。

安装: 812

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 3

分支: 1

开放问题: 0

类型:magento2-module

v1.0.6 2024-08-08 14:27 UTC

This package is auto-updated.

Last update: 2024-09-08 14:43:33 UTC


README

本扩展从 Magento 2 收集电商数据并将其推送到 Google Tag Manager 数据层。

安装

将您的 Magento 商店设置为维护模式。

bin/magento maintenance:enable

通过 composer 安装扩展。

composer require taggrs/magento2-data-layer

启用模块并执行数据库升级。

bin/magento setup:upgrage

执行依赖注入编译。

bin/magento setup:di:compile

部署静态内容。

bin/magento setup:static-content:deploy

禁用维护模式。

bin/magento maintenance:disable

配置

此扩展的配置位于

商店 > 配置 > TAGGRS > 数据层

Google Tag Manager 设置

此标签页用于配置 GTM。

  1. Google Tag Manager 代码 输入您的 GTM-跟踪代码。
  2. Measurements API 密钥 输入您的 Google Measurements API 密钥。
  3. 增强跟踪脚本的子域 输入用于增强跟踪的子域。

事件

按事件设置以启用或禁用测量

事件

当前捕获的事件有

  • view_item_list
  • view_item
  • add_to_cart
  • remove_from_cart
  • view_cart
  • select_promotion
  • begin_checkout
  • purchase

view_item_list

此事件在目录分类页面和目录搜索结果页面触发。在这两种情况下,数据层在后台渲染。

由于完全页面缓存 (FPC),需要在将用户数据部分推送到数据层全局之前,通过 AJAX 获取它。

渲染目录分类数据层的块是 Taggrs\DataLayer\Block\Event\CategoryViewItemList

渲染目录搜索结果数据层的块是 Taggrs\DataLayer\Block\Event\SearchResultsViewItemList

view_item

此事件在目录产品页面触发。此数据层在后台渲染。

由于 FPC,需要在将用户数据部分推送到数据层全局之前,通过 AJAX 获取它。

渲染数据层的块是 Taggrs\DataLayer\Block\Event\ViewItem

add_to_cart

此事件在将产品添加到购物车时触发。由于在 Magento 2 中将产品添加到购物车是一个 AJAX 事件,因此需要通过 AJAX 事件渲染数据层。

数据层在以下前端控制器中渲染: Taggrs\DataLayer\Controller\AddToCart\Index

remove_from_cart

此事件在从购物车中移除产品时触发。这可以发生在迷你购物车或结账购物车页面上。

迷你购物车

由于在 Magento 2 中从购物车中移除产品是一个 AJAX 事件,因此需要通过 AJAX 渲染数据层。

由于无法检索有关从购物车中移除的产品信息,因此需要在前端准备好有关购物车的信息。

这些数据在 Taggrs\DataLayer\Controller\GetQuoteData\Index 中渲染。

数据层在 Taggrs/DataLayer/view/frontend/web/js/checkout-sidebar-mixin.js 中构建并推送到数据层全局。

结账购物车

由于从购物车中移除产品后会有重定向,因此需要在后台渲染数据层并将其存储在会话中以便在前端显示。

数据层是在 Taggrs\DataLayer\Plugin\RemoveFromCart 中构建的。它被注册为 Magento\Checkout\Controller\Cart\Delete::beforeExecute() 的插件。

然后它被存储在会话中,在重定向后从会话中检索并由 Taggrs\DataLayer\Block\SessionDataLayer 渲染。

view_cart

此事件在结账购物车页面触发。因为结账页面在FPC中不被缓存,所以不需要通过AJAX加载用户数据。

数据层在 Taggrs\DataLayer\Block\Event\ViewCart 中渲染。

如果打开头部迷你购物车,view_cart 也会通过AJAX触发。AJAX数据层在 Taggrs\DataLayer\Controller\ViewCart\Index 中渲染。

select_promotion

当客户应用折扣代码时触发此事件。这可以在结账购物车页面或结账支付页面进行。

结账购物车页面

因为应用优惠券后会有重定向,所以需要在后端渲染数据层并将其存储在会话中,以便在前端显示,就像结账购物车页面上 remove_from_cart 事件一样。

数据层是在 Taggrs\DataLayer\Plugin\SelectPromotion 中构建的。

结账支付页面

因为结账支付页面上的应用优惠券是一个AJAX事件,所以数据层也需要通过AJAX渲染。

数据层是在 Taggrs\DataLayer\Controller\SelectPromotion\Index 中构建的。

begin_checkout

此事件在结账索引页面上触发。此数据层在后端使用 Taggrs\DataLayer\Block\Event\BeginCheckout 渲染。

add_shipping_info

当已登录的客户选择他的收货地址或访客客户输入邮编时,此事件在结账索引页面上触发。

数据层在 Taggrs\Datalayer\Controller\AddShippingInfo\Index 中渲染。

add_payment_info

当客户选择支付方式时,此事件在结账索引页面上触发。

数据层在 Taggrs\Datalayer\Controller\AddPaymentInfo\Index 中渲染。

purchase

此事件在结账感谢页面上触发。因为某些情况下客户可能看不到结账感谢页面,所以还需要使用Google测量API从后端推送数据层。

结账感谢页面

此数据层使用 Taggrs\DataLayer\Block\Event\Purchase 在后端渲染。