Futari 的贊助按鈕點擊數掛零三個月,因為計數器裝在按鈕看不到的地方
Futari 是給兩個人一起記生活帳的家計簿,iPhone App 和網頁版都免費。6 月 7 日,我在首頁和設定頁放了一顆 Ko-fi 的贊助按鈕,願意請我喝杯咖啡的人按下去,就會被帶到 Ko-fi 的頁面。
我也想知道有沒有人按,所以替這顆按鈕接了 Google Analytics 的點擊計數。之後報表上的數字一直是零。不是很低,是零。我自己點過,畫面有反應,Ko-fi 的頁面也正常打開,所以我一直以為零就是真的沒人按。
9 月 17 日凌晨,我先改了那顆按鈕在手機上會蓋住首頁標題的問題,接著才發現,這個零從上線那天起大概就沒有變過,而且一行錯誤都沒報。
原因跟這顆按鈕是怎麼放進頁面的有關。這顆按鈕是 Ko-fi 提供的小元件,它會在我的頁面裡開一個小窗(iframe),再把按鈕畫在小窗裡。這個小窗在瀏覽器眼中是另一份獨立的網頁,只是剛好嵌在我的頁面上。
我的計數器裝在外面那份網頁上,做法是等頁面上的點擊一路往外傳上來,再看是不是點到那顆按鈕。小窗裡的點擊不會傳出窗外。使用者確實按了,也確實被帶去了 Ko-fi,可是這一下只發生在小窗裡,外面的計數器從頭到尾不知道。那個點擊根本不會經過它面前。
修法是把計數器直接裝進小窗裡。等 Ko-fi 把按鈕畫好,我進到每一個小窗裡找到那顆按鈕,在按鈕上掛計數。麻煩的是 Ko-fi 每次重畫都會換一顆全新的按鈕,所以我得記住哪幾顆已經掛過,新的再掛,舊的不重複掛。外面那個永遠收不到點擊的計數器,就一起拿掉了。
測試也重寫了一條。舊的測試只檢查外面那份網頁有沒有收到點擊,它測的是我原本錯的假設,所以一直是綠的。新的測試會把整個元件真的裝起來,在小窗裡點按鈕。拿舊的寫法去跑,這條測試會紅。
這件事之後,報表上掛零的數字我會先去查,再去相信它。「很低」至少代表有東西在算,「零」常常只代表計數器跟被數的東西不在同一個地方。尤其是第三方提供、嵌進頁面的小元件,我現在會先假設它自成一個世界,去找它自己提供的追蹤方式,不再假設外面的那一套對它有效。
Futari 在作品集裡,可以直接打開試用。你們的報表上,有沒有哪個數字一直是零,卻從來沒人懷疑過?
先不說了,我得去把首頁上其他嵌進來的小窗也點一輪。
這段 code 寫於 2026 年 9 月 17 日凌晨,文章整理於 2026 年 10 月。