在FB做在营销的时候,我们会根据用户的特定行为去将受众划分成不同的群体,然后才去不同的广告策略,这些特定行为通常会是用户访问了某些页面,用户购买了某些产品,用户点击了某个产品,对于访问页面的行为,FB默认是有的数据的,对于点击的行为,这个也可以通过GTM做事件跟踪去实现,但对于购买了某些商品的呢?
这个其实也是可以通过GTM去实现的,原理类似事件跟踪,难点在于如何从数据层获取特定的增强型交易的数据,比如增强型电商成功购买这个动作发送的数据结构如下:
<script> // Send transaction data with a pageview if available // when the page loads. Otherwise, use an event when the transaction // data becomes available. dataLayer.push({ 'ecommerce': { 'purchase': { 'actionField': { 'id': 'T12345', // Transaction ID. Required for purchases and refunds. 'affiliation': 'Online Store', 'revenue': '35.43', // Total transaction value (incl. tax and shipping) 'tax':'4.90', 'shipping': '5.99', 'coupon': 'SUMMER_SALE' }, 'products': [{ // List of productFieldObjects. 'name': 'Triblend Android T-Shirt', // Name or ID is required. 'id': '12345', 'price': '15.25', 'brand': 'Google', 'category': 'Apparel', 'variant': 'Gray', 'quantity': 1, 'coupon': '' // Optional fields may be omitted or set to empty string. }, { 'name': 'Donut Friday Scented T-Shirt', 'id': '67890', 'price': '33.75', 'brand': 'Google', 'category': 'Apparel', 'variant': 'Black', 'quantity': 1 }] } } }); </script>
比如一个购物行为发送如下的数据,现在我们需要获取获取里面的特定商品,也就是我们要数据层变量name或id,这样我们可以从产品的角度去做在营销,给这部分群体展示的是有关这个商品的广告。
那么怎么获取这个数据变量呢?
在浏览器的控制台,我们可以通过google_tag_manager[“容器id”].datalayer去查看数据里面的可以后去的信息,里面有set,get和reset这三种类型的数据,其中get就是你可以获取的,让后面的那个中括号就是根据数据层你里面中括号的层级去写的了,想上面的增强型发送的数据,中括号的就死ecommerce.purch ase.product.i,name,需要注意,我这里写的是i,如果用户购买多个的时候,这个i就是不同的,所以整个可以成一个实数,然后再用一段js去判断,不为空的时候在发送fb事件,知道如果获取这个数据层变量,那么接下来就是如何在GTM中设置了,使用数据层变量,就可以将name或id这个字段获取出来:
接下来就是调用FB的事件跟踪了