網站不再是做好放上去,搜尋引擎隨便就找得到,店家還可以輕易的從訪客身上得到收益,用網路做生意近年來成為一片紅海,讓許多網站經營者開始想從數據得知「這個策略是否正確」,而不再是瞎子摸象

大家開始重視網站上的數據與使用者行為,會帶來什麼影響呢? 消費者得到更棒的產品,與更好的上網體驗嗎?

才怪。各種網路行銷工具、分析工具、成效評估工具的推廣文章如雨後春筍般冒出來,本來一些給工程師用,或需要具備行銷與資訊知識才能用的東西,也成為民間行銷課程的基本工具。就因為工具的相關知識不足,常常發生許多災難性的狀況:

例如看數據做決定,經常會有一些光怪陸離的情況,例如:
– 看膚淺的數字做出不正確的決策。例如光看轉換率,發現小米品牌裝置的使用者送出訂單轉換率超高,Apple 很低,所以以後辦活動都不用鳥果粉了? 但實際察看 GA 的事件次數、電子商務的產品收益金額,發現是 Apple 的使用者太多,沖淡了轉換率,實際上從小米品牌裝置使用者來的產品收益超少。
– 數字產生的方式不正確,連帶地造成決策產生更大的誤差。例如看 GA 地理區域報表,發現某地區的人特別多,停留的特別久,因為沒有把公司內部流量排除掉,那些都是自己人啊。
– 誤解數字的意義與來源,做出不正確的決策。例如看訪客媒介大部分都是 none,搜尋引擎自然排序跟社群網站的來源訪客超少,覺得產品在社群這塊不夠力,要再買 FB 廣告,或是找小編整天在 FB 發一些廢文? 但是從 Line 點進來的使用者,沒有來源網址,也會被歸類在媒介: none 裡面。
– 只看數字,不看成效,不解決問題。例如只想要流量越多越好,卻不在意轉換率或是步驟漏水率。或是只看到「喔,我的網站用手機來看的人比較多」,卻沒關注各裝置的轉換率或操作行為流程,導致花時間在改善一些本來沒問題的地方。
– 花時間在衝數字、花大半的時間在學習如何操作工具,而不是把時間花在提升產品或服務。如果你正在看這篇文章,小心你已經踏入工具人的思考領域了。

這些都是本末倒置的,別忘了這些工具只是手段,目的是為了讓業務成長,或是達成想要的目標。

以上都是題外話,如果想埋設一些數據追蹤工具,不管是網路行銷公司的代操人員、業主上網看文章自己來做,在第一步就會開始遇到一些問題,例如:
「評估行銷成效是網路行銷公司的事,不包含在網站設計或程式功能。所以網站設計公司不配合在頁面放置我想要的追蹤程式碼。」
「技術人員不開放 FTP 給我們使用,因為直接看到程式,會造成安全問題。」
「網站的程式檔案是用 SSH 連線 Push 上去的,我連上傳跟下載都不會,那要怎麼在程式裏面放追蹤碼呢?」
「每埋一次行銷或使用者行為的追蹤代碼,就要簽署許多文件,才能請網管人員放程式碼在網頁上,有時候要調整一些小地方,又勞師動眾,甚至產生額外的費用。」
「程式做好之後放在對方的主機上,但是對方無法理解為什麼有人常常要進去他們的主機裡面改東西?」
「這個網頁程式架構是一個版面就是一隻 php 檔案,而且還有三種語系,總共有幾百個檔案,只能一頁一頁去埋、一頁一頁去改嗎?」

Google 代碼管理工具(Google Tag Manager, GTM) 就是因應這樣的需求而生的解決方案,以網站來說,只要在頁面上放置一次 GTM 的程式碼,以後如果要再加一些其他工具的 javascript 程式碼,只要在 GTM 裡面操作,即可達成許多一般的需求,不需要每次去伺服器抓網頁程式檔案下來改,或是找工程人員幫忙上傳檔案。要完成一件事,不需要再看別人的臉色。

