安裝追蹤前先寫出業務決定
漏斗報告要有用,每個階段都必須對應真實的顧客行為。看到結帳頁,不等於已開始結帳;按下「付款」,不等於款項成功;完成頁亦可能重複載入。先寫明要回答的問題:顧客在哪個正常結帳步驟離開,哪個技術或營運環節值得查?接着界定哪些訂單納入,包括訪客結帳、不同付款方式及測試訂單,並註明期間。報告計算的是事件、工作階段、人數還是獨立訂單,分母不能混用。Google Analytics 建議使用 begin_checkout、add_shipping_info、add_payment_info 和 purchase 等電子商貿事件,但若商戶在錯誤時點送出,平台本身無法替店舖判斷真實業務狀態。
量度計劃宜精簡到能逐項驗證。為每個事件記錄業務含義、觸發條件、必需參數、負責人,及一個絕對不應觸發的例子。若店舖沒有獨立輸入送貨資料的步驟,不應為填滿標準漏斗而虛構 add_shipping_info。若付款由外部服務處理,要標明顧客何時離站、何時回來,以及店舖在哪一步確認訂單完成。圖表出現缺口,可能因標籤未裝好、顧客沒有參與量度,或旅程真的中斷;單靠圖形不能分辨。分析工具應是待核對的診斷線索,而非最終訂單帳簿。
把各結帳階段綁定可觀察時點
begin_checkout 宜在購物車真正進入結帳流程時觸發,而非每次打開購物車或帳戶頁都計算。若顧客返回再開始,要先決定報告會否接受同一旅程重複出現事件。若確有送貨資料步驟,add_shipping_info 應跟隨有意義的提交或選擇,而不是只因游標進入地址欄。add_payment_info 代表已提交付款資料,不能只因付款欄顯示便觸發。Google 的建議事件說明了這些事件的意思;團隊須把它們對應到自己的畫面,並測試提交被拒和更正的情況,避免失敗嘗試被算成已完成階段。
purchase 的界線要更嚴謹。應選擇店舖按本身付款與訂單程序已確認訂單的時點;按付款鍵或顯示樂觀的「完成」畫面都不足夠。若某付款方式可能長時間待處理,顧客返回網店也不代表購買已完成。事實來源可能是訂單系統更新,而不是頁面本身。Google 把 purchase 定義為完成購買,並提供 transaction_id 區分交易。事件應從可信的確認狀態發出,且顧客重新整理完成頁不能創造新訂單或第二個購買訊號。
傳送能保存業務意義的參數
購買事件應帶有來自訂單流程的獨立 transaction_id、傳送金額時適用的貨幣,以及屬於該筆交易的商品。Google 的電子商貿指引要求傳送 value 時在事件層提供 currency;其交易編號指引指出,每張訂單編號要獨立,不應包含可識別顧客的資料,也不可傳空字串。若香港店舖收取多種貨幣,不能默默把所有金額都當作港元。要依平台欄位定義決定 value 代表甚麼,並令稅款、運費與商品金額一致。沒有貨幣或計算基準的數字,容易造成錯誤的收入比較。
事件名稱、頁面網址、交易編號及自訂參數都不應包含姓名、電郵、電話、完整送貨地址或其他個人識別資料。Google 的 Analytics 指引明確提醒不可傳送可識別個人的資料,也指出一般頁面標籤會收集網址和頁面標題。因此,即使 purchase 事件本身乾淨,帶有電郵或敏感查詢值的完成頁網址也可能隨普通頁面瀏覽流出。應在測試瀏覽器查看實際傳送內容,從來源刪除或重設欄位,而非事後只在儀表板隱藏。個別店舖另有私隱及同意安排要評估;本文聚焦事件定義是否真實。
在來源及報告兩端處理重複
顧客可能重新整理完成頁、同時開兩個分頁、從電郵返回,或稍後因查詢再次開啟;網站與標籤管理工具亦可能各自送出一次事件。Google 表示 GA4 會按相同 transaction_id 去重網頁購買事件,但此機制只適用於網頁資料串流,且空白編號可能使無關購買被當成重複。不能因此任由網站無限制重送。每張真實訂單應有一個穩定而獨立的編號,盡可能在來源避免重複觸發,並測試兩張不同訂單絕不共用編號。判斷分析報告是否合理時,營運訂單帳簿仍是權威紀錄。
一個簡單測試可找出不少問題。建立一張受控測試訂單,使用不含個人資料的訂單識別碼,核對已確認的 purchase 是否帶正確金額、貨幣及商品,再重新整理及重訪完成頁。建立第二張訂單,確認編號不同。再測試放棄結帳、付款失敗及付款待處理,除非底層訂單其後真正到達已定義的確認狀態,否則都不應計作完成購買。若之後退款,Google 建議發出與原 transaction_id 及商品資料相連的 refund 事件。退款事件描述的是其後動作,不會抹去曾有一張訂單完成的歷史事實。
先看 DebugView,再核對指定樣本
Google 建議在測試動作發生時用 DebugView 查看事件及參數。應走遍各種支援的結帳路徑,檢查預期次序、遺漏參數及意外重複。即時畫面只能證明資料有送達,不能證明符合業務事實。之後從訂單系統抽取一組有界限的測試或近期訂單,對照分析系統收到的交易編號、貨幣、金額和狀態,並註明例如量度選擇等已知排除情況。每項差異要逐一調查。遇到不明缺口,不應隨便新增頁面瀏覽觸發來填數;這只會令總數看似完整,卻離真實訂單更遠。Google 的驗證指引也指出重複標籤及事件語法錯誤會影響收集。
報告應註明計算甚麼,以及哪些行為未能計算。事件數目不自動等於獨立顧客或訂單;以工作階段為分母的階段比例,與以購物車為分母的結果不同,重複造訪亦會改變數字。若團隊更改事件觸發條件,應標註日期,避免把定義已變的前後期間當成直接可比。某階段突然下跌,可能是量度改動,而非顧客遇到障礙。向店主呈報時,在漏斗旁附上訂單對照結果及已知排除項目,才可據此決定是否需要重設付款或送貨流程。
對帳不能只看兩個總數是否接近,應先寫好欄位對照,再按交易編號逐張檢查小量樣本。差異可分類為測試訂單、待付款、已退款、事件遺漏、重複事件、貨幣不同或已註明的量度排除項目。記錄事件發出當刻的訂單狀態;其後退款,不應令歷史購買事件被重新解讀為付款失敗。若同一類差異反覆出現,就修正觸發條件或資料映射,再抽樣重驗。這比不斷調整儀表板篩選器,直到兩個總數碰巧相等,更能找出真正問題。
保留能跟隨改版的事件紀錄
結帳改版會更動按鈕名稱、網址和第三方付款步驟。事件紀錄應獨立於這些表面細節,列出事件名稱、業務觸發條件、來源系統、欄位、不含個人資料的示例負載,以及一個不應觸發的反例。每次更動頁面、支付服務或標籤管理工具都要重新檢查。由熟悉訂單操作的人確認業務含義,再由負責實作的人跟進技術設定;這是店舖內部工作分配,並非聲稱本文接受了獨立審核。若瀏覽器端無法可靠辨認已完成訂單,應先查明可信整合方式及其支援條件,才作出購買量度主張。
最後要問的是:漏斗能否回答業務問題,而且不與訂單帳簿矛盾?若不能,就先暫緩解讀,修正事件定義或收集路徑。完整的驗收要指出每個階段的真實發生時點、使用不含個人資料而穩定的交易編號、把付款失敗或待處理與購買完成分開,並記錄測試訂單重新整理、退款及對帳時的結果。通過這些核對後,漏斗缺口才可成為進一步調查的有用線索。本文提供驗證方法,沒有聲稱 Astera 或任何商戶已有特定轉換率、升幅或成效。
進行前先確認
- 每個事件是否在真正業務時點觸發,並正確處理失敗及待付款?
- 購買編號是否獨立、不含個人資料,並可與訂單帳簿對照?
- 測試旅程、DebugView 及指定訂單樣本是否得出一致結果?
資料來源及延伸閱讀
- Google Analytics: recommended ecommerce event meanings and DebugView verification ↗
- Google Analytics: transaction ID uniqueness, deduplication scope and empty ID warning ↗
- Google Developers: ecommerce event validation and duplicate tag checks ↗
- Google Analytics: personally identifiable information restrictions ↗


