GTM 應該怎麼安裝、設定?如何和 GA 串接?
教你輕鬆在 GTM 上設定 GA 的增強型電子商務(Enhanced-Ecommerce)
其實~ GTM 安裝不難,但是設定和使用就有些眉角 😎
本文就我不專業說明 GTM 的設定、串接過程~
接續 "工程師的什麼是 GTM?"
如~ 前言提到在網站上安插 GTM 並不難,追蹤碼置入到頁面上就好了。
但是要怎麼設定 GA, FaceBook Pixel 呢? 也是本文主要想分享的部份~
"工程師的什麼是 GTM?" 文內有提到,GTM 可以觸發與連結其它追蹤服務平台,依設定讓 GTM trigger, tag, variable 三者完成我們指定的動作。
(對 trigger, tag, variable 有疑問的人,可以再回顧一下關係圖~)
.
.
.
ps: 💡 記得先關掉瀏覽的 廣告阻擋 工具喔,不然測試時會失敗
1- 在網頁內置入GTM 追蹤碼
GTM 追蹤碼的安裝只要依照教學處理非常簡單
另外建議在 gtm 追蹤碼前加一段
window.dataLayer = window.dataLayer || [];
預先定義 dataLayer 待用,避免未定義的錯誤
置入 GTM 追蹤碼後看起來大概像這樣,注意貼上的位置即可~
2- 在 GA 啟用增強型電子商務 / Enhanced Ecommerce
2-b GA 設定網站幣別
設定一下報表的幣別和確認網址是否正確~
4- 新增 GTM variable 設定 GA Track ID
在 Variables – 新增一個 User-Defined Variables
Variable Configuration:
Variable Type: Google Analytics Settings
Tracking ID: 填入 step 3. 的 GA tracking ID
5- 新增 GTM Tag
使用上一步新增的 variable 設定 GA 基本 PageView 功能
並指定 Triggering 為 All Page – Page View
6- ✅ GTM Save -> Preview 或 Submit
這時候 GA 的基本安裝 (pageview event)已經安裝完成,也可以用 tools 檢查
.
.
7- 設定 GA 增強型電子商務 (Enhanced Ecommerce)
GTM 需要把 Enhanced Ecommerce 事件傳遞至 GA,不然事件的傳遞會停在 GTM 這端…
8- 新增 GTM Trigger 負責接收、觸發 Enhanced Ecommerce 事件
purchase|productDetail|transaction|checkout|contact|addToCart|setUserProperties|setUserId
(use regex matching)因為 Enhanced Ecommerce (EE) 事件有很多個,這邊我選擇用 Regex 正規表達式 一次定義多個 event name。
上述的 EE Event 可以在給工程師的什麼是 GTM? – 註2暸解更多
9- 新增 Tag 負責實際將 Enhanced Ecommerce event 傳送至 GA
10- 將上述 8 和 9 兩個功能互相連結(如上附圖下方的 Trigger 部份)
11- ✅ GTM Save -> Preview 或 Submit
這時候 GA 增強型電子商務 (Ecommerce Conversion) 功能就設定完成囉,也可以用 tools 檢查
.
.
.
12- 安裝 FB Pixel
而 Facebook Pixel ID 的取得,對工程師來說麻煩了許多 😵
你要先有 Facebook 帳號
然後建立、申請一個粉絲頁
接著到 Facebook 企業粉絲管理平台 新增一個 business 像素,這樣才能拿到 pixel ID
13- 新增 Tag 負責安裝、置入 FB Pixel
並指定 Triggering 為 All Page – Page View
14- ✅ GTM Save -> Preview 或 Submit
這時候 FB Pixel 就安裝完成了,也可以用 tools Facebook Pixel Helper 檢查
.
.
.
我們可以自定義事件由 GTM 介面送出,也可以由網頁上的 javascript 送出,依自己需求處理就可以
因需求關係,這裡說明如何自行透過 javascript 送出~
與例來說~ 將商品加入購物車
在使用者點擊加入購物車鈕後,隨即呼叫下面指令~
// 發送 GTM / GA 事件 dataLayer.push({ 'event': 'addToCart', 'ecommerce': { 'currencyCode': 'TWD', 'add': { 'products': [{ 'name': '可樂', 'id': 'sn-cola-112233xx', 'price': '35', 'brand': 'coca cola', // optional 'category': 'Drink', // optional 'variant': 'original', // optional 'quantity': 1 }] } } }); // FB Pixel fbq 事件 fbq('track', 'AddToCart', { content_name: '可樂', content_ids: 'sn-cola-112233xx', content_type: 'product', value: 35, currency: 'TWD', });
或是一般的自定事件
當使用者打開 banner 時,我們送出一個 event
附帶的參數為使用者目前的所在網址
// 發送 GTM / GA 事件 dataLayer.push({ event: 'banner/open', properties: { url: window.location.href, path: window.location.pathname, }, }); // FB Pixel fbq 事件 fbq('trackCustom', 'banner/open', { url: window.location.href, path: window.location.pathname, });
ref.
自定事件的參考~
因為是自行編寫 js 傳送事件,所以工程師們可以自由發揮傳遞的事件名稱、參數等內容
👉 但別忘了把發送 event 的觸發點和事件內容,一一記錄為文件
免得未來網站上安插了大量目地不明確的追蹤事件而難以維護
下述工具都只是方便 debug,除了套件有正確安裝之外,還要檢查發送出去的事件參數是否有正確。
例如:購物車結帳金額或是訂單編號有沒有正確送出
GTM 的工具很多但其實內建的預覽工具就很夠用了
新增或編輯任何內容後,GTM 首頁可以看見 preview 鈕
進入預覽模式 (preview) 後在同個瀏覽器打開目標網站就能看見工具面版了
Tag Assistant (by Google) Chrome Extension
能查看透過 GTM 觸發的行為與資料狀態
(GA 成功送出兩個任務; page view 與 event)
Facebook Pixel Helper – Google Chrome
可以清楚的把 pixel ID, 事件發送的成功與否顯示出來
錯誤追蹤、回報非常重要,看到的錯誤才知道怎麼修。現今 PHP 流行的 Laravel 有很好的 Error Tracking, Error Handling。但 plain PHP 怎麼辦呢? 在 production 為了安全考量會設定…
jenkins、circleci、travis 或 Gitlab CI 皆為目前暫知名的 CI/CD 服務,各自缺點也不言而喻...過於肥大、收費略高(?)、速度不夠快執問題...此時使用 go language 開發的 Drone 就出現啦,完全 docker 容器化的運行方式讓整個 CI…
網頁壓縮技術中 gzip 很好用,deflate 己經過時,但你聽過 brotli 嗎? 有著比 gzip 更好、更快的壓縮效率。看起來利大於弊有什麼不用他的理由嗎?簡單從優、缺點來看 brotli!到底 brotli 布羅特利是什麼、如何設定呢。 目前大多的 web server…
為什麼要讓本機使用 Docker 內 PHP? 情境... docker 容器內用的是 PHP 7.4 但你的開發本機還在跑 PHP 5.6 或是更舊,因為 dockerize 的關係會將所有相關環境都轉移到…
為什麼你需要密碼管理工具現代人一天下來需要輸入多少組密碼,工作與生活己經和密碼密不可分! 除了足夠全安的密碼,密碼記錄、儲存的方式又足夠安全嗎?密碼管理工具可以帶來什麼幫助呢? 為什麼你需要密碼管理工具 資安問題!!大多人說著沒做壞事不怕被偷資料、監聽。嚴重曝露出現代人的基本科技素養的低落和無知 🤯 密碼的使用無所不在!! 行動裝置的普及,APP 、手機遊戲、銀行帳戶所有和生活相關的東西都需要密碼!!facebook, line 只要打開 APP 也會輸入密碼只是他是自動輸入、一般情況不可視 (auth token) 一般人最常發生的密碼資安問題…
mysql 資料表分區 mysql table partition 從架構上調整 mysql 的查詢效率。mysql DB 的優化可以簡單也能複雜,除了調整設定值。也可以透過水平分割(Horizontal Partitioning)、垂直分割(Vertical Partitioning) 分庫或分表將資料分散儲存減少資料搜尋、group by 時的效能消耗。拆開批次處理,理論上效率都會變好,本文就水平分割的…
View Comments
請問 這邊的教學 ,「增強型電子商務」,照著做就可以了嗎?不用再請工程師 額外埋一些程式碼嗎?例如 https://developers.google.com/tag-manager/enhanced-ecommerce 這邊說明的程式碼?
要喔,工程師要做的事多著了 XD