• GTM课程
  • 博客
  • 服务
  • 资源资源
    • YouTube频道
    • 电子书和指南
    • GTM食谱
    • 查看所有资源
    • GTM社区
  • 关于
    • 关于
    • 联系
  • GTM课程
  • 博客
  • 服务
  • 资源资源
    • YouTube频道
    • 电子书和指南
    • GTM食谱
    • 查看所有资源
    • GTM社区
  • 关于
    • 关于
    • 联系

2020年5月13日

如何使用Google跟踪代码管理器设置电子商务跟踪:完整指南

更新时间:2020年5月13日。 While 谷歌分析 offers a lot of tracking functionality out of the box (pageviews, sessions, traffic sources, etc.), the real magic begins after implementing custom features, like 事件s 要么 电子商务 tracking. Only then you’您将开始看到真正重要的内容,转化次数和/或收入。

通过跟踪重要的互动,您可以’ll be able to combine their data with the default GA functionality 和 see what really drives 销售s, which traffic sources are more effective than others, etc.

但是在分析所有这些之前,必须设置适当的跟踪。在本指南中,我’ll向您展示如何使用Google跟踪代码管理器实施Google Analytics(分析)标准电子商务跟踪。

 

目录

  • 先决条件
  • 什么是Google Analytics(分析)电子商务跟踪?
    • 哪种电子商务选项(通用航空中)最适合您?
  • 使用Google跟踪代码管理器进行电子商务跟踪:’s the plan?
  • #1在Google Analytics(分析)中启用电子商务报告
  • #2。数据层中的交易数据
    • #2.1。要记住的几件事
    • #2.2。 GA Ecommerce dataLayer.push代码在哪里放置?
    • #2.3。使用Google跟踪代码管理器测试GA Ecommerce dataLayer.push代码
  • #3。配置Google跟踪代码管理器以将电子商务数据发送到Google Analytics(分析)
    • 场景1。 dataLayer.push代码位于GTM容器代码之上
    • 场景2。 dataLayer.push代码在GTM容器代码下方
    • 场景3。 dataLayer.push代码包含“event”参数(适用于单页网站)
  • #4. 让’s test
  • 防止重复交易
  • 查看GA电子商务报告
  • 缺少一堆电子商务交易吗?
  • 奖励:如果“Thank you” page’URL不变吗?应该使用什么触发器?
  • 使用Google跟踪代码管理器进行电子商务跟踪:结束语

 

 

先决条件

通过编写有关使用Google跟踪代码管理器(GTM)进行电子商务跟踪的指南,我假设您已经熟悉GTM是什么以及它的用途。如果您从未听说过或从未使用过它,请先阅读以下指南:

  • 开始使用Google跟踪代码管理器的13个理由
  • GTM与Google Analytics(分析)。什么’s the difference?
  • 学习Google跟踪代码管理器的最佳方法
  • 如何安装Google跟踪代码管理器?
  • 如何获得Google跟踪代码管理器帮助?

另外,我想您已经了解一些Google Analytics(分析)基础知识,并且熟悉其界面。

 

什么是Google Analytics(分析)电子商务跟踪?

By doing some additional configuration, you can start tracking 销售s with 谷歌分析. All thanks to Ecommerce tracking features.

通过实施它们,您将能够衡量交易数量,网站产生的收入等。

电子商务报告

Once a user completes a 采购 (and is redirected to the 订单确认页) this moment can be captured by 谷歌分析. By sending transaction data to GA (like 合计订单 要么 采购d products)你’ll unlock new reporting possibilities 和 will start seeing how your marketing efforts are actually impacting online 销售s.

有 两种主要类型 of 谷歌分析 电子商务 implementation methods:

  • 标准电子商务报告 in 谷歌分析 allow you to analyze 采购 activity on your site 要么 app. You can see product 和 transaction information, average 要么 der value, 电子商务 conversion rate, time to 采购, 和 other data.
  • 增强型电子商务 adds functionality to your 谷歌分析 reports. Enhanced 电子商务 shows when customers added items to their shopping carts, when they started the checkout process, 和 when they completed a 采购. You can also use enhanced 电子商务 to identify segments of customers who fall out of the shopping funnel.

 

 

哪种电子商务报告选项最适合您?

如果你 want to see only 销售s data 和 how well each product performs, which traffic sources generate 销售s, then choose Standard Ecommerce functionality.

如果你 want to see not only 采购s but visitor’的旅程(与 添加到购物车活动, 结帐步骤, 等),则应选择“增强型电子商务”。

但是,实施增强型电子商务功能要困难得多,此外,它需要更多的开发人员’是时候让事情顺利进行了。因此,你’d需要权衡您的选择。使用EE,您’会获得更多见解,但是’正确实施的成本要高得多。

本指南将仅说明如何实施 标准电子商务报告。在我的文章中,我解释了一个非常详尽的分步过程,并提供了实用且可行的示例 中级Google跟踪代码管理器课程(+高级主题).

 

使用Google跟踪代码管理器进行电子商务跟踪:’s the Plan?

尽管通常将Google跟踪代码管理器推广为使营销人员/网络分析师无需开发人员即可控制网络跟踪的工具’的输入,这次您’我很可能需要得到他/她的帮助。与增强型电子商务跟踪相比,标准电子商务只需要少量的开发人员’是时候成功实施销售跟踪了。

