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快速入门指南

用户定义的网页变量类型

相关推荐
蓝胖子的多啦A梦2 分钟前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚
前端·npm·node.js
LinCC74 分钟前
在Vite中构建项目出错-Top-level await is not available in the configured target environme
前端
用户882093216676 分钟前
如何优雅拆分一个充斥十几种逻辑的 SDK 回调函数?
前端
Momoly087 分钟前
vue3+el-table 利用插槽自定义数据样式
前端·javascript·vue.js
唯有选择7 分钟前
让你的应用界面好看的基石:Flutter主题Theme使用和扩展自定义字段
前端·flutter
山有木兮木有枝_8 分钟前
告别布局间隙:浮动(float)在网页排版中的高阶应用
前端
满分观察网友z9 分钟前
vue的<router-link>的to里面的query和params的区别
前端
小约翰仓鼠10 分钟前
vue3表格使用Switch 开关
前端·javascript·vue.js
JiangJiang11 分钟前
🔥 面试官:Webpack 为什么能热更新?你真讲得清吗?
前端·面试·webpack
anyup31 分钟前
快崩溃了!华为应用商店已经 4 次驳回我的应用上线
前端·华为·uni-app