webmatch / tag-manager-sw6
Google Tag Manager + 加强版电子商务跟踪
Requires
- ext-json: *
- shopware/core: *
Conflicts
- shopware/administration: <6,>=7
- shopware/storefront: <6,>=7
This package is auto-updated.
Last update: 2024-04-18 06:00:32 UTC
README
此插件将不再维护。
请使用新插件 WbmTagManager
它完全支持 GA4,并提供了 Shopware 6.5 的版本。
此插件在 Shopware 后端集成了一个新模块,允许集成 Google Tag Manager 片段并配置 dataLayer 内容。
该插件提供以下功能:
- 将 GTM 片段添加到每个页面的 head 标签中
- 为任何路由定义 dataLayer 的内容
- 传递给视图的所有变量都可作为 dataLayer 属性的值使用
- 使用 Twig 语法插入变量并修改值
要求
- Shopware >= 6.0
安装
从 Shopware 商店下载并手动在 Shopware 后端安装。
通过 composer 的替代安装
composer require webmatch/tag-manager-sw6
安装后,使用以下命令在 Shopware 中安装和激活插件
bin/console plugin:refresh
bin/console plugin:install --activate WbmTagManagerEcomm
如果之前已安装,则以下命令用于更新
bin/console plugin:refresh
bin/console plugin:update WbmTagManagerEcomm
❗ 注意 ❗
由于要将包发布到 Packagist,版本 1.0.0 中的 composer 包名从 wbm/tag-manager
更改为 webmatch/tag-manager-sw6
。如果您使用了 <= 0.2.5 的版本,并且想要更新此插件,您也应该更新 composer.json。
使用方法
该模块将通过一个新的菜单点在后台中可用。
该插件预先配置为
- Google Analytics 的加强版电子商务跟踪
- Google AdWords 的动态重营销
使用类似于 item in lineItems
的语法作为应包含迭代元素的属性的值。
添加模块
模块基本上是针对特定视图的 dataLayer 的配置,意味着更多或更少的相同类型的网站。
添加新模块时,您需要输入一个名称(新标签页将读取的内容)和模块的路由。
路由必须等于要跟踪的控制器的操作的路径。
添加模块后,您将在主屏幕的“数据层”属性中找到新的选项卡。
额外的 Twig 函数/过滤器
dbquery
对于编译数据层,可用的 Twig 函数为 {{ dbquery(select, from, where, order) }}
。该函数允许您从任何数据库表中获取单个值。您可以传递一个或多个标准用于 WHERE
和 ORDER BY
语句。
以下示例将在“添加到购物车”模块的数据层中工作,并将获取新添加产品的产品编号。
{{ dbquery('product_number', 'product', {'id =': item.id|uuid2bytes}) }}
请注意仅使用单引号,并将参数作为 twig 哈希的形式传递,例如 {'id =': item.id|uuid2bytes}
。
此外,请注意此功能依赖于正确的语法,这意味着您必须传递一个运算符与列名以及列,同时列的值必须存在。语法错误将被捕获,并将返回空字符串。
uuid2bytes
Twig过滤器|uuid2bytes
将UUID字符串转换为二进制格式,用于在dbquery
函数等中使用。
{{ item.id|uuid2bytes }}
languageid
该函数返回当前语言的ID,以二进制格式表示。在获取翻译等操作时用于dbquery
函数。
{{ languageid }}
currencyiso
该函数返回店面货币的3字母ISO代码。
{{ currencyiso }}
cartaddprice
该函数在会话中设置一个标志,以便在AfterLineItemAddedEvent
中捕获价格,该价格将在将数据传递给前端之前注入到dataLayer中。主要用于addToBasket
事件。
{{ cartaddprice() }}
cartremoveprice
该函数返回产品从购物车中移除时的单价。
期望参数为产品ID,格式为非二进制。
可选地接受第二个布尔参数,当为true时,将返回移除前的产品数量。主要用于使用URL查询作为参数的removeFrombasket
事件。
{{ cartremoveprice(product_id) }}
{{ cartremoveprice(product_id, true) }}
getvariantdescription
该函数返回产品变体属性的连接字符串。如果产品不是变体,则返回空字符串。可以接受产品ID(非二进制格式)或现有的选项数组。
{{ getvariantdescription(item.id) }}
{{ getvariantdescription(lineItem.payload.options) }}
getparam
该函数返回可用的特定GET/POST/route参数。
{{ getparam('id') }}