这里’s the plan that you’需要遵循本指南:

  1. 首先你’需要在Google Analytics(分析)中启用电子商务报告
  2. 然后你’我需要请开发者将交易数据推送到数据层(或尽可能使用插件)
  3. 将电子商务交易数据发送到Google Analytics(分析)(通过Google跟踪代码管理器)
  4. 测试一切是否正常

Ready to implement Ecommerce tracking with Google Tag Manager? 让’s roll!

 

#1在Google Analytics(分析)中启用电子商务报告

登录到您的Google Analytics(分析)帐户,然后转到“管理”部分。您可以通过点击左下角的齿轮图标来实现:

启用电子商务报告1

…and then choose 电子商务设置在视图级别。然后单击切换按钮以启用电子商务功能。禁用增强型电子商务功能(因为它’超出了本指南的范围)。

 

启用电子商务报告2

那’是的!简单。借助Google跟踪代码管理器进行电子商务跟踪的后续步骤胜出’就是那个简单的ðŸ™,

 

#2。数据层中的交易数据

如果你’还不熟悉, 资料层 是Google跟踪代码管理器的关键组件之一,其中可以包含有用的信息,这些信息以后会在GTM代码,触发器和变量中使用。如果你’不熟悉(或想了解更多), 阅读本指南.

为了使Google跟踪代码管理器能够进行GA Ecommerce跟踪,首先,我们需要将交易数据推送到数据层。然后我们’ll指示GTM读取该数据并将其传输到Google Analytics(分析)。它总是这样工作:

  • A developer (or a plugin) adds the transaction data to the 资料层 (after a 采购 is successfully completed)
  • GTM is taught to recognize the successful 采购
  • GTM(借助Universal Analytics代码)将数据从数据层传输到Google Analytics(分析)

这里’s需要添加到数据层的代码(I’ll也将此代码称为 GA EcommercedataLayer.push代码 ):

<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
 'transactionId': '1234',
 'transactionAffiliation': 'Acme Clothing',
 'transactionTotal': 38.26, 
 'transactionTax': 1.29,
 'transactionShipping': 5,
 'transactionProducts': [{
   'sku': 'DD44',
   'name': 'T-Shirt',
   'category': 'Apparel',
   'price': 11.99,  
   'quantity': 1 
 },{
   'sku': 'AA1243544',
   'name': 'Socks',
   'category': 'Apparel',
   'price': 9.99,
   'quantity': 2
 }]
});
</script>

并非每个参数都是必需的。实际上,大多数都是可选的。但是您传递的数据越多,您就越’请参阅电子商务报告。

说到交易参数, transactionId  和  transactionTotal are required. If with every 销售 you also pass transactionProducts,则上述dataLayer.push JavaScript代码段还必须包含 名称,SKU,价格,数量.

如果要查看支持的参数的完整列表,请转到 官方Google’s documentation 并扩大 标准电子商务  部分。

 

#2.1。注意的几件事

在复制该代码并将其发送给开发人员之前,您还需要了解几件事:

  1. 盲目复制上述代码并将其粘贴到“Thank you” page won’工作。开发人员必须用实际有意义的数据替换每个参数的值。如果订单总额为30美元,则 transactionTotal该代码中的代码必须为30.00。因此,换句话说,所有参数的值都必须由开发人员编写的函数动态替换。
  2. 这些参数的名称和代码的整个结构必须与上述代码和Google中显示的名称相同’的文档。您可以随意跳过可选参数,但不能重命名 transactionTotal 变成其他东西 合计订单。代码中不支持自定义参数,因此开发人员必须遵循该Ecommerce Transaction JS代码中使用的确切命名约定。
  3. 如果你 are using a popular Ecommerce platform, like WooCommerce, then there is a high chance that a ready-made plugin exists which can send the GA Ecommerce transaction data to the 资料层 (in a proper format) after a successful 采购. 在 WooCommerce’在这种情况下,这种插件称为 GTM4WP。您可以通过转到插件启用标准电子商务跟踪’s settings > 在 tegration >Woocommerce和单击以跟踪经典电子商务。GTM4WP中的经典电子商务

 

#2.2。 GA电子商务dataLayer.push代码放在哪里?

在 要么 der to know where that dataLayer.push 码 must be added, first you need to think more about what happens after a successful 采购?

  • 客户端是否重定向到“Thank you” page?
  • 还是页面保持原样,只有一个“Success”消息显示在屏幕上(但该页面的URL保持不变)?

如果客户端被重定向到“Thank you” page, then that GA Ecommerce dataLayer.push代码 必须放置 在GTM容器上方 码 。它’将其放在上方非常重要。为什么?因为这样,电子商务交易数据在开始加载时便已经可用于Google跟踪代码管理器。

数据越早推送到数据层,您就越早’就能将这些数据发送到Google Analytics(分析)。

您是否注意到每次加载页面时, GTM预览和调试模式 is enabled, there are 3 事件s displayed there: 页面预览 , DOM准备就绪 和 视窗已载入?如果开发人员将GA Ecommerce dataLayer.push代码放在GTM容器上方,那么您就可以将交易数据与 页面预览 事件. And that 页面预览 事件 is the earliest moment when you can fire tags.

Google跟踪代码管理器电子书包

如果由于某种原因,开发人员将Ecommerce dataLayer.push代码放在GTM容器下面,那么最早可以将Ecommerce数据发送到GA的那一刻就是DOM Ready触发器。

如果成功完成购买后页面未重新加载,则开发人员可以在需要时放置代码,但需要进行其他修改。开发人员必须添加一个名为“event”(它的值可以是您想要的任何值,例如“purchase”, “sale”, “ecommerce”或其他对您有意义的内容)。

