Shopify 的传统 Google Analytics 跨域跟踪不传递数据

Posted

技术标签:

【中文标题】Shopify 的传统 Google Analytics 跨域跟踪不传递数据【英文标题】:Shopify's Traditional Google Analytics Cross Domain Tracking Not Passing Data 【发布时间】:2012-10-19 01:27:27 【问题描述】:

我的网站和 Shopify.com 店面之间的 Google Analytics(分析)传统跟踪存在问题。最终,我的分析帐户没有显示来自 Shopify.com 的任何电子商务、页面浏览量等。

我在我的网站和 Shopify.com 的网站之间进行了各种测试:

在两个站点上设置域名:".mysite.com"、"mysite.com"、"none" MYSITE 上的 SetDomainName:“.mysite.com”、“mysite.com”、“none”,与 SHOPIFY 上的 SetDomainName:“.mysite.com”、“mysite.com”、“none” 以及两者之间的每一个变化。

几周前我确实有一笔成功的交易记录在我的 GA 帐户中,但我无法再次复制它(使用您在下面看到的相同方法,使用相同的产品,使用 Chrome)。

Shopify.com 仍然使用旧的传统 Google Anlaytics 跟踪脚本,因此我将我的 mysite 上的 GA 脚本改回了以下繁体脚本:

<script type="text/javascript">
    var pageTracker = _gat._getTracker('UA-XXXXXX-X');
    pageTracker._setDomainName('.mysite.com');
    pageTracker._setAllowLinker(true);
    pageTracker._trackPageview();
</script>

以及来自 mysite.comis 的 内联代码,链接到 Shopify.com 商店页面(绕过购物车):

<a href="http://mysite.myshopify.com/cart/XXXXXXXXX:X" onclick="pageTracker._link('http://mysite.myshopify.com/cart/XXXXXXXXX:X'); return false;" >BUY NOW </a>

Shopify 的 GA 代码 呈现如下,我只能更新 UA ID# 和 ADD 自定义变量(正如您在下面使用 pageTracker 和 setDomainName 所做的那样)。我不能删除或修改除此之外的脚本。

<script type="text/javascript">
    var pageTracker = _gat._getTracker('UA-XXXXXX-X');
    pageTracker._addDevId('XXXXX');
    pageTracker._setAllowLinker(true);
    pageTracker._setDomainName('none');
    trypageTracker._setDomainName('.mysite.com');
    catch(e);pageTracker._trackPageview();
</script>

您可以从下面的 Shopify.com 收据页面代码中看到,我正在传递数据并且它正在注册 $、setDomainName 两次:一次使用 .mydomain.com,第二次使用“none”。但是--不幸的是,它没有在我的 GA 帐户中注册。

<script type="text/javascript">
var pageTracker = _gat._getTracker('UA-XXXXXX-X');
pageTracker._addDevId('XXXXX');
pageTracker._setAllowLinker(true);
pageTracker._setDomainName('none');
trypageTracker._setDomainName('.mysite.com');
catch(e);
pageTracker._trackPageview('/checkout/orders/show');

<script type="text/javascript">
pageTracker._addTrans("#1270", "MySiteName", "5.00", "0.00", "0.00", "City", "State", "United States");
pageTracker._addItem("#XXXX", "SYMXXX", "Product Name", "ProjectCategory", "5.00", "1");
pageTracker._trackTrans();

有什么想法吗?

我想知道 Shopify.com 上的第一个 setDomainName(我无法控制)是否否定了我添加的第二个。我将在不添加额外的“pageTracker._setDomainName('.mysite.com');”的情况下测试上面的内容在 Shopify 上,但我想我也会联系,因为我最近十几次测试没有产生我想要的结果。

提前感谢您的帮助!!!

【问题讨论】:

我想通了:在 mysite 上将域名设置为“mysite.com”。将 Shopify SetDomainName 保留为“无”。我被困在与“.mysite.com”一起使用 setDomainName 的测试中。这种方法在我今天 100% 的新测试中都有效。 【参考方案1】:

_setDomainName 只是告诉 Google Analytics cookie 将自己存储在哪里。听起来您正在尝试将域设置为 .mysite.com 来自像 mystore.shopify.com 这样的 shopify 域。出于安全原因,不能像这样跨域设置 Cookie。尝试在您的主站点上留下gat._setDomainName('.mysite.com'),在您的shopify 商店中留下gat._setDomainName('none')

【讨论】:

谢谢汤姆——你成功了。现在跟踪电子商务就好了。

以上是关于Shopify 的传统 Google Analytics 跨域跟踪不传递数据的主要内容,如果未能解决你的问题,请参考以下文章

Google Analytics(分析)报告中的归因模型

json 将Google自定义字体添加到settings_schema.json文件 - https://www.shopify.com/partners/blog/web-fonts-to-enh

应用脚本 Shopify GraphQL 请求 - 400 响应

Shopify:为什么总是禁用动态结帐按钮?

在 Shopify 产品页面上显示一种颜色选项

应用程序运行时间少于24小时,并且始终会引发错误