gpt4 book ai didi

google-analytics - GA 不记录 "Sessions with Add to Basket"

转载 作者:行者123 更新时间:2023-12-03 15:47:50 41 4
gpt4 key购买 nike

总结

我们有一个 Magento 2 商店,我们在设置 Google Analytics 以正确跟踪电子商务时遇到了问题。

我们已经关注了 Magento docs用于设置 GA 和 GTM,但它没有在转化 > 电子商务 > 购物行为中收集正确数量的添加到购物车的 session

enter image description here

从上图中您可以看到它没有正确跟踪 session 。 27 个结帐 session ,但只有 1 个添加到购物车 session ,这不相加,用户必须先添加到购物车才能结帐。

此外,当我查看 Magento 上的订单数量时,我发现实际上有 29 个订单,其中 27 个来自不同的用户。所以它似乎也没有正确捕获订单数量。

调试/设置

我们关注了 Magento docs用于设置 GA 和 GTM,如下所示。如果您单击下面的图片,您应该会看到质量更好的图片。

我们在 GA 中设置了电子商务:
enter image description here

起初我发现在 GTM 预览模式下,使用 recommended Magento configuration 设置的 addToCart 标签没有开火。数据层事件似乎没有为 GTM 触发器触发。
enter image description here

所以我设置了一个新触发器,它在点击时触发并将其添加到: enter image description here enter image description here

我现在可以看到代码在 GTM 预览模式下触发:
enter image description here

而且我可以在 GA 实时事件报告中看到添加到购物车事件。
enter image description here

但它仍然没有在转化 > 电子商务 > 购物行为的添加到购物车的 session 中显示正确的数据。

问题

  1. 我可能遗漏了什么?
  2. 我应该在 GTM 标签设置中将非交互匹配设置为 false 吗?
  3. 我是否应该为 GTM 中的标签设置 use data layer 为 false,因为addToCart 自定义事件未触发?或者也许这仍然需要为了某事。
  4. 有关如何调试为什么 addToCart 自定义事件不可用的任何提示当 GTM 处于预览模式时在 Magento 上触发?
  5. 我注意到 session in Magento是 3.5 小时,而在 GA the Session timeout只有30分钟。也许是这样? 我们更改了 GA session 超时以匹配 Magento 的,但事实并非如此 :(

在此先感谢您,感谢您的帮助:)

最佳答案

根据@lossleader 对我的问题的评论,我能够确定并解决问题。我会在这里回答,以防其他人觉得它有帮助。

基本上正如@lossleader 在他的评论中所说的那样,主要的事情是:

The custom event should also have contained the e-commerce data for the use dataLayer tag.

所以用简单的点击事件触发 addToCart 标签是不够的,因为它不包含电子商务数据,我需要修复 enhance ecommerce addToCart 的方式事件在 Magento 上触发。

我发现 Magento Commerce 更改/修复了他们最终如何调用在最近的升级中触发此事件的函数,即 commit MAGETWO-69210 & commit MAGETWO-87437

我们的 Magento 确实收到了这些更改作为 list.phtml templatecatalog-add-to-cart.js file在它的主题中被覆盖。

按照以下差异显示更新主题文件解决了我们案例中的问题:

diff --git a/app/code/Namespace/CategoryPages/view/frontend/templates/product/list.phtml b/app/code/Namespace/CategoryPages/view/frontend/templates/product/list.phtml
index 6771e863..2ab8905c 100644
--- a/app/design/frontend/Namespace/theme/Magento_Catalog/templates/product/list.phtml
+++ b/app/design/frontend/Namespace/theme/Magento_Catalog/templates/product/list.phtml
@@ -91,7 +91,7 @@ $_helper = $this->helper('Magento\Catalog\Helper\Output');
<div class="actions-primary"<?php echo strpos($pos, $viewMode . '-primary') ? $position : ''; ?>>
<?php if ($_product->isSaleable()): ?>
<?php $postParams = $block->getAddToCartPostParams($_product); ?>
- <form data-role="tocart-form" action="<?php /* @escapeNotVerified */ echo $postParams['action']; ?>" method="post">
+ <form data-role="tocart-form" data-product-sku="<?= $block->escapeHtml($_product->getSku()) ?>" action="<?= /* @NoEscape */ $postParams['action'] ?>" method="post">
<input type="hidden" name="product" value="<?php /* @escapeNotVerified */ echo $postParams['data']['product']; ?>">
<input type="hidden" name="<?php /* @escapeNotVerified */ echo Action::PARAM_NAME_URL_ENCODED; ?>" value="<?php /* @escapeNotVerified */ echo $postParams['data'][Action::PARAM_NAME_URL_ENCODED]; ?>">
<?php echo $block->getBlockHtml('formkey')?>
diff --git a/app/design/frontend/Namespace/theme/Magento_Catalog/web/js/catalog-add-to-cart.js b/app/design/frontend/Namespace/theme/Magento_Catalog/web/js/catalog-add-to-cart.js
index fae6f0fa..34978ec4 100644
--- a/app/design/frontend/Namespace/theme/Magento_Catalog/web/js/catalog-add-to-cart.js
+++ b/app/design/frontend/Namespace/theme/Magento_Catalog/web/js/catalog-add-to-cart.js
@@ -6,8 +6,10 @@
define([
'jquery',
'mage/translate',
+ 'underscore',
+ 'Magento_Catalog/js/product/view/product-ids-resolver',
'jquery/ui'
-], function ($, $t) {
+], function ($, $t, _, idsResolver) {
'use strict';

$.widget('mage.catalogAddToCart', {
@@ -75,7 +77,9 @@ define([
* @param {String} form
*/
ajaxSubmit: function (form) {
- var self = this;
+ var self = this,
+ productIds = idsResolver(form),
+ formData = new FormData(form[0]);

$(self.options.minicartSelector).trigger('contentLoading');
self.disableAddToCartButton(form);
@@ -97,6 +101,13 @@ define([
success: function (res) {
var eventData, parameters;

+ $(document).trigger('ajax:addToCart', {
+ 'sku': form.data().productSku,
+ 'productIds': productIds,
+ 'form': form,
+ 'response': res
+ });
+
if (self.isLoaderEnabled()) {
$('body').trigger(self.options.processStop);
}

关于google-analytics - GA 不记录 "Sessions with Add to Basket",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57464998/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com