这里’s what a final dataLayer.push 代码看起来像是在添加了额外的代码行之后(请参见第4行):

<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
 'event': 'purchase',
 'transactionId': '1234',
 'transactionAffiliation': 'Acme Clothing',
 'transactionTotal': 38.26,
 'transactionTax': 1.29,
 'transactionShipping': 5,
 'transactionProducts': [{
   'sku': 'DD44',
   'name': 'T-Shirt',
   'category': 'Apparel',
   'price': 11.99,
   'quantity': 1
 },{
   'sku': 'AA1243544',
   'name': 'Socks',
   'category': 'Apparel',
   'price': 9.99,
   'quantity': 2
 }]
});
</script>

如果说’就您当前的项目而言,’我需要在GTM中创建一个自定义触发器来捕获此交互。一世’稍后再解释。

让’看一下操作,开发人员实施Google Analytics(分析)电子商务时会发生什么 dataLayer.push 网站上的代码(或为此目的安装插件)。

 

#2.3。使用Google跟踪代码管理器测试GA Ecommerce dataLayer.push代码

一旦开发人员通知您现在已实现了交易dataLayer.push代码,它将’是时候进行测试了。您应该做的是:

  • 启用预览和调试模式
  • Go to the website/online store where you want to track transactions 和 complete a 采购
  • Complete the 采购

场景1。将Ecommerce dataLayer.push代码添加到GTM容器上方(在“Thank you” page)。由于此dataLayer.push没有“event”参数,它将按原样显示“Message”(请参见下面的屏幕截图)。这样的推(“Message”)不能用作GTM(触发条件,然后激活标签)中的触发器,因此我们可以将交易数据发送到Google Analytics(分析)的最早时间是 页面预览 事件.

But since our 谷歌分析 Ecommerce dataLayer.push is already initiated before the entire GTM did, its data is already in the 资料层, therefore, we can continue using that transaction data in all the subsequent 事件s, including  页面预览 .

使用Google跟踪代码管理器进行GA电子商务跟踪-容器上方的数据层代码

 

场景2。电子商务dataLayer.push代码已添加到GTM容器下方(位于“Thank you” page)由于此dataLayer.push也没有“event”参数,它也显示为“Message”(请参见下面的屏幕截图)。但是,这次dataLayer.push稍后完成了(因为它被放置在GTM容器下面),因此, 页面浏览量 事件 we cannot reach the data stored in the “Message”.

Only all the subsequent 事件s ( DOM准备就绪 , 视窗已载入) can access the transaction data. 那’s为什么在这种情况下您和我将使用 DOM准备就绪 Â事件作为触发器。

容器下方的数据层代码

 

场景3。电子商务dataLayer.push代码在未重新加载的页面上被激活 (又名“event”参数添加到.push代码中)。在这种情况下,开发人员添加了一个附加参数“event” of which value is “purchase”.

为了将此时刻用作代码触发条件,您需要创建一个 Custom 事件 Trigger.

未重新加载页面中的数据层代码

现在,让’我们仔细研究了哪些数据被推送到了数据层。点击“Message” 要么 “Purchase”在“预览和调试”模式下(取决于项目/网站),然后转到“数据层”选项卡。

您应该看到类似这样的内容(请注意,我的屏幕截图包含一些假冒产品或交易数据):

GA电子商务数据层推送

因此,上面的屏幕截图显示了开发人员推送到数据层的内容。仔细检查是否:

  • 包括所有需要的参数
  • 它们的值与实际交易信息匹配
  • 参数名称与Google中显示的参数匹配’的官方文档(或您当前正在阅读的此博客文章)。

如果你回答“No”对于至少一个问题,请与开发人员讨论该问题并尝试尽快解决。如果一切正常,请继续执行下一步。

 

 

#3。配置Google跟踪代码管理器以将电子商务数据发送到Google Analytics

在本章中,您’必须完成以下步骤:

  • Create a 谷歌分析 Transaction tag which will send the 采购 data over to Google’s servers
  • 创建一个触发器,该触发器将触发该交易代码(p.s.触发器’的配置取决于dataLayer.push如何实现的场景)

让’从简单的部分(标签)开始。在您的Google跟踪代码管理器容器中,转到 标签> New 并选择Universal Analytics代码模板。在 标签配置,输入以下设置:

Google跟踪代码管理器中的Google Analytics(分析)电子商务交易代码

如果你不这样做’不知道要在Google Analytics(分析)设置字段中选择什么,请阅读有关 谷歌分析(分析)设置变量。保存不带触发器的标签(暂时)。我们’待会再回到这里。

Now, the triggers. 让’请记住上一章中的三种情况。

  • 场景1。电子商务dataLayer.push代码已添加 以上 GTM容器(在“Thank you” page)
  • 场景2。电子商务dataLayer.push代码已添加  下面 GTM容器(在“Thank you” page)
  • 场景3。电子商务dataLayer.push代码已激活 一个页面 没有重新加载 (after a successful 采购)

根据您的项目’s/website’s specifics you’ll have to choose 一 这些场景并分别创建触发器。

 

场景1。在GTM容器上方添加了Ecommerce dataLayer.push代码

在这种情况下,我们知道在将交易数据推送到数据层之前, 页面预览 事件 occurs, therefore we can choose the 页面浏览量 输入触发器。

那’s为什么你应该去  扳机 (在您的GTM容器中),然后点击新建,然后选择  页面预览 触发类型

