更新时间:2021-09
已出视频课程,直接看:最全面的增强型电子商务布署视频教程
增强电子商务模块比旧版的功能增强很多,成功部署后的效果是这样的:
增强型电子商务模块是GA里面最难的一个模块了,而GTM的部署又将这个难度提高。大部分工作量都会是将页面的电子商务相关的数据如何规则化通过数据层推送,这主要是页面端的处理问题。在这里,我并不能提供一段适用你站点的代码,因为电子商务数据层代码是根据页面的不同而不同的,这取决于你的网站,整体上来说,通过GTM部署增强型电子商务模块主要有以下几个步骤:
梳理电商流程
增强型电子商务跟踪里有两个流程:
- 电商流程:展示-点击-放到购物车-结账-购买-退款
- 支付流程:提交订单-地址-支付方式-支付成功
基于上述两个流程梳理电商各个环节的信息,主要需要梳理以下信息:
- 站内活动的展示:梳理不同的位置,用于设置list
- 站内活动的点击
- 商品列表的展示:梳理不同的位置,用于设置list
- 商品列表的点击
- 商品详情页展示
- 点击添加到购物车:梳理不同的位置,用于设置list
- 点击移除购物车
- 结账步骤:梳理结账流程,用于设置step,结账可选,使用优惠券,计算税费,继续购物,其他
- 购买成功
- 退款
最主要的List的梳理,需要找到所有的位置,并实现区分。
数据层和GTM配置
站内活动的展示
站内活动的点击
商品列表的展示
产品展示的时候就发送电商数据,产品展示可以发送如下数据:
只有id和name是必须的,其他都是可选的。可选里面最重要的就是list,以为不同位置是通过list去区分,所以在做设计方案的时候,需要将所有的位置列出来,然后用list去区分。
什么时候发送?
这个就非常重要,因为Impression是页面打开的时候才会,所以可以将Impression可以PV一起发送,但这个是有前提的,Impression的数据层信息要尽快的时候就发送出去,才能跟PV一起触发,这种就比较难。
但可以采用另一种形式,将Impression作为一个单独的事件去发送,那么就需要在dataLayer里面加多一个事件参数event,用于触发器的定位,Impression完整的数据结构如下:
dataLayer.push({ 'event': ‘imp', 'ecommerce': { 'impressions': [ { 'name': 'GA和GTM视频课程第四版(2021年)', 'id': '14', 'price': ‘399‘, 'brand': 'GA小站', 'category': 'Google Analytics', 'list': ‘Home Page’, 'position': 1 }, { 'name': ’Google Tag Manager实战指南(最新版)‘, 'id': '20', 'price': ’99’, 'brand': 'GA小站', 'category': 'Google Tag Manager', 'list': ‘Home Page‘, 'position': 2 }] }
如果一个页面上有多个产品,尽量一起发送,避免逐个产品逐个发,以为GA对数据发送频率是有限制,每秒最多接受两个请求,太多的就会丢掉,所以尽量其他发,一般来水,一个Impression最多可以发送五六十个产品。
商品列表的点击
点击哪个产品就通过dataLayer将该产品的信息发送出去。
数据层结构如下:
dataLayer.push({ 'event': 'productClick', 'ecommerce': { 'click': { 'actionField': { 'list': ‘Home Page‘}, 'products': [{ 'name': ’Google Tag Manager实战指南(最新版)‘, 'id': '20', 'price': ’99’, 'brand': 'GA小站', 'category': 'Google Tag Manager', 'position': 2 }] } }, });
GTM上的配置如下:
商品详情页展示
当某个产品详情页面被打开的时候,将该产品详情信息发送出去:
dataLayer.push({ 'event': 'detail', 'ecommerce': { 'detail': { 'actionField': {'list': ‘Home Page‘}, 'products': [{ 'name': ’Google Tag Manager实战指南(最新版)‘, 'id': '20', 'price': ’99’, 'brand': 'GA小站', 'category': 'Google Tag Manager', 'position': 2 }] } } });
GTM上的配置如下:
添加到购物车
GTM上的配置如下:
移除购物车
GTM上的配置如下:
结账步骤
GTM上的配置如下:
购买成功
GTM上的配置如下:
退款
GTM上的配置如下:
测试与发布
最后就是预览测试,没问题就可以发布,流程是这样,从点击到结算,退款都需测试。
一些经验
- 在所有发送数据中,id和name是必须参数,其他是可选
- Impression、PromotionView和ProductDetail,这几个环节的数据是可以通过pv一起发送
- 在的数据层之前可以加上dataLayer.push({ ecommerce: null })用于清除电子商务对象,避免发送原来的数据
- GTM里不要在所有的Tag上都开启数据层功能,避免数据重复发送,只在有电商行为的事件中开启。