【GTM進階篇】data layer及JSON是什麼,它們如何與GTM互動

papaya tsai
5 min readNov 24, 2017

--

運作流程大概是這樣

概念解釋:JSON code、data layer

雖然使用GTM設定GA電商追蹤的步驟看起來很簡單,但為什麼這樣做能夠成功運行代碼?這是我想要了解的。我查了一些資料,來釐清設定步驟二中的JavaScript code的組成要素。

使用GTM設定GA電商追蹤代碼的3步驟

這段Google範例的資料層程式碼,其實是由2段JS code組成:data layer以及JSON code。

圖片擷取自Google代碼管理工具說明-給GTM使用的電商資料層程式碼

JSON是什麼

JSON全名叫做JavaScript Object Notation,是在JavaScript之中,表示物件的一種格式。電子商務的交易資訊就是一段JSON code,用來定義每筆交易的格式與數值。例如transaction開頭的就是交易資料,而sku、name、category、price、quantity是產品資料。JSON的格式由物件(object)及陣列(array)組成。下面這篇文章提供非常清楚的解釋。

data layer是什麼

data layer與GTM、JSON的關係

data layer是動態傳送、存放網站行為數據的位置層。目的是讓 GTM可以隨時自由擷取、傳送資料到Google 應用工具如 GA & Adwords。

為什麼需要data layer?如 GTM官方說明中心所述, 這是因為在網頁中很多資料會動態更新,如頁面上發生的各種訪客使用行為:提交表單、交易等。對這樣動態變化的資料,我們必須先用data layer處理過,再將資料傳給送到GA;相對的,一般的網頁瀏覽、點擊事件,page的追蹤碼會直接送資料給GA,不須要用到data layer。詳細解釋參考下方文章。

GTM與資料層程式碼的互動關係

掌握JSON及data layer的概念後,這兩者跟GTM的關係又是什麼?為什麼GTM這樣設定能成功啟用GA電子商務追蹤?

流程是這樣的:

當我們在網頁程式碼埋好資料層程式碼(含JSON及data layer),這時JSON定義了電子商務的交易資訊格式,而data layer存在的目的是讓GTM抓取這段JSON code,以傳送電商數據資料到GA報表。

流程概念簡化如下:

使用者抵達訂購完成頁面,交易成立→GTM代碼觸發→GTM利用data layer抓取JSON 結帳資訊→結帳資訊送到GA電商報表

那麼~GTM系列就到這邊,感謝收看,如文章內容有誤請不吝指正!

--

--