但是我们不’希望此触发器在所有页面上触发,仅在某些页面上触发。让’看一下订单确认页面’URL(网址)。与其他页面相比,它在任何方面都独一无二吗?

通过说“unique” I mean “is it possible to distinguish (from the page URL) that the 采购 was successfully completed?”一个很好的例子是 www.example.com/订单/购买成功.

如果是,那我们’将在触发器中使用该页面URL的一部分。这种技术称为 “Thank you” page tracking。所以让’想象一下我们的地址“Thank you” page is this:  www.example.com/订单/购买成功/ 23749372。最后一位是订单ID。 /订单/购买成功/ 很好地表明订单确实已成功完成。

让’在我们的触发器中输入它。我选择了  页面网址   变量   但是   页面路径 本来也可以。

 页面预览  trigger - 采购 successful

 

场景2。在GTM容器下方添加了Ecommerce dataLayer.push代码

如果开发人员无法添加 dataLayer.push 代码在GTM容器上方,则应创建一个DOM Ready触发器。其条件与上一个触发器相同,但触发器类型应为  DOM准备就绪 .

 页面预览  trigger -  DOM准备就绪  - 采购 successful

 

场景3。电子商务dataLayer.push代码在未重新加载的页面上被激活(dataLayer.push包含一个“Event” Parameter)

实际上,“event” parameter can also be used in the #1 和 #2 scenarios as well. But I want to emphasize that it is a must if the page does not reload after the 采购 is complete (therefore 页面浏览量  和   DOM准备就绪 事件 are not very useful).

让’在这种情况下,请快速提醒一下预览和调试模式下发生的情况:

未重新加载页面中的数据层代码

自从“event” parameter’s value is “purchase”,其名称显示在GTM P的左侧&D模式,由于它,我们可以使用此dataLayer.push作为触发器。我们做什么’我需要做的是创建一个 Custom 事件 trigger.

在GTM容器中,转到触发器> New > Custom 事件.

Custom Trigger - 采购

确保在“Event name” field you enter 采购 精确地(此字段区分大小写)。我们刚刚做的就是指示Google跟踪代码管理器捕获所有“purchase” 事件s in the 资料层 和 turn them into a trigger.

换句话说, 采购 is made ★★★  采购 事件 is pushed into the 资料层 → GTM catches that 事件 和 uses it as a Custom 事件 trigger → the trigger fires a tag which sends the data to 谷歌分析.

下一步是将触发器(您刚刚创建的)分配给Universal Analytics Transaction标签。只是要确保在阅读本指南后,您只需创建一个触发触发器,而不是三个。我只是根据几种特定情况解释了3种可能的选择。

 

 

#4. 让’使用Google跟踪代码管理器测试我们的电子商务跟踪

