
2020年10月6日
使用GTM在Pinterest标签中使用增强型电子商务数据
我喜欢与Google跟踪代码管理器一起工作的原因之一是可以重复使用数据并将其一次发送到多个营销/分析工具。 2019年,Simo Ahava发布 一篇文章Â解释了如何调整Google Analytics(分析)增强型电子商务数据并将其发送到Facebook Pixel。
后来,我将他的解决方案用作指导的基础,在那里我做同样的事情 Google Analytics(分析)标准电子商务。今天我’将使用类似的原理在Google跟踪代码管理器中的Pinterest跟踪代码中使用增强型电子商务数据。

目录
+显示目录+
有关如何使用GTM实施Pinterest标签的指南
如果您通常不熟悉如何通过Google跟踪代码管理器实施Pinterest代码,则可以 首先应该阅读本指南。之后,回到这里。
#1要求
为了使该解决方案有效,您必须满足三个要求。
#1在数据层中格式正确的增强型电子商务数据。 为使此解决方案有效,您的增强型电子商务设置必须使用有效且格式正确的 电子商务 中的对象 资料层.
如果您的Google Analytics(分析)标记(正在向GA发送增强型电子商务数据)正在使用 使用数据层 选项,那么您应该可以(可能)。
另一方面,如果您的GTM增强型电子商务设置严重依赖于Custom JS变量,则可能还需要手动更新我的代码,这需要JavaScript知识。不幸的是,在这里我不能给您具体的建议,因为每种情况都不同。
#2。至少体彩七星彩开奖结果ID,体彩七星彩开奖结果名称,体彩七星彩开奖结果价格和体彩七星彩开奖结果数量 应该在数据层(电子商务对象)中可用。 Pinterest标签支持更多体彩七星彩开奖结果数据点(例如体彩七星彩开奖结果变体或体彩七星彩开奖结果类别),但如果您不这样做,’要在数据层中拥有所有这些功能,则至少应具有:
- 体彩七星彩开奖结果编号
- 体彩七星彩开奖结果名称
- 体彩七星彩开奖结果价格
- 体彩七星彩开奖结果数量
这里’s是一个包含足够体彩七星彩开奖结果数据的dataLayer.push示例:
window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 事件: 'eec.purchase', 电子商务: { currencyCode: 'EUR', 采购: { actionField: { id: 'abc123', revenue: '12.00', tax: '2.00', shipping: '2.00' }, 体彩七星彩开奖结果展示: [{ id: 'prod1', 名称: 'First product', quantity: 2, price: '3.50' },{ id: 'prod2', 名称: '2nd product', price: '3.00', quantity: 1 }] } } });
#3. This solution uses product 详情, 加 to cart, and 采购 data (of Enhanced Ecommerce).
This 博客文章 will rely on three 电子商务 actions:
- 当访问者查看体彩七星彩开奖结果页面时(在增强型电子商务中,这称为“Product Detail”)
- When a visitor 加s product(s) to a cart (In Enhanced Ecommerce, it’s “Add To Cart”)
- When a visitor makes a 采购 (In Enhanced Ecommerce, it’s “Purchase”)
#2。过程
现在,让’深入了解如何实现此目标的实际过程:
- 首先,我们’ll检查我们是否在数据层中正确配置了所有增强型电子商务数据
- 我们将配置一个JavaScript变量’其主要目的是使GA增强型电子商务数据适应Pinterest标签。
- 然后我们’将创建访问增强型电子商务的数据层变量’s 电子商务 object.
- 然后,我们将从页面访问开始(当我们’ll also pass product info), then 添加到购物车, and finally, 采购 (in Pinterest tag, 采购s are called 结帐)。
- 然后我们’我将需要创建更多的变量,这些变量将包含特定的数据(例如或体彩七星彩开奖结果数量等)。
- 一切完成之后,显然,我们’ll need to test.
#3。检查数据层中的数据
Page visit 事件 (together with product data) should be sent when GA Enhanced Ecommerce 体彩七星彩开奖结果信息 data is available in the 资料层. Remember: the data must be formatted strictly as it is displayed in the 正式的GA文档Â or 西莫·阿哈瓦(Simo Ahava)’s 博客文章.
这里’s an example of the product 详情 data:
window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 事件: 'eec.detail', 电子商务: { 详情: { 体彩七星彩开奖结果展示: [{ id: 'prod1', 名称: 'First product', quantity: 2, price: '3.50' }] } } });
可以有更多的数据点(例如,体彩七星彩开奖结果变体,体彩七星彩开奖结果类别等),但最重要的是, 电子商务 对象必须包含一个 详情Â 对象(就像上面显示的一样),然后必须有一个 体彩七星彩开奖结果展示 数组。此外,所有参数都必须严格遵循Google’增强型电子商务的命名约定。
所有参数的名称必须与上面的示例完全相同(或 GA’s documentation或Simo’s 博客文章)。
Speaking of 添加到购物车, here is an example of correct data in the data layer:
window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 事件: 'eec.add', 电子商务: { 加: { // instead of -detail-, here we see -add- 体彩七星彩开奖结果展示: [{ id: 'prod1', 名称: 'First product', quantity: 2, price: '3.50' }] } } });
这个看起来与之前的代码非常相似。但是,’非常重要的是“detail” (below the “ecommerce”), there must be “add”。这表明以下代码与“添加到购物车”操作有关。
And finally, the 采购 code. 这里’s在数据层中应显示的示例:
window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 事件: 'eec.purchase', 电子商务: { currencyCode: 'EUR', 采购: { actionField: { id: 'abc123', revenue: '12.00', tax: '2.00', shipping: '2.00' }, 体彩七星彩开奖结果展示: [{ id: 'prod1', 名称: 'First product', quantity: 2, price: '3.50' },{ id: 'prod2', 名称: '2nd product', price: '3.00', quantity: 1 }] } } });
此代码包含 采购Â 对象及其内部,您’ll find the 体彩七星彩开奖结果展示 that were 采购d and the actionField 包含交易信息(订单ID等)的对象
首先不知道如何在您的网站上实施增强型电子商务?看看我的 在 termediate/Advanced GTMcourse 我有一个专门针对该主题的非常深入的模块。非常深入。
好的,现在我们已经检查了数据层中的数据格式是否正确(如果您’不确定,您必须对照官方进行检查 Google文件)。

