webmatch / wbm-tag-manager
Shopware的GTM集成和数据层配置
Requires
- composer/installers: ~1.0
This package is auto-updated.
Last update: 2024-09-16 19:10:47 UTC
README
此插件将一个新模块集成到Shopware后端,允许集成Google Tag Manager代码片段并配置dataLayer内容。
该插件提供以下功能
- 将GTM代码片段添加到每个页面的head标签前
- 为任何组合的模块/控制器/操作定义dataLayer的内容
- 传递给视图的所有变量都作为dataLayer属性值可用
- 使用smarty语法插入变量和更改值
要求
- Shopware >= 5.6.3
安装
将此存储库克隆到Shopware安装的custom/plugins
目录下的WbmTagManager
文件夹中。
- 通过Shopware后端的插件管理器安装插件。
- 输入所需GTM容器的容器ID(在GTM后端中找到)
- 激活插件,并根据提示允许清除列出的缓存。
- 重新加载后端以完成安装。
使用composer安装
- 切换到shopware的根安装
- 运行命令
composer require webmatch/wbm-tag-manager
,然后通过插件管理器安装和激活插件
用法
模块将通过设置菜单标签页下的新菜单点在后台中可用。
该插件预先配置为
- Google Analytics的增强型电子商务跟踪
- Google AdWords的动态再营销
使用类似于 "$sArticles as $sArticle" 的语法作为应包含迭代元素的属性值。
添加模块
模块本质上是为特定视图配置的数据层,意味着类型更多或更少的网站。
从3.0.0版本开始,新增了一个用于添加新模块、更新和删除现有模块的新UI。
添加新模块时,您需要输入模块名称(新标签页将读取的内容)和模块密钥。
密钥必须包含模块、控制器和操作的值,并用下划线连接。有关更详细的解释,请参阅Shopware文档。密钥还必须全部小写。
添加模块后,您将在主窗口中找到一个新标签页,在那里您可以声明特定视图的dataLayer属性。
附加Smarty函数
{dbquery}
从3.0.0版本开始,新增了一个用于编译dataLayers的Smarty函数{dbquery}
。此函数允许您从任何数据库表获取单个值。您可以将一个或多个标准传递给用于WHERE
和ORDER BY
语句的标准。
以下示例将在“添加到购物车”模块的dataLayer中运行,并获取新添加产品的价格。
{dbquery select='price' from='s_order_basket' where=['ordernumber =' => $smarty.request.sAdd, 'sessionID =' => $smarty.session.Shopware.sessionId] order=['id' => 'DESC']}
请注意仅使用单引号和数组参数。
请注意,此功能依赖于正确的语法,这意味着您必须传递一个带有列名和列的运算符,以及值必须存在。语法错误将被捕获,并导致返回一个空字符串。
{request_get}
如果请求参数在分发期间或通过简化后的URL(例如 /detail/index/sArticle/123
)设置,则使用 $smarty.request
将无法访问请求参数。通过使用 request_get
和 param
参数,您可以在数据层编译时获取任何可用的参数。
{request_get param='sDelete'}
{*|to_string}
修改器 to_string
将强制将值转换为字符串。默认行为是通过json解码尝试确定值的类型。如果数值仍应被视为字符串,请在变量或值之后使用修改器。如果您正在链式调用多个修改器,请确保始终将 to_string
用作最后一个修改器。
{123|to_string}
=>
"123"
跟踪URL参数
为了在整个用户旅程中跟踪URL参数(例如,用于活动),您可以在会话中设置临时保存的参数,以便在数据层配置中使用。在插件配置中,您可以定义一个以逗号分隔的GET参数列表(例如 utm_campaign
、gclid
等)。然后,可以通过读取会话来在数据层配置中使用这些参数:{$smarty.session.Shopware.wbmTagManager.nameOfTheParameter}