We’快到了。现在它’s time for testing. Save all the changes in the container (to the Universal Analytics tag 和 the trigger, refresh Preview 和 Debug mode, 和 complete a 采购. 在 my case, a client is redirected to a “Thank you”页面,并将dataLayer.push添加到GTM容器上方。

这里’s what I see:

Google跟踪代码管理器中的电子商务代码-预览和调试模式

GA交易代码会按预期触发,并将数据发送到Google Analytics(分析)。但是,如何确定数据确实已正确发送到GA?让’s use 标签助手 和 GA调试器 扩展名。如果你没有’尚未将其安装在浏览器中。附言我强烈建议在使用Google跟踪代码管理器时使用Chrome浏览器,因为 一大堆其他有用的GTM扩展.

一旦安装了Tag Assistant,蓝色图标将出现在右上角。在网站上点击它(您’(正在处理),然后单击“启用”。

启用Google 标签助手

刷新页面。现在,Tag Assistant(TA)开始监视’s happening on the page. Complete the 采购 once again 和 take a closer look at the TA icon, a number should appear there. 请点击 the icon once again to see the list of Google’您网站上安装的s产品(GTM,GA,Optimize等)。

标签助手

请点击 谷歌分析Â了解更多信息。在下面的屏幕截图中,有一个 浏览量请求 (因为我触发了Pageview标签)和一些神秘的 其他要求.

标签助理-GA详细信息

让’s click that 其他要求。答对了!这里’的交易已发送到Google Analytics(分析)。绿色圆圈表示一切均已正确发送。黄色或红色将意味着’s not right.

标签助手-交易
如果您想了解有关Tag Assistant以及如何正确使用它的更多信息, 阅读本指南.

让’s做额外的测试。这次是另一个扩展名为 GA调试器。安装它并单击其图标,以便徽章“ON” appears.

GA调试器图标

然后启用浏览器’s开发者控制台(此处’s a 快速教程该怎么做), refresh the page, 和 complete the 采购 once again. You will start seeing some unusually looking information appearing in the console. GA调试器 is checking the website 和 printing all the GA-related information to the console (so that you can check whether everything is working properly).

首先,继续寻找 hitType:交易. This is the 采购 that was sent over to 谷歌分析. ec:id,ec:收入 和 ec:tax  是一起传送的数据点。

电子商务在GA调试器中大受欢迎

向下滚动并继续查找包含产品信息的另一块数据(如果开发人员已将产品数据推送到数据层)。

电子商务在GA Debugger2中大受欢迎

继续浏览控制台,查看是否显示任何错误。如果是,请修复它们,并咨询开发人员或使用其他方法来找到解决方案。

如果没有发现问题,恭喜!如果您刚刚使用Google跟踪代码管理器实施了Google Analytics(分析)电子商务跟踪。

但是,还有另一件事可以通过Google跟踪代码管理器提高您的电子商务跟踪质量。继续下一章。

 

防止重复交易

您是否注意到如果客户降落在“Thank you”页面并在一段时间后刷新? GA交易代码很可能会再次触发。这是什么意思?电子商务报告中的订单重复和编号过高。

如何预防?主要有两种选择:

  • 您要求开发人员仅将dataLayer.push代码触发一次。如果页面被重新加载,那应该’再做一次。此解决方案是最可靠的。
  • 如果上一个选项不是’Simo Ahava不可能 已发布解决方案 将订单ID存储在cookie中。而当“Thank you”页面重新加载后,GTM会检查Cookie。如果Cookie已经包含当前订单的ID“Thank you”页面上,交易代码被阻止。

对于此解决方案,您’需要做6件事:

  1. 创建一个读取交易ID的数据层变量(我们已经在数据层中有了此类数据,’我只需要达到它)
  2. 创建一个第一方Cookie变量,该变量存储访问者/客户已完成的所有交易ID的列表
  3. 创建自定义JavaScript变量,该变量将检查当前订单的交易ID是否已存储在第一方Cookie中
  4. 创建一个自定义JavaScript变量,该变量将事务ID存储在cookie中
  5. 更新您的Universal Analytics交易代码,并将变量#4添加到“ hitCallback
  6. 更新您的触发器以触发Universal Analytics交易代码。从现在开始,仅当第三个变量(在此列表中)不等于  真正 。这意味着当前订单的交易ID已经存储在Cookie中,您的交易代码不会再次触发,因此您’ll避免重复交易。

 

#1创建数据层变量“Transaction ID”

在您的GTM容器中,转到变量> New >数据层变量,然后输入 transactionId

 

#2。创建数据层变量“Transaction ID”

在您的GTM容器中,转到变量> New >第一方Cookie并输入以下设置:

 

#3。创建一个自定义JavaScript变量,以检查事务ID是否已存储在cookie中

转到变量> New >自定义JavaScript并粘贴以下代码:

function() {
return /(,|^){{dlv - 交易编号}}/.test({{Cookie - User Transactions}});
}

与Simo相比,代码有些不同’的代码,因为我使用了不同的变量名。

 

#4。创建一个自定义JavaScript变量,该变量将事务ID存储在cookie中

使用以下代码再创建一个自定义JavaScript变量:

function() {
  return function() {
   var d, expires;
   var cvalue = '';
   // Run the  码  only if a transaction is found in the data layer
   if ({{dlv - 交易编号}}) {
     d = new Date();
     d.setTime(d.getTime() + (2*365*24*60*60*1000));
      expires = 'expires='+d.toUTCString();
      // If the  曲奇饼  already exists, append not overwrite
      if ({{Cookie - User Transactions}}) {
        cvalue = {{Cookie - User Transactions}} + ',';
      } 
      document.cookie = 'user_transaction_ids=' + 
        cvalue + {{dlv - 交易编号}} + '; ' + expires + '; path=/';
    }
  };
}

将此变量命名为 CJS– set 交易编号 in a 曲奇饼

 

#5。使用hitCallback更新Universal Analytics交易代码

在您的GA交易代码中,点击复选框 在此标签中启用替代设置,然后点击 更多设置> Fields to Set 然后输入 hitCallback (区分大小写)及其  值 字段插入在JavaScript中存储交易ID的自定义JavaScript变量。

hitCallback 是在成功触发Universal Analytics代码并将数据发送到Google Analytics(分析)后激活的功能。当所有这些成功发生后,  hitCallback 功能可以调用插入其变量中的变量  值 在我们的例子中,该变量是Custom JavaScript,它将交易ID存储在cookie中。

简而言之:

  1. GA Transaction Tag is successfully activated 和 sends the 采购 data to 谷歌分析
  2. hitCallback 激活并调用我们的Custom JS变量
  3. 那 变量 stores the value in a 曲奇饼 that will be used as an additional condition in our 采购 trigger. Continue reading 和 I’ll explain this.

 

#6。更新交易触发器

打开要用于GA交易代码的触发器,然后添加以下条件: CJS– 交易编号 is in a 曲奇饼 不等于  真正 . This means that if the 交易编号 (or the current 采购) is already in a 曲奇饼 , the transaction trigger will not be activated, thus you’ll防止重复交易。

那’是的!现在测试时间到了。完成一个订单==>交易代码应正常启动。然后刷新“谢谢”页面,并检查交易代码是否再次触发。这次不应该’t.

使用可以达到相同的结果 customTask 太。西莫·阿哈瓦(Simo Ahava) 发布了另一本指南 您也可以检查。

 

 

 

检查GA电子商务报告

一段时间后,您的销售数据将进入Google Analytics(分析)电子商务报告。在您的Google Analytics(分析)帐户中,转到转化> Ecommerce > Overview. Don’如果他们还是空的,请惊慌。处理数据并出现在这些报告中需要一些时间。请耐心等待。通常情况下,该信息会在几个小时内出现(通常甚至更快)。但是,如果需要更长的时间,请耐心等待24小时。

电子商务报告2

如果需要更长的时间,请开始更深入地挖掘以发现什么’导致此问题。

 

缺少一堆电子商务交易吗?

Once you have successfully implemented 谷歌分析 Ecommerce tracking via Google Tag Manager, you will need to keep monitoring your reports 和 compare them with the actual 销售s you’re getting.

您可能会丢失一部分交易。如果您遇到这种情况, 阅读此博客文章。它 can be applied to any analytics platform you’re using to track 销售s.

扰流板 :您可能永远都无法达到100%的准确性,但您绝对应该尝试尽可能地提高。

 

使用Google跟踪代码管理器进行Google Analytics(分析)电子商务跟踪:总结

因此,您已经拥有了:使用Google跟踪代码管理器进行电子商务跟踪的指南。以下是您需要记住的关键要点:

  • 开发人员或第三方插件必须将交易数据推送到数据层(借助 dataLayer.push )。
  • 的 dataLayer.push 代码必须具有与官方Google完全相同的结构’s documentation.
  • 随意摆脱可选参数(例如 transactionAffiliation 或  transactionTax),但在任何情况下 不要重命名 参数名称或其结构/类型。如果类型 transactionID is string (又名“text”),那么它必须保持原样。唐’尝试使用您自己的名称作为参数,它会’t work.
  • 建议有 dataLayer.push GTM容器上方的代码。如果说’不可能,然后将其放在下面并使用DOM Ready触发器来触发交易代码。您也可以要求开发者添加“event” parameter to the dataLayer.push 然后将其用作触发条件(在 Custom 事件 Trigger )。
  • 可以借助Universal Analytics代码(跟踪类型:Transaction)将电子商务交易信息传递到GA。
  • 为防止重复交易,请将其ID存储在第一方Cookie中,并使用该Cookie阻止重复交易。

我是否错过了与使用Google跟踪代码管理器进行Google Analytics(分析)电子商务跟踪相关的任何内容?在评论中让我知道!

 

 

朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
在 Google跟踪代码管理器提示
45条评论
卡塔琳娜·斯汀加修(Catalina Stingaciu)
  • 2018年7月31日
  • 回复

谢谢, thank you, thank you!
很棒的向导!对该过程进行了很好的概述,使其更容易掌握。

我真的很好奇开发人员的工作。就像那些动态传输参数值的函数一样。 (如果您对此有一些资源,我也将非常感激)。

另外,我想知道,开发人员需要在GTM代码段上方放置的代码,它应该只出现在“谢谢”页面上(如果有的话),对吗?

非常感谢!

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2018年7月31日
    • 回复

    嘿,

    关于动态插入的值:这取决于网站后端使用的编程语言(PHP,Python,JavaScript等),因此没有单一的通用方法可以做到这一点。

    As for the second question, yes, the 码 snippet must be added 以上 GTM container on the "谢谢"页.

阿比纳什·南达(Abinash Nanda)
  • 2018年8月29日
  • 回复

你好
Really loved the step by step explanation. However, I am facing 一 issue - I am getting "信息" multiple times like 5 times 要么 6 times 要么 even 12 times as long as I stay on the thank you page. Why would it happen?

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2018年8月29日
    • 回复

    您应该为此咨询开发商。他/她这边出了点问题。

    A message is a dataLayer.push but without an "事件"参数, so my guess would be that a website/application is constantly sending dataLayer.pushes.

    I'd recommend asking a developer to fix this. 如果说's not possible, 阅读本指南 how to avoid duplicates - //www.simoahava.com/gtm-tips/prevent-repeat-transactions/

    但是,我再次强烈建议您在开发人员的帮助下解决此问题。

麦可
  • 2018年10月12日
  • 回复

它可以与新的gtag.js标记一起使用,还是仅适用于analytics.js用户?

    朱利叶斯
    • 2018年10月12日
    • 回复

    适用于Google跟踪代码管理器+ GA。而且,如果您已通过GTM实施了GA,则gtag.js和analytics.js之间的区别并不重要。因为在这种情况下,开发人员将数据推送到数据层,然后该数据通过GTM传递到Google Analytics(分析)。

米奇
  • 2019年1月6日
  • 回复

一如既往的伟大,朱利叶斯。很高兴看到增强型电子商务网站,但是,我也很想让您对Shopify商店的最佳实践实施有何想法?

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 一月10 2019
    • 回复

    I haven't worked with EE on Shopify, but I've heard people talking that this plugin //apps.shopify.com/gtm-datalayer-by-elevar is very useful. It passes EE data to the 资料层 和 then you can import their ready-made container.

丽莎·乔治
  • 一月10 2019
  • 回复

关于使用Google跟踪代码管理器进行电子商务跟踪的精妙提示和逐步说明。

非常感谢您编写和解释的方式。

我真的会为将来应用这个。

做得好.. !!

哔叽
  • 2019年1月21日
  • 回复

如果您可以通过实施多种货币处理来更新该指南,则将很有帮助-当日元订单以英镑报告时,将其撕掉
似乎在线上有很多建议,但没有一个使用相同的方法并且无法正常工作

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2019年2月1日
    • 回复

    好主意,塞尔吉。我将立即更新此GA电子商务指南。

斯蒂芬妮·维阿(Stephanie Vea)
  • 2019年2月18日
  • 回复

whats the difference between using the data layer 和 following the tag manager recommendation vs sending the 事件 directly via gtag? I mean, why add to the data layer 和 check if its 以上 要么 下面 the GTM 码 etc when you can send it from that point directly?

can we not use a combination of GTM tags for standard dynamic content (minimize clutter) 和 gtag for 电子商务 (since 码 will be added anyway)?

谢谢。

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2019年2月18日
    • 回复

    It's better to have everything in 资料层 because you might also want to send 电子商务 data (like 要么 der total) to other tools (facebook pixel, etc.)

    总的来说,虽然有些跟踪是硬编码的,但我看不出在GTM中包含部分标签没有任何好处。它不是那么灵活。

斯蒂芬妮·维阿(Stephanie Vea)
  • 2019年2月19日
  • 回复

感谢你的回答。虽然GTM是最明显的途径,但我们正在检查我们的选择。根据您上面的GA示例&GTM脚本均可使用。正在完全使用GTM。有什么理由专门保留GA脚本吗?

谢谢。

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2019年2月19日
    • 回复

    您说“特别保留GA脚本”是什么意思?如果您打算完全通过GTM转到“电子商务跟踪”,则该页面上将没有剩余的GA脚本。 DataLayer代码不是GA脚本。它专门用于数据层和GTM。

      史蒂芬
      • 2019年2月20日
      • 回复

      “如果您打算完全通过GTM转到“电子商务跟踪”,则页面上将不会剩下GA脚本。”正确,啊,它上面的Google 标签助手扩展示例同时显示了GA和GTM运行的脚本。我想知道我是否误解了什么。

      非常感谢

提姆
  • 2019年2月28日
  • 回复

很棒的文章

I am having 一 issue with my implementation. I have an insurance website that output quotes to users. 的 value/price of the quoted service is available from the quote page, but does not get passed to the thank you page after 采购.

How can I pass this value across to enable me to see the 真正 value of the 采购s transacting on the site?

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2019年3月2日
    • 回复

    Do you have access to a developer? 的 most robust solution would be to ask a developer to make sure that the data layer on the "谢谢"页 also gets the service price available.

劳尔·埃尔南德斯(Raul Hernandez)
  • 2019年3月18日
  • 回复

很棒的文章!

我在我的网站上实施了该工具,但它不能用所有付款方式。我使用的是prestashop 1.6,并且交易跟踪可用于COD和银行转帐付款方式,但是对于使用信用卡的付款,用户将被重定向到验证交易的外部网站,在这种情况下,交易不会报告给GTM。
您知道如何处理这种情况吗?

谢谢

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2019年3月20日
    • 回复

    与开发人员合作,并确保成功付款后将客户重定向到您的网站。然后要求他/她将交易数据推送到数据层。

    那 would be the best.

道格·莱
  • 2019年6月4日
  • 回复

谢谢 for this excellent guide. Please produce 一 for EE too!

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2019年6月4日
    • 回复

    我当时在考虑这个问题,但是Simo Ahava在编写EE指南方面做得很好,因此,我不确定是否还有其他EE指南的地方:)

卡兰
  • 2019年6月9日
  • 回复

我感谢你。很好的解释。

马特
  • 2019年6月12日
  • 回复

Hey 朱利叶斯 - really great 文章 . 谢谢 for being so thorough with it - I tried to implement everything with standard tracking just as you have outlined - but the only problem I'm finding is that I'm not seeing "other 事件s" being fired to google analytics when using the tag assistant. I have more details here //stackoverflow.com/questions/56564810/google-tag-manager-not-sending-ecommerce-data-to-analytics-standard-ecommerce - with more screenshots 和 info. Anything you can think of why my 电子商务 data isn't sending to GA?

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2019年6月12日
    • 回复

    My guess is that dataLayer.push with 电子商务 data contains some errors.

      马特
      • 2019年6月12日
      • 回复

      谢谢 for the response - here is what the dataLayer.push looks like - //i.imgur.com/yACDjfb.png - as far as I can tell, no errors?

        朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
        • 2019年6月12日
        • 回复

        transactionProducts is empty. 那's you problem

          马特
          • 2019年6月12日

          Apologies, I must've grabbed a test 要么 der without a product. 这里 is what it looks like with actual product data there in transactionProducts: //i.imgur.com/fbq0rSW.png

          的 only thing I notice is in the Tag Manager debugger under " 页面预览 " our 电子商务 tag says "Still Running" for some reason - //i.imgur.com/OJEXxNH.png

          感谢您对此的建议

          朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
          • 2019年6月12日

          然后你 should read this //www.toddblog.net/post/google-analytics-tag-in-gtm-still-running/

          马特
          • 2019年6月12日

          谢谢 so much for that resource! Manually entering in my Analytics ID into the tag itself fixed that problem 和 now I see it firing through google tag assistant. 谢谢 so much for your assistance!

斯蒂夫
  • 2019年8月4日
  • 回复

Do you have a guide for those who have GTM connected already but want to add this Enhanced ECommerce to our account in GA? I believe our last marketing firm used a plugin 和 we don't want to use a plugin. We just want the 码 we need to add to a custom 事件.

However, I already have a Google Univ Tag installed. Do I create another 一 just for this 事件? 那's where I'm getting confused. I don't add to the existing GAU? Correct?

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2019年8月5日
    • 回复

    嘿, no I don't have a guide about EE. You can read this //www.simoahava.com/analytics/enhanced-ecommerce-guide-for-google-tag-manager/ (there are A LOT of things you need to know) 和 this is 一 of the most complex things to set up in GA. 如果你 feel confused about that guide, I also explain this topic in my 在 termediate GTM course. 的 re is a module dedicated just to GA 增强型电子商务 implementation where I teach how to prepare EE 码 snippets, how to cooperate with developers, what are best practices, etc. 在 the end, you will know how to own a process of the custom EE implementation.

劳拉
  • 2019年8月26日
  • 回复

After MONTHS of searching for the right solution for transaction processing, this worked like a charm! 谢谢! Now, if I can only figure out how to track transactions with a 3rd party (AXS) where I am unable to get access to the backend.

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2019年8月27日
    • 回复

    如果您无法访问后端或放置跟踪代码,恐怕您不走运。

    您需要找到一种方法,让开发人员放置您的GAl或GTM代码,或者让他们通过称为Measurement Protocol的事物将交易直接发送到GA。

      劳拉
      • 2019年9月16日
      • 回复

      朱利叶斯

      谢谢 for the insight. I am adding this to my to-do list.

      干杯!

露西恩·姆赫塔良(Lusine Mkhitaryan)
  • 2019年8月28日
  • 回复

I've read 和 watched too many guides on how to set up eCommerce tracking, 和 I found your 文章 which helped me a lot. This is a great guide with detailed points 和 steps with easy 和 clear language(I mean 码 s 和 confusing names). 谢谢 for doing such kind of great help to others.

艾玛·奥利维亚(Emma Olivia)
  • 2019年10月3日
  • 回复

嘿朱利叶斯,我工作。你解决了我最大的问题。非常感谢这篇文章:)