GTM 在 2015 年大改版過一次,簡化了許多設定流程,終於有一些服務小型企業的網路行銷公司也漸漸開始使用了。從「幫忙把這段廣告追蹤或是再行銷碼放在網頁上」,變成「請將這段 GTM 代碼放在網站上。」

為什麼要寫這篇文章呢? 因為發現世人對這種工具概念不明,提出錯誤的需求,就像去鬍鬚張買貓飼料,事情有可能順利進行嗎?

一、Google Tag Manager 的主要功能
1.選擇放置的代碼類型
內建一些 Google Analytics 事件追蹤, Google Adwords 再行銷、轉換追蹤,以及一些常見線上工具的程式碼格式,只要把必要的 ID 填上就可使用,不需要每個平台各放一大串 code。當然都要先在各平台申請帳號,在這裡才有東西可以填。

如果需要另外寫 js 或 css,可以選擇自訂 HTML 代碼的選項
如果需要另外寫 js 或 css,可以選擇自訂 HTML 代碼的選項

2.代碼的內容
代碼是剛剛選的一些線上服務的參數,也可以放自己的 html, js, css。如果一個觸發條件要執行許多代碼,代碼之間有依存性,可以調整代碼執行順序。也可以預約排程,設定代碼幾月幾號幾點幾分執行與停止。

3.設定代碼啟動時機,點擊某個網頁上的元素、瀏覽某個頁面:

例如只要在在新聞相關頁面增加額外的代碼
例如只要在在新聞相關頁面增加額外的代碼

或是一些 GTM 的功能變數記錄到資料時:

GTM 提供的變數功能分類
GTM 提供的變數功能分類

這些博大精深的功能變數就是 GTM 的奧義,這些功能變數的用法幾乎前無古人,因為民間的文章通常都是 GTM 大改版之前的用法,另外還有一些英文專有名詞,網頁前後端的技術人員一看就知道是啥,但還是有一些很難理解的,翻成中文之後更難懂,例如 Component Type : Fragment ,中文叫「元件類型:片段」,是用來抓網址的 hashtag 值用的。

4.變更紀錄
許多使用者都對資訊工具的「今天用得好好的,隔天卻不能用了」的情況一籌莫展,因為通常沒有系統紀錄功能,不知道發生了什麼事? 或是有誰動了什麼? 就算真的有紀錄,內容常常也不是給人類看的,最終只能通靈。

但是 GTM 沒有這種問題,每一次、誰做了那些變更,都可以查出來。除非當事人以帳號被盜之類的理由,不然這種如同時光機的功能如果能推廣到世界上每一個資訊系統,應該得到諾貝爾和平獎。

5.偵錯與紀錄模式
偵錯與紀錄模式,可以查看剛剛的操作會觸發那些資料層的變更,也可以快速查看追蹤程式碼是否有被執行與傳送資料,不需要在一閃即逝的操作流程中挑戰手速,更不需要在分析系統裡面望穿秋水,癡癡地等待數據跑進來。

二、GTM 初階應用範例:
講完之後還是霧煞煞? 那來實戰一下,舉兩個幼兒級的 GTM 應用。

(範例1).在 GTM 中設定,讓特定 ID 的按鈕送出 GA 事件追蹤碼。
假設網頁最底下有一個 < button id=’btn_mailsubmit’>訂閱惱人的廣告信</ button> 按鈕,另外在文章中間,文案正高潮的地方也放了一個,哪一個的提交訂閱數比較多呢?

我們要讓有人按按鈕的時候,送出 GA 事件追蹤代碼讓 GA 記錄起來,以其中一顆的記錄法為例:

不需要程式碼一大段一大段的貼,只要先申請好,在此處填上必要的 id 或名稱即可

