百度推广再营销联动GTM的详尽实例教程

许多国内的数字营销者对百度的再营销功能并不陌生。不但可以在网盟进行再营销,还可以进行搜索再营销。再营销的理论基础是给“特殊人群”予“特殊照顾”,“特殊照顾”体现在

  • 首先在展现上我们会提高出价,对这些人重点展现;或者降低出价或不出价避免对这些人群进行展现
  • 在传递的营销信息上针对目标人群所处的不同客户旅程的环节(初见、研究中、购买决策中等)提供不同的文案和着陆页
用GTM实现百度再营销高级部署

用GTM实现百度再营销高级部署

百度提供了许多建立“特殊人群”的方法,但是有些人群的建立仍然比较复杂。本文我们要介绍的是一个通过Google Tag Manager(GTM)来部署一个比较麻烦的“特殊人群”抓取方法。请注意,本文介绍的解决方案有大量引用Max Yodgee的《Tracking Session Time with Google Tag Manager》的内容。在此向原作者致敬。

根据Session Duration访问时长来定义受众人群

假设我们定义“凡是访问我的网站持续时间超过10分钟的访客”为这个“特殊人群”的话,我们如何通过技术手段来抓取这些人群呢?我们知道百度推广的后台是没有办法去自定义这个人群的,因此我们需要先手动获取代码,并在之后通过GTM适时地触发这段代码。

百度网盟推广中新建到访人群的代码

百度网盟推广中新建到访人群的代码

通过Cookie来记录Session Duration

我们在GTM中需要建立3个变量(Variables)来操作访问时长Session Duration。

Data Layer – GTM – Start

首先是一个变量Data Layer – GTM – Start。这个变量的数据层内名称是gtm.start。

记录GTM载入时刻的变量

记录GTM载入时刻的变量

请注意gtm.start是默认的gtm变量,在GTM载入时就被赋值。你可以在你的GTM安装代码中找到它。

Cookie – Session – Start

然后是用来存贮时间的Cookie变量Cookie – Session – Start。在选择类型时你要选择1st-Party Cookie。Cookie的名称我们就取gtm-session-start。

将Session开始时刻储存至Cookie中

将Session开始时刻储存至Cookie中

Utility – Session Seconds

最后我们需要一个Custom JS变量Utility – Session Seconds。内容如下:

function(){
    var time;
    try{
        var cookieStart = {{Cookie - Session - Start}};
        if(typeof cookieStart !== 'undefined' && cookieStart > 0) {
            var date = new Date();
            time = Math.round((date.getTime() - cookieStart)/1000);
        }
    } catch(e) {
    }
    return time;
}

上面这段代码的作用是从Cookie中取出这个Session开始的时刻,如果这个时间不为空,那么就返回当前时刻和Session开始时刻之差。单位为秒。如果Cookie为空,那么返回的经过时间为空。

该变量会返回Session所经过的时间

该变量会返回Session所经过的时间

建立捕捉标签Tag

第二步我们将建立我们的标签。这个标签是一个Custom HTML Tag,会在所以页面载入时加载。名字就取作Capture – Cookie – Session – Start。

<script>
    try {
        (function(){
            var current = {{Cookie - Session - Start}};
            var cookieValue;
            if (typeof(current) == "undefined") {
                cookieValue = {{Data Layer - GTM - Start}};
            } else {
                cookieValue = current;
            }

            var date = new Date();
            date.setTime(date.getTime()+(30*60*1000));
            var cookieName = 'gtm-session-start';
            var cookieExpires = date.toGMTString();
            var cookiePath = '/';

            document.cookie = cookieName + '=' + cookieValue + '; Expires=' + cookieExpires + '; Path=' + cookiePath;
        })();
    } catch (e) {
    }
</script>

现在来解释上面这段代码的含义。首先它会查看Cookie中是否已经有了Session开始的时间,如果没有的话就把当前GTM加载的时间填入。最后它会更新本Cookie的过期时间在当前时间的30分钟以后。

该标签会延长Cookie的存续时间

该标签会延长Cookie的存续时间

接下来就容易了我们只要判断当前的经过时间Utility – Session Seconds > 30便可以触发我们之前拿到的百度人群标记代码便可。

同样,我们新建一个Custom HTML Tag,取名为Baidu – Audience – Tag。把百度标签黏贴进去。选上Support document.write。

将百度人群标记标签填入Custom HTML Tag

将百度人群标记标签填入Custom HTML Tag

先不要保存,接下来我们定义触发规则。在这个标签下面的Trigger部分新建一个Trigger组合。这个Trigger组合你可以选择一个PageView的Trigger加上一个Timer的Trigger。还记得Timer怎么用吗?我们在《科学分析跳出率的理念和方法》一文中曾经用过。下面给出Timer Trigger的设置方法。PageView的Trigger就当留作作业了。

每分钟检查一次Session时间是否大于600秒

每分钟检查一次Session时间是否大于600秒

我们保存所有内容之后测试并发布这个Container就大功告成了。

后记

百度推广相比AdWords弱在很多方面,其中一点是没有办法直接应用Google Analytics收集到的Audience。好在Google Tag Manager是你的BFF。本篇用实例作为教程向各位读者展示了如何灵活应用GTM来高效地部署百度自定义人群标签。在实际操作中我们可以有更多灵活的方式。希望对你的精准再营销以及GTM的学习有一些帮助。

感谢关注极诣。