提姆
  • 2020年1月8日
  • 回复

我非常感谢你!
This is the first post about 事件s (purchase/ 谢谢 page) I can use because for me it´s not possible to edit the data layer 码 (wix store). Now I have changed the trigger into "DOM is ready" 和 it works!
谢谢 so much!

最好的祝福,
提姆

埃布林
  • 2020年2月19日
  • 回复

嘿朱利叶斯。从现在起的两周内,我正在做研究,但找不到解决这个问题的方法。我需要在cms myfactory(位于瑞士)中跟踪产品交易。我不了解的是,我是否需要找到可以在字段中实现一些js或PHP的开发人员来动态获取数据,还是需要在每次交易时使用产品的相应数据来实现dataLayer?先感谢您。

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2020年2月19日
    • 回复

    嗨,您需要找到一个可以将事务数据动态推送到数据层的开发人员。他/她将需要为CMS编码其他功能。

亚诺
  • 2020年4月20日
  • 回复

如何检查“ Cookie-用户交易” 曲奇饼 是否设置正确?我以为可以使用chrome中的EditThisCookie扩展名进行检查,但看不到任何结果。

当您进入网站或仅在thankyou页面上设置该cookie吗?

    朱利叶斯·费多罗维奇乌斯(Julius Fedorovicius)
    • 2020年4月20日
    • 回复

    是的,editThisCookie应该显示cookie。如果您没有看到它,则说明未设置Cookie。您应该花更多时间测试/调试设置。