不需要程式碼一大段一大段的貼,只要先申請好,在此處填上必要的 id 或名稱即可
1.在 GTM 裡面建立一個 GA 事件追蹤類別的代碼。

如果按了按鈕還有「某欄位未填寫:」「是否確認訂閱?」之類的步驟,請改用其他的觸發條件。

如果按了按鈕還有「某欄位未填寫:」「是否確認訂閱?」之類的步驟,請改用其他的觸發條件。
2.觸發條件設定為 ClickID = btn_mailsubmit

查看是否接收到資料

查看是否接收到資料
3.點擊按鈕後,GA 成功接收到事件。我們就可以拿這個事件去建立目標,得出目標的轉換率。或是應用在其他的 GA 報表工具內。

(範例2).在 GTM 中設定,當完成轉換時,送出 Adwords 轉換追蹤碼。
比如說有人把 Yahoo, Google, Facebook …等各種「要花錢的」網路廣告服務,視為把網路上的人拉進來網站的救命稻草,但是在廣告投放之後,發現成效沒有夢想中那麼美好,就會去要廣告報表來看,報表上可以知道廣告的點擊數、曝光數、花費……但這些數字的意義不夠大,又不是有人點進來網頁,店家就瞬間做成生意了!

這時候就是轉換追蹤的重要性了:
– 對於購物網站或是訂購單網站而言,要送出訂單才算做成生意(完成轉換),
– 對申請或提供某服務的網站而言,要有人註冊、有人登記、有人下載,看了影片,這些才算是轉換,
– 經過完整的設定後,就能區分出訂單是否真的是廣告帶來的,還可以依訂單金額來統計那些族群最愛點廣告、消費力最強(轉換價值)。
– 除非店家提供的產品或服務,無法在網頁上進行可記錄的行為與動作,例如是要打電話去訂的,那頂多只能將「在行動裝置上點擊電話連結」的行為作為轉換。

Google Adwords 轉換追蹤類型

