先問你一個殘忍的問題:你首頁上那五張 banner,哪一張是真的在賺錢,哪一張只是佔位子?大部分店家答不出來。設計師排版、行銷換檔期、老闆憑感覺說「這張好像不錯」,然後每個月照樣輪播。問題是——如果你不知道哪個版位帶來成交,你就永遠在為感覺付出版面成本。
好消息是,GA4 有一組專門解決這件事的事件:view_promotion(版位被看到)與 select_promotion(版位被點擊)。把它們埋好,你就能算出每一個版位的曝光、點擊、點擊率,甚至一路追到最後成交金額,做出一張「版位收益排行榜」。這篇帶你從概念到程式碼到報表,一次做到位。
先搞懂四個關鍵參數:版位追蹤的座標系
內部推廣追蹤的核心,是用四個參數幫每個版位標上「座標」,之後報表才分得出誰是誰:
- promotion_id:這檔推廣活動的編號,例如 'summer-sale-2026'
- promotion_name:活動的可讀名稱,例如 '夏季全站 8 折'
- creative_name:這張素材的名稱,例如 'banner-寬褲主視覺'
- creative_slot:這是最重要的一個——版位代號,用來區分「同一檔活動出現在網站的哪個位置」,例如 'home_hero_1'、'home_belt'、'category_top'
記住一句話:promotion 是「賣什麼活動」,creative_slot 是「在哪個位子賣」。同一檔夏季特賣,可能同時出現在首頁大圖、首頁腰帶、分類頁頂端三個位子,它們 promotion_id 相同,但 creative_slot 不同。這樣你才分得出「同一個活動,哪個版位最會帶客人進來」。
對應到實務:像 QuickEntry 腰帶那種版位怎麼區分
很多店家首頁有一條「快速入口腰帶」,並排四到六個小方塊(新品、熱銷、清倉、會員專區)。這種版位最容易被忽略追蹤,因為它們看起來只是導覽。但其實它們就是內部推廣版位,而且往往是點擊主力。
做法是:腰帶裡的每一格,都給一個獨立的 creative_slot。例如從左到右依序是 'belt_slot_1' 到 'belt_slot_4',creative_name 帶上那格的主題('腰帶-新品上市'),promotion_id 帶上它導向的活動。這樣你之後就能看到「腰帶第一格 vs 第三格」的點擊率差多少,把最會賣的主題移到第一格、把沒人點的那格換掉。版位追蹤的價值就在這裡:它讓你有依據去換位、停損、優化,而不是憑手感。
第一顆事件:view_promotion(版位曝光)
當一個版位真正出現在使用者眼前(進入可視範圍)時觸發 view_promotion。理想上要搭配「曝光才算」的邏輯(用 IntersectionObserver 偵測元素進入畫面),而不是一律在頁面載入就全部送出——不然被輪播藏在後面、使用者根本沒看到的 banner 也會被算進曝光,點擊率就被稀釋。基本結構如下:
- gtag('event', 'view_promotion', {
- promotion_id: 'summer-sale-2026',
- promotion_name: '夏季全站 8 折',
- creative_name: 'banner-寬褲主視覺',
- creative_slot: 'home_hero_1',
- items: [{ item_id: 'SKU-1024', item_name: '日式棉麻寬褲', promotion_id: 'summer-sale-2026', creative_slot: 'home_hero_1' }]
- });
這裡有個進階但很實用的細節:items 裡的每個商品也可以帶 promotion_id 與 creative_slot。這樣 GA4 就能把「這支商品是透過哪個版位被推出去、最後有沒有成交」串起來,讓你算出「版位 → 商品 → 營收」的完整歸因,而不只是點擊數。
第二顆事件:select_promotion(版位點擊)
使用者點擊那個版位時觸發 select_promotion,參數要跟同一版位的 view_promotion 完全對齊(一樣的 promotion_id 與 creative_slot),GA4 才配得起來算出點擊率:
- gtag('event', 'select_promotion', {
- promotion_id: 'summer-sale-2026',
- promotion_name: '夏季全站 8 折',
- creative_name: 'banner-寬褲主視覺',
- creative_slot: 'home_hero_1',
- items: [{ item_id: 'SKU-1024', item_name: '日式棉麻寬褲', promotion_id: 'summer-sale-2026', creative_slot: 'home_hero_1' }]
- });
最容易翻車的地方就是這裡:曝光與點擊的 creative_slot 命名如果對不上,報表就會裂成兩筆對不起來的資料。曝光時寫 'home_hero_1'、點擊時寫 'homeHero1',GA4 會當成兩個不同版位,你算不出點擊率。務必把版位代號集中管理(例如寫成一份常數表),曝光與點擊都引用同一份,杜絕手打不一致。
命名規範:版位追蹤成敗的隱形關鍵
版位追蹤 80% 的失敗都不是技術問題,是命名混亂。建議在動工前先訂一份 creative_slot 命名字典,用「頁面_區塊_序號」的結構,全站共用:
- home_hero_1 / home_hero_2:首頁主視覺輪播的第一、二張
- home_belt_1 到 home_belt_4:首頁快速入口腰帶四格
- category_top / category_sidebar:分類頁頂端與側欄
- cart_recommend:購物車頁的推薦版位
promotion_id 則建議用「活動主題-年份」,例如 'newyear-2026'、'membersday-2026'。這樣三個月後回頭看報表,你一眼就知道每筆資料是哪個活動的哪個版位,不會對著一堆亂碼發呆。命名字典就是版位追蹤的地基,先訂好,之後省下無數次對不上的痛苦。
怎麼看報表:從曝光點擊到收益排行
埋好之後,GA4 的「營利 → 促銷活動」報表(或用探索分析自建)就能看到每個 promotion 與 creative_slot 的曝光數、點擊數、點閱率。但真正有價值的是往下一層做「版位收益」——用探索分析,維度選 creative_slot,指標拉「促銷活動點擊」與「購買收益」,你就得到一張「哪個版位帶來多少營收」的排行榜。
判讀邏輯是:高曝光低點擊的版位 → 素材或位置不吸引人,換素材或降權;高點擊低成交的版位 → 導去的商品或活動頁沒接住,檢查落地頁;高點擊又高成交的版位 → 加碼、複製到更多位置。有了這張表,你每個月換 banner 就不再是憑感覺,而是拿數字說話,把最貴的首頁黃金版位留給真正會賣的素材。
用 AI 輔助,但驗證不能省
你可以用 AI 加速這件事:例如請 AI 依你的命名字典,一次產出腰帶四格的 view_promotion 與 select_promotion 程式碼;或把一份 GA4 促銷報表貼給 AI,請它幫你點出「哪個版位點擊率異常低、可能要換」。AI 在整理重複結構的程式碼、與初步解讀數字趨勢上確實好用。
但同樣要守住底線:AI 不知道你網站的真實 DOM 結構、不知道哪個元素對應哪個版位,它產的 creative_slot 常常是它自己編的。你必須人工核對每個版位代號有沒有接到正確的元素、曝光與點擊是否成對、命名是否符合你的字典。AI 產完,一律進 DebugView 走一遍完整曝光與點擊流程再上線。把 AI 當減少重工的工具,最終正確性還是靠你自己驗。
劃重點總結
版位追蹤讓「首頁哪張 banner 最會賣」從玄學變數字。核心是兩顆事件——view_promotion 記曝光、select_promotion 記點擊;核心是四個參數——promotion_id、promotion_name、creative_name,而 creative_slot 是區分版位的靈魂;成敗關鍵是命名字典要先訂好、曝光與點擊代號要對齊;價值在於做出版位收益排行榜,讓你有依據換位停損。像腰帶那種多格版位,記得每格獨立 creative_slot。埋完用 DebugView 驗過再上,別讓黃金版位繼續浪費在不會賣的素材上。