Google推廣再行銷聯動GTM的詳盡實例教程

Photo of author
Written By CMO

許多國內的數字行銷者對Google的再行銷功能並不陌生。不但可以在網盟進行再行銷,還可以進行搜索再行銷。再行銷的理論基礎是給“特殊人群”予“特殊照顧”,“特殊照顧”體現在

  • 首先在展現上我們會提高出價,對這些人重點展現;或者降低出價或不出價避免對這些人群進行展現
  • 在傳遞的行銷訊息上針對目標人群所處的不同客戶旅程的環節(初見、研究中、購買決策中等)提供不同的文案和著陸頁
用GTM實現Google再行銷高級部署
用GTM實現Google再行銷高級部署

Google提供了許多建立“特殊人群”的方法,但是有些人群的建立仍然比較複雜。本文我們要介紹的是一個通過Google Tag Manager(GTM)來部署一個比較麻煩的“特殊人群”抓取方法。請注意,本文介紹的解決方案有大量引用Max Yodgee的《Tracking Session Time with Google Tag Manager》的內容。在此向原作者致敬。

根據Session Duration訪問時長來定義受眾人群

假設我們定義“凡是訪問我的網站持續時間超過10分鐘的訪客”為這個“特殊人群”的話,我們如何通過技術手段來抓取這些人群呢?我們知道Google推廣的後台是沒有辦法去自定義這個人群的,因此我們需要先手動獲取代碼,並在之後通過GTM適時地觸發這段代碼。

Google網盟推廣中新建到訪人群的代碼
Google網盟推廣中新建到訪人群的代碼

通過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便可以觸發我們之前拿到的Google人群標記代碼便可。

同樣,我們新建一個Custom HTML Tag,取名為Baidu – Audience – Tag。把Google標籤黏貼進去。選上Support document.write。

將Google人群標記標籤填入Custom HTML Tag
將Google人群標記標籤填入Custom HTML Tag

先不要保存,接下來我們定義觸發規則。在這個標籤下面的Trigger部分新建一個Trigger組合。這個Trigger組合你可以選擇一個PageView的Trigger加上一個Timer的Trigger。還記得Timer怎麼用嗎?我們在《科學分析跳出率的理念和方法》一文中曾經用過。下面給出Timer Trigger的設置方法。 PageView的Trigger就當留作作業了。

每分鐘檢查一次Session時間是否大於600秒
每分鐘檢查一次Session時間是否大於600秒

我們保存所有內容之後測試並發布這個Container就大功告成了。

後記

Google推廣相比AdWords弱在很多方面,其中一點是沒有辦法直接應用Google Analytics收集到的Audience。好在Google Tag Manager是你的BFF。本篇用實例作為教程向各位讀者展示瞭如何靈活應用GTM來高效地部署Google自定義人群標籤。在實際操作中我們可以有更多靈活的方式。希望對你的精準再行銷以及GTM的學習有一些幫助。

感謝關注HubSpot One。