约瑟夫
  • 2020年7月24日
  • 回复

非常感谢您对3种可能情况的解释。它很有帮助。很棒的文章。

欧文·朱利叶斯
  • 2020年7月29日
  • 回复

很棒的文章!!!
您的帖子挽救了生命,并节省了时间!!!

谢谢!

蒂芙尼·塞伍德(Tiffany Sellwood)
  • 2020年11月19日
  • 回复

谢谢 for always saving me so much time, 朱利叶斯 !

问题:我有一个酒店客户,即使在同一笔交易中预订,它也会为每个预订的房间生成单独的确认号(交易ID)。以下是交易ID在dataLayer中的处理方式:

{
gtm: {start: 1605828982453, 独特EventId: 1905},
事件: 'gtm.js',
transactionId:'[2116276951,2114095176]',
transactionTotal:“ $ 147.93”,
transactionTax:“ 9.35”,
transactionProducts:[
{
sku:“ 307”,
名称:“凤凰”,
类别:“地铁”,
价格:“ 69.29”,
数量:“ 2”
}
]
}

我该如何分解?

发表评论 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *

 

嗨,我是Julius Fedorovicius 并且在这里可以帮助您学习Google跟踪代码管理器和Google Analytics(分析)(但主要是GTM)。在这个激动人心的旅程中,与其他100 000多个每月访问量和14000多个新闻通讯订阅者一起加入。 阅读更多
基本资源


