webmatch/tag-manager-sw6

此包已被弃用且不再维护。作者建议使用 https://store.shopware.com/detail/index/sArticle/7813615/number/wbm8772526137131 包代替。

Google Tag Manager + 加强版电子商务跟踪

安装次数: 26,769

依赖项: 0

推荐者: 0

安全: 0

星级: 12

关注者: 8

分支: 10

开放问题: 13

类型:shopware-platform-plugin

2.2.6 2024-04-18 05:52 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) }}。该函数允许您从任何数据库表中获取单个值。您可以传递一个或多个标准用于 WHEREORDER 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') }}