[Google Adwords 轉換追蹤類型

行銷人員不是投放了廣告之後就等著收錢,有時候還有後續的追蹤分析或成效評估(如果業主有出這麼多錢、買這麼多服務的話)。現代的廣告系統通常都有追蹤轉換次數的設定,如 Facebook 的叫轉換像素,Google Adwords 的叫轉換(conversion),通常是在網頁上放一段程式代碼,然後在轉換完成的流程中設定一些內容。

以 Yahoo 原生廣告為例,需要設定一個獨一無二的重要步驟轉換網址
以 Yahoo 原生廣告為例,需要設定一個獨一無二的重要步驟轉換網址

使用 GTM 中的 Google AdWords 轉換追蹤設定,需要這樣設定:

以 Google AdWords 的轉換追蹤為例:

以 Google AdWords 的轉換追蹤為例:
1.代碼: 以 Google AdWords 而言,GTM 內建相關參數,所以不需要整段程式碼貼上去,只要先申請好,然後在此處填上必要的 id 或名稱即可。
2.雖然轉換步驟完成後沒有獨立的網址,但是我們偵測到一些 GTM 資料層的更動,就可以拿資料層的功能變數作為觸發條件,執行轉換追蹤代碼。

下次當店家說「花了這麼多錢投廣告都沒用」的時候,廣告操作人員不可能幫店家收信、接電話,也不會去後台數訂單,而是可以直接從廣告報表裡的轉換數字或轉換價值,看到送出購物車…之類的次數,還可以大概得出業主最愛看的投資報酬率(ROI)與客戶獲得成本(CPA)。如果是完成結帳的次數很多,但是退貨率超高,或是連加到購物車的動作都沒有發生,這種問題就跟廣告投放的關連不大。

但轉換這些只是評估廣告成效用的指標,對產品還有真正重要的價值指標,例如停留時間、每日活躍用戶(DAU)、使用頻率等等。甚至還有用戶終身價值(LTV) 之類的指標,這是沒完沒了的數字遊戲嗎? 不,只是幫助釐清問題的工具。

三、GTM 不是完美的
介紹工具,不能輕鬆寫意地光講一些神蹟。身為執行者,也要講一下工具的缺點,不然老闆要你明天就全面採用,或是砸個五年五百塊下去深耕這部分的話怎麼辦?

1.依賴瀏覽器的功能來運作
Google 代碼管理員會在網頁上放一支外部網域的 JS 檔案,就跟 Google Analytics 網頁分析做不到的事 一些狀況類似,如果使用者的瀏覽器有異常狀況,或是安裝一些套件把重要的 js 擋掉,或是中毒到瀏覽器的 Java Script 功能異常,GTM 上面不管設定得多棒,都是沒有用的。

2.Google vs.中國大陸地區
既然是 Google 的玩意兒,在「大中華市場」的連線狀況呢? 依照 GreatFire.org 的測試結果,目前看起來是會通。
也許突然明天就高牆倒下、改革開放了,也有可能今天能通,明天就被牆了,誰敢保證?

3.無法達成超出科技範圍的需求
極端的範例,例如想要在刷卡畫面~~紀錄使用者輸入的卡號、日期、檢核碼~~ (好孩子不要學。現在的卡片都有簡訊驗證之類的步驟,抄卡號是沒效的),想要透過 GTM 與一些工具紀錄使用者是不是真的有到達刷卡畫面、是否停留太久逾時、裝置與瀏覽器資訊、使用者沒輸入任何東西就關閉視窗前,先用 beforeunload 送一些資訊給伺服器…等等。

如這個刷卡流程是整頁轉過去的,已經不是原來網站的網址了。可以傳送到刷卡頁面的,只有銀行允許的必要交易資訊,銀行傳回來的也只有必要的交易資訊,不會有其他雜訊。所以無法埋 GTM,也無法透過 GTM 來記錄任何東西。

還有一些部落格或是網路商城,只提供一個欄位讓人填 Google 分析的 UA- 追蹤編號,連外部的 javascript 都不能放,想要在這種系統上用 GTM 做些什麼事,也是門都沒有。

4.可能為網站增加額外的問題疑慮
– 網頁可能用很潮的 MVVM 類前端框架,或是 AJAX 技術做的,比照 GTM 埋設 GA 加強型電子商務 UA 的官方文件,許多仰賴 gtm.dom 觸發的功能都無法正常使用,又要自己另外在 GTM 設一堆觸發條件。
– 現代網頁中非常多 Java Script 的功能,有可能 GTM 裡面放的程式碼有誤,連帶影響網頁的正常功能。到時候又是網站開發人員要去排除故障狀況,是有福你享,有難我當的概念。
– 有些企業會有禁止白名單以外的 IP 連線存取 FTP 、或是複雜的程式上版安全措施,但如果網站上掛了 GTM,有心人士還是可以透過 GTM 達成一些會讓網站無法正常運作的行為。
– 擁有足夠的 GTM 容器權限的帳號如果被盜了,也是會天下大亂,例如讓整個網站有掛 GTM 的頁面通通 $(‘body’).remove(); 或是猛跳視窗炸彈,雖然這是犯罪行為,抓到人求償是一回事,但是被緊急召回,盡快讓網站恢復正常則是工程部門的事。即使一般盜帳號的目的都不是為了取得 GTM 管理權限,但還是盡量啟用兩步驟驗證吧。

代碼管理工具有些弊端,但相比為了評估活動成效,常常直接修改網站程式,只能從上傳紀錄或是從 SCM 工具叫出 commit 或變更紀錄來查,實在是增加大家的麻煩。導入這類代碼管理工具,在追蹤行銷成效、記錄使用者行為之類的工作流程上,還是為團隊可以增加很多便利性的。

延伸閱讀
Google Tag Manager 跟 Google Analytics 傻傻分不清楚? – WIS Blog
為什麼網路行銷沒有效? | SmartM 電子商務