Google tag manage集成第三方pixel(snapchat)

本文主要讲一下在Shopify中使用GTM接入snapchat pixel的过程

进入跟踪代码管理器页面

选择"变量",点击新建配置变量,

这儿配置一个常量,在输入框中填写从snapchat管理平台copy出来的snapchat pixel ID。

然后点击"代码",创建一个snapchat pageView事件

选择Snap Pixel模版后,点击下图画红框的图标,选择刚刚创建的snapchat pixel ID,填充下图中的pixel ID输入框

点击保存,这样就创建好了snapchat pixel的pageView事件

点击"预览",如下图所示:

然后接下来创建viewcontent事件,首先,我们先新建几个数据层变量

这些变量需要在电商网站定义,比如像这样

php 复制代码
 // 注意:代码仅在Shopify中生效,其他建站平台请参考平台文档
 // 判断页面在商品详情页
 {% if request.page_type == 'product' %}
   <script>
    var gloabalProductsInfo = {{product | json}};
   var productDetails = gloabalProductsInfo.variants[0];
   // 定义数据层变量以及view_item事件,方便在GTM事件中使用
     dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
    dataLayer.push({
      event: "view_item",
      ecommerce: {
          currency: '{{ shop.currency }}',
          item_name: productDetails.name,
          item_category: '{{product.type}}',
          item_id: productDetails.id,
          price: productDetails.price,
          sku: productDetails.sku,
        item_ids: gloabalProductsInfo.variants.map(a => a.id)
      }
    });
   </script>
   <script>
  var addcartBtn = document.querySelector('[data-add-to-cart]');
    if (addcartBtn) {
        document.querySelector('[data-add-to-cart]').addEventListener('click', function () {
            dataLayer.push({ ecommerce: null });
            // 定义add_to_cart事件,方便在GTM中创建自定义事件来调用它
            dataLayer.push({
                event: "add_to_cart",
                ecommerce: {
                    item_name: productDetails.name,
                    item_id: productDetails.id,
                    item_category: '{{product.type}}',
                    price: productDetails.price,
                    sku: productDetails.sku,
                    currency: '{{shop.currency}}',
                    item_ids: gloabalProductsInfo.variants.map(a => a.id)
                }
            });
        });
    }
</script>
 {% endif %}}
 // 购买成功
 {% if first_time_accessed %}
 <!-- 放GTM初始化代码 -->
 {% assign itemIds = checkout.line_items | map: "variant_id" %};
 dataLayer.push({ecommerce: null});
 dataLayer.push({
    event: "purchase",
    ecommerce: {
            price: {{ order.total_price }}/100,
            'transaction_id':"{{ order.order_number }}",
            'user_email': "{{ order.email }}",
            'item_ids': '{{ itemIds | join: ", " }}',
            currency: '{{shop.currency}}'
            // 、、、、、、、、、、
    }
});
 {% endif %}

上述代码中,dataLayer.push的信息是为了方便在GTM中使用,event代表自定义事件名,在GTM中可以选择在网站中自定义事件名来触发pixel的各种事件,比如创建名为view_item的触发器

下图就是viewcontent事件的详细信息

下图是addcart事件的详细信息,其中addCart自定义事件触发器创建流程和viewcontent事件一样

下图是purchase事件的详细信息

自此,GTM集成snapchat pixel过程在这里就介绍完成了

参考文档:

GTM快速入门指南

用户定义的网页变量类型

相关推荐
vvilkim13 分钟前
React 与 Vue 虚拟 DOM 实现原理深度对比:从理论到实践
前端·vue.js·react.js
天天扭码17 分钟前
在项目中常见的main.js和main.mjs有什么区别,我们该如何选择?
前端·javascript·面试
姑苏洛言26 分钟前
在开发扫码小程序中,遇到胡坑“require() 默认不支持绝对路径”及其解决方案
前端
Passerby_K26 分钟前
vue3+dhtmlx 甘特图真是案例
前端·vue·甘特图
佳腾_32 分钟前
【Web应用服务器_Tomcat】二、Tomcat 核心配置与集群搭建
java·前端·中间件·tomcat·web应用服务器
brzhang1 小时前
代码即图表:dbdiagram.io让数据库建模变得简单高效
前端·后端·架构
SummerGao.1 小时前
【解决】layui layer的提示框,弹出框一闪而过的问题
前端·layui
天天扭码2 小时前
从数组到对象:JavaScript 遍历语法全解析(ES5 到 ES6 + 超详细指南)
前端·javascript·面试
拉不动的猪2 小时前
前端开发中常见的数据结构优化问题
前端·javascript·面试
街尾杂货店&2 小时前
css word
前端·css