热门文章
  • 🔥GTM表格跟踪:7种有效方法
  • 🔥dataLayer.push:指南
  • 🔥GTM vs 谷歌分析(分析)
  • 🔥99使用GTM可以做的事情
  • 🔥GTM常见错误
  • 🔥数据层:终极指南
  • 𥔥60 +适用于GTM的自定义JavaScript
分析狂热
  • Google跟踪代码管理器课程
  • Google跟踪代码管理器食谱
  • Google跟踪代码管理器资源
  • Google跟踪代码管理器社区
  • 登录课程
关注Analytics Mania
  • 订阅新闻通讯
  • RSS订阅
最近的帖子
  • 谷歌分析(分析)4中的增强测量:指南
  • 使用Google跟踪代码管理器跟踪联系表7
  • Missing DOM准备就绪 和 视窗已载入 事件s in GTM?
分析狂热- Google Tag Manager 和 谷歌分析 博客 | 隐私政策
管理Cookie设置

<sub class="Yl2TdYs"><col class="cNkpAt4"><del class="lviqSWz"><input class="Yf3FPXk"></input></del></col></sub>


<wbr id="HZZ5kdR" class="HN1kgzL"></wbr>



  • <applet id="p7M4v6o"><dfn id="VnrfBxe"><menu id="C2VNf6b"></menu></dfn></applet>

        <cite id="z5PO42b"></cite>


        <del id="VQhJJbP" class="Vss3zIg"><b id="qv8c9gg" class="quvsvSP"></b></del>