#4。自定义JavaScript变量,可转换EE体彩七星彩开奖结果数据
首先,我们 need to create a variable that will take an Enhanced Ecommerce 体彩七星彩开奖结果展示 数组,并将其转换为Pinterest友好格式。我第一次看到这个主意 西莫·阿哈瓦(Simo Ahava)’s 博客文章.
在Google跟踪代码管理器中,转到 变数> User-defined 变数> New > Custom JavaScript和paste the following code:
function() { 返回 function(products) { if (!Array.isArray(products)) { 返回 体彩七星彩开奖结果展示; } var prodsForPinterest = 体彩七星彩开奖结果展示.map(function(prod) { var prodObj = new Object(); if (prod.name) {prodObj.product_name = prod.name}; if (prod.id) {prodObj.product_id = prod.id.toString()}; if (prod.price) {prodObj.product_price = parseFloat(prod.price)}; if (prod.quantity) {prodObj.product_quantity = parseInt(prod.quantity)}; if (prod.category) {prodObj.product_category = prod.category}; if (prod.variant) {prodObj.product_variant = prod.variant}; if (prod.brand) {prodObj.product_brand = prod.brand}; 返回 prodObj; }) 返回 prodsForPinterest; } }
将此变量命名为 cjs–ee体彩七星彩开奖结果数据到pinterest (或更短的内容)。
该变量返回一个函数,该函数将接受EE体彩七星彩开奖结果数组,然后返回Pinterest友好数组。如您在代码中所见,体彩七星彩开奖结果支持的参数列表如下:
- 体彩七星彩开奖结果名称 将使用 名称 增强型电子商务dataLayer中的参数
- product_id 将使用 id EE dataLayer中的参数
- roduct_price 将使用 价格 EE dataLayer中的参数
- product_quantity 将使用 数量 EE dataLayer中的参数
- 体彩七星彩开奖结果分类Â 将使用 类别 EE dataLayer中的参数
- product_variant 将使用 变体 EE dataLayer中的参数
- product_brand 将使用 品牌 EE dataLayer中的参数
简而言之,如果这是一个 体彩七星彩开奖结果展示 数组在数据层中查找:
window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 事件: 'eec.detail', 电子商务: { 详情: { 体彩七星彩开奖结果展示: [{ id: 'prod1', 名称: 'First product', quantity: 2, price: '3.50', category : 'shoes', variant : 'red', brand : 'nike' }] } } });
Then the output that will be 返回ed by that function will look like this:
[{ 体彩七星彩开奖结果名称 : 'First product', product_id : 'prod1', product_price : '3.50', product_quantity : 2, 体彩七星彩开奖结果分类 : 'shoes', product_variant : 'red', product_brand : 'nike' }]
如果某些体彩七星彩开奖结果参数(例如,变体)在数据层中不可用,则该参数也将不包含在Pinterest友好输出中。
#5. 资料层 that 返回s an 电子商务对象
在此设置中,我们将依靠 电子商务 object that is necessary for the Enhanced Ecommerce to work. To access that information, we need a 资料层 Variable that will 返回 the latest push to the 电子商务 目的。
那’这就是为什么我们需要去 GTM> 变数> User-defined 变数> New > 资料层 具有以下设置的变量:
- 数据层变量名称–Â 电子商务
- 数据层版本 – Version 1Â (不是2 !!!)
- 变量名称–Â dlv– 电子商务Â (完全像这样)
#6. Page visit (with product 详情s)
还记得以前创建的Custom JavaScript变量吗?以及之前创建的数据层变量(用于 电子商务Â 目的)?现在,我们将创建一个新的Custom JS变量,它将使用这两个变量。
#6.1. Custom JS variable that 返回s the final product output
在GTM中,转到 变数>用户定义的变量> New > Custom JavaScript。在该变量中,粘贴以下内容:
function() { var 体彩七星彩开奖结果= ; 返回 ; }
插入 dlv– 电子商务Â 数据层变量紧接在“products =”.
function() { var 体彩七星彩开奖结果= {{dlv- 电子商务}}; 返回 ; }
现在我们需要访问 体彩七星彩开奖结果展示 array in that object, therefore, we need to 加 “.detail.products”在数据层变量之后。
function() { var 体彩七星彩开奖结果= {{dlv- 电子商务}}.detail.products; 返回 ; }
现在,插入 cjs–ee体彩七星彩开奖结果数据汇总Â 之后的自定义JavaScript变量“return”。一种将数据从EE格式转换为Pinterest友好结构的程序。请记住,变量必须用{{}}包围。
function() { var 体彩七星彩开奖结果= {{dlv- 电子商务}}.detail.products; 返回 {{cjs -ee体彩七星彩开奖结果数据到pinterest}}; }
然后,在变量之后(在分号之前)输入 (体彩七星彩开奖结果):
function() { var 体彩七星彩开奖结果= {{dlv- 电子商务}}.detail.products; 返回 {{cjs -ee体彩七星彩开奖结果数据到pinterest}}(products); }
您可以根据需要命名此自定义JavaScript变量。我个人更喜欢 cjs–pinterest line_items– page visit.
这里’s快速解释此变量的作用:
- 它采用存储在其中的功能 cjs–ee体彩七星彩开奖结果数据到pinterest
- 调用该函数
- 通行证 体彩七星彩开奖结果展示 数组存储在 dlv– 电子商务.detail.products 该函数的变量
- And then 返回s the result of that function
结果是Pinterest像素友好的体彩七星彩开奖结果系列。
#6.2。测试变量
让’保存此变量并对其进行测试。启用或刷新 GTMpreview mode. 去 the product page where the product 详情 dataLayer.push occurs.
看到它时(例如,也许dataLayer.push包含一个事件键“eec.detail”。或者也许它显示为“Message”),单击它,然后转到预览模式的“变量”标签。检查我们最后创建的Custom JS变量(cjs–pinterest line_items – page visit)。
那 variable must 返回 the newly formatted array (you can know that it’s an array if it’用方括号[]括起来。
如果是 未定义,这意味着您很可能在Custom JS变量中犯了一个错误 cjs–pinterest line_items– page visit.
如果你不这样做’不知道如何正确调试它,最简单的方法是按照本博文中的指示准确命名所有变量。区分大小写。每个空间都很重要。
#6.3。将自定义JS变量插入到页面访问标记中
一旦确保该变量正常运行,请在开始阅读本博客文章之前,打开您应该创建的Pinterest页面访问标签(在GTM界面中)。
不知道我在说什么吗?阅读本指南,了解如何实施 使用Google跟踪代码管理器的Pinterest跟踪代码.
当您打开“页面访问”标签时,请点击 自订参数 复选框,输入:
- line_items 在 名字 领域
- 插入 cjs–pinterest line_items– page visit 变量 价值 领域
#6.4。测试页面访问标记
最后一步是测试Page访问标签,并查看Pinterest是否收到体彩七星彩开奖结果信息。保存标签,刷新GTM预览模式,然后转到体彩七星彩开奖结果页面。
当您执行此操作并触发Pinterest页面访问标签时,请打开 Pinterest Tag Helper扩展并检查是否Page visit已正确发送。然后单击它,并检查体彩七星彩开奖结果数据是否也正确发送。
然后去 ads.pinterest.com> Conversions > Test 事件s,输入体彩七星彩开奖结果页面的URL,然后单击启动。之后,检查 测试事件 页并展开PAGE_VISIT以验证是否实际收到体彩七星彩开奖结果数据。
#7. 添加到购物车
The next step is to track when a visitor 加s 体彩七星彩开奖结果展示 to a cart. This time, I’我的解释会尽量简短一些。
#7.1. Custom JS variable that 返回s the final product output
让’s创建另一个自定义JS变量,该变量将使用 cjs–ee体彩七星彩开奖结果数据到pinterest和 dlv– 电子商务.
这里’s变量的最终代码:
function() { var 体彩七星彩开奖结果= {{dlv- 电子商务}}.add.products; 返回 {{cjs -ee体彩七星彩开奖结果数据到pinterest}}(products); }
重要: 如果您在容器中为{{variables}}使用了不同的名称,则还必须更新上面的代码。另外,请注意这次在代码中,我正在使用 {{dlv– 电子商务}}.加。体彩七星彩开奖结果,不是 {{dlv– 电子商务}}.详情。体彩七星彩开奖结果
我将此变量命名为 cjs–pinterest line_items– 加 to cart.
保存变量。
#7.2。标签和触发器
在这种情况下,我认为您还没有“添加到购物车Pinterest”标签。我还假定当增强电子商务添加到购物车dataLayer.push时,它包含一个“event” key with the value “eec.addToCart”。像这样:
window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 事件: 'eec.add', // I presume that your dataLayer.push contains this parameter 电子商务: { 加: { 体彩七星彩开奖结果展示: [{ id: 'prod1', 名称: 'First product', quantity: 2, price: '3.50' }] } } });
在 GTMinterface, go to 标签> New > Pinterest。输入您的Pinterest标签ID,然后选择 添加到购物车Â 在 事件触发 领域。
然后,您将看到一堆应该输入的字段。我们’ll skip some of them (because usually, the Order ID is still not available during the 加 to cart).
说到订购数量,我们’ll使用以下代码创建自定义JavaScript变量:
function() { var totalQuantity = 0; var ecom = {{dlv- 电子商务}}; if (ecom.add && ecom.add.products) { ecom.add.products.forEach(function(product) { totalQuantity += product.quantity; }); }; return totalQuantity; }
将此变量命名为 cjs– order quantity – 加 to cart和save it. If you noticed, here I am using the same dlv– 电子商务 该博客文章中已多次提及的变量。
将此变量插入 订单数量 领域 of the 添加到购物车 tag. This variable 返回s the number of 体彩七星彩开奖结果展示 that were 加ed to a cart.
谈到体彩七星彩开奖结果,请点击 自订参数 复选框,然后输入:
- line_items 在 名字 领域
- 插入 cjs–pinterest line_items– 加 to cart 变量 价值 字段(那个’s the Custom JS variable that we created specifically for the 添加到购物车 体彩七星彩开奖结果展示.
标签的最终配置(不包括触发器)可能如下所示:
您的变量名可能不同。还有,你不’不必输入订单数量之类的东西。
至于触发条件,我认为“增强型电子商务添加到购物车” dataLayer.push包含“event” key with the value “eec.addToCart”,因此,我将创建以下自定义事件触发器。 If your 事件 名称 is different, use that one.
在GTM中,转到 扳机> New > Custom Event和enter the eec.addToCart.
Save the trigger and assign it to the Pinterest 添加到购物车 Tag.
#7.3. Test the 添加到购物车 tag
The final step is to test the 添加到购物车 tag and see if the product (and other) info is received by Pinterest. Save the tag, refresh the GTMpreview mode and 加 a product to a cart.
When you do that and when the Pinterest 添加到购物车 tag fires, open the Pinterest Tag Helper扩展并检查是否“Add To Cart”已正确发送。然后单击它,并检查体彩七星彩开奖结果数据是否也正确发送。
如果你没有’如果传递了value参数(我想这是添加到购物车中的体彩七星彩开奖结果的总价值),则会收到警告(就像我在上面的屏幕截图中所做的一样)。但是,此参数似乎是可选参数,因为Pinterest仍正确接收了其余数据。实际上,即使是Pinterest标记助手也说 添加到购物车 事件 was sent 成功地带有警告。
去 ads.pinterest.com> Conversions > Test 事件s,输入体彩七星彩开奖结果页面的URL,然后单击启动。之后,检查 测试事件 页并展开ADD_TO_CART以验证是否实际接收到体彩七星彩开奖结果数据。
#8. 查看 (a.k.a. 采购)
本博客文章的最后主要部分。它’是时候跟踪购买情况并在Pinterest标签中’在上下文中,结帐=购买。如果您非常熟悉GA,这可能会很棘手’s EE命名约定(其中“Checkout”之间的步骤是“Add to cart” and “purchase”).
#8.1. Custom JS variable that 返回s the final product output
这里’s变量的最终代码:
function() { var 体彩七星彩开奖结果= {{dlv- 电子商务}}.purchase.products; 返回 {{cjs -ee体彩七星彩开奖结果数据到pinterest}}(products); }
重要: 如果您在容器中为{{variables}}使用了不同的名称,则还必须更新上面的代码。
我将此变量命名为 cjs–pinterest line_items– checkout.
保存变量。
#8.2。标签和触发器
在 this case, I presume that you do not have the 查看 Pinterest Tag yet. I also presume that when Enhanced Ecommerce 采购 dataLayer.push occurs, it contains an “event” key with the value “eec.purchase”。像这样:
window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 事件: 'eec.purchase', 电子商务: { currencyCode: 'EUR', 采购: { actionField: { id: 'abc123', revenue: '12.00', tax: '2.00', shipping: '2.00' }, 体彩七星彩开奖结果展示: [{ id: 'prod1', 名称: 'First product', quantity: 2, price: '3.50' },{ id: 'prod2', 名称: '2nd product', price: '3.00' }] } } });
在 GTMinterface, go to 标签> New > Pinterest。输入您的Pinterest标签ID,然后选择 查看Â 在 事件触发 领域。
然后,您将看到一堆应该输入的字段。您可以随意跳过其中的一些。但是在这篇博客中,我’ll fill them all in.
在订单价值字段中,我’将使用以下配置插入数据层变量(电子商务.purchase.actionField.revenue):
在货币字段中,我’ll输入以下数据层变量(因为我在数据层中有此参数):
要跟踪订单数量,请使用以下代码创建一个自定义JavaScript变量:
function() { var totalQuantity = 0; var ecom = {{dlv- 电子商务}}; if (ecom.purchase && ecom.purchase.products) { ecom.purchase.products.forEach(function(product) { totalQuantity += product.quantity; }); }; return totalQuantity; }
将此变量命名为 cjs– order quantity – 采购和save it. Also, keep in mind that if you 命名为 dlv– 电子商务 变量有所不同,您还必须更新上面的代码以匹配该名称。
将此变量插入 订单数量 领域 of the 查看 tag. This variable 返回s the number of 体彩七星彩开奖结果展示 that were 采购d.
在“订单ID”字段中,输入以下数据层变量(电子商务.purchase.actionField.id):
谈到体彩七星彩开奖结果,请点击 自订参数 复选框,然后输入:
- line_items 在 名字 领域
- 插入 cjs–pinterest line_items– checkout 变量 价值 字段(那个’s the Custom JS variable that we created specifically for the 采购d 体彩七星彩开奖结果展示.
标签的最终配置(不包括触发器)可能如下所示:
您的变量名可能不同。
至于触发器,我假设增强型电子商务购买dataLayer.push包含“event” key with value “eec.purchase”,因此,我将创建以下自定义事件触发器。
在GTM中,转到 扳机> New > Custom Event和enter the 购买.
Save the trigger and assign it to the Pinterest 查看 Tag.
#8.3. Test the 查看 tag
The final step is to test the 查看 tag and see if the product (and other) info is received by Pinterest. Save the tag, refresh the GTMpreview mode and make a 采购.
When you do that and when the Pinterest 查看 tag fires, open the Pinterest Tag Helper扩展并检查是否“Checkout”已正确发送。然后单击它,并检查体彩七星彩开奖结果数据是否也正确发送。
然后去 ads.pinterest.com> Conversions > Test 事件s,输入体彩七星彩开奖结果页面的URL,然后单击启动。之后,检查 测试事件 页并展开CHECKOUT以验证是否实际接收到体彩七星彩开奖结果数据。
如何在Pinterest标签中使用增强型电子商务数据:最后的话
ew!我原以为这篇博客文章会短一些。不过,我希望您觉得它有用。由于Pinterest标签不如Facebook Pixel受欢迎,因此它’通常,资源和指南的数量也受到限制。
希望本文能帮助您正确实现所需的一切。
在此博客文章中,我们:
- Used the Enhanced Ecommerce 体彩七星彩开奖结果信息 data and sent it to Pinterest with page visits
- Used EE 添加到购物车 data and sent it to Pinterest with “Add To Cart” 事件s
- 使用过的EE购买数据并将其发送到Pinterest“Checkout” 事件s. Remember: in Pinterest Tag, 查看 = 采购
如果您通常都在努力使用Pinterest标签, 看看这个指南我将深入研究一般设置。

发表评论