詳解Google Tag Manager的資料層(Data Layer)

Google Tag Manager Haran 2年前 (2023-01-16) 3330次瀏覽 0條留言

這一篇來介紹Google Tag Manager的高階功能之一資料層——Data Layer

認識資料層

資料層Data Layer)是一種 JavaScript 物件,可用來將網站資訊傳送到「代碼管理工具」容器。之後,您便可運用這項資訊,在代碼設定中填入變數並啟用觸發條件。

詳解Google Tag Manager的資料層(Data Layer)

整體流程是:網站打開,將資料層的資訊發送出去,然後被GTM獲取,用於觸發條件和代碼設定,最終是資訊發現第三方平台。

 

如果沒有Data Layer

詳解Google Tag Manager的資料層(Data Layer)

流程就是:網站打開,GTM去獲取咨詢。

 

這樣就會有問題:網站打開過程中,不同時間點去獲取,GTM獲取到的資訊可能會不一樣的,有些甚至獲取不到,所以需要用Data Layer,主動獲取資訊,並通過資料層發送出去,確保了資訊的準確。

資料層在電商追蹤裡是用得最多,延伸閱讀:Google Analytics 4 :Google Tag Manager 電商设定指南(事件參數法)

 

資料層的結構

資料稱既然是JavaScript 物件,那麼就會有<script></script>的結構,資料稱的結構如下:

詳解Google Tag Manager的資料層(Data Layer)

dataLayer.push:表示將資料層發送出去

event 是自訂事件,用於設定觸發條件,一個資料稱只有一個event

ecommerce、transaction_id 是資料層變數,用於傳輸資訊,一個資料層可以有多個資料稱變數,資料層變數裡是可以嵌套如:

詳解Google Tag Manager的資料層(Data Layer)

transaction_id就嵌套在ecommerce裡。

GTM中獲取自訂事件和資料層變數

接下來看如何在GTM中獲取數據層裡的自訂事件資料層變數

自訂事件

GTM中點擊「觸發條件」——「新增」——「請選擇觸發條件類型以開始設定…」——「自訂事件」,命名為“refund”,然後做如下設定:

詳解Google Tag Manager的資料層(Data Layer)

事件名稱裡填event的值refund。

 

資料層變數

GTM中點擊「變數」——「新增」——「請選擇變數類型以開始設定…」——「資料層變數」,命名為“dlv-ecommerce”,然後做如下設定:

詳解Google Tag Manager的資料層(Data Layer)

dlv表示dataLayer Variables,建議是資料層變數都採用dlv-XXXXX的結構,便於區分。

資料層變數名稱就是資料層變數ecommerce。

如果是嵌套的,那麼填ecommerce.transaction_id。

如果裡面有數組,那麼用數值表示第幾個的值,如ecommerce.items.0.discount裡的0就表示是數組裡第一個。

 

 

dataLayer和dataLayer.push的區別

詳解Google Tag Manager的資料層(Data Layer)

  • dataLayer:是定義靜態的資料層,自訂事件和資料層變數是獲取不到值的
  • dataLayer.push 是將資料層發送出去

 

如果錯誤使用dataLayer會導致資訊沒有發送出去,GA4報告中会沒有數據:

詳解Google Tag Manager的資料層(Data Layer)


如果您在操作上仍有任何疑問,歡迎留言交流,或加入:Google Analytics 4交流社團發問
Like (0)
發佈我的留言
取消留言
表情 贴图 加粗 删除线 居中 斜体

Hi,*为發佈留言必須填寫。

  • 顯示名稱*
  • 電子郵件地址*
  • 個人網站網址