"Automation"
- 訪客識別與 opt-out
流量記錄裡的來源網址大量空白、任兩列之間看不出是不是同一個人時,補上識別欄位並保留退出機制
- Apps Script 是什麼、跟一般伺服器差在哪
把 Apps Script 定位成 Google 托管的無主機 JS 執行環境時,容器綁定與獨立專案的差別、以及沒有常駐程序帶來的取捨
- Beacon
瀏覽器在頁面事件發生時主動送出、送出後不等回應的一則事件回報請求,用於靜態站把資料回傳給接收端
- 前端 beacon 與 CORS 障礙
靜態站用瀏覽器送瀏覽事件到 Apps Script 時,為什麼要用 sendBeacon 送 text/plain 才不會被 CORS preflight 擋下
- 時間觸發器:把 raw log 彙總成日報
用時間觸發器每天定時把原始瀏覽 log group 成日報,以及在 90 分鐘觸發配額下只讀增量的效率寫法
- 部署與存取權限的安全含義
beacon 接收端設成匿名可存取時,execute as 與 who has access 各自的安全含義、以及這個公開端點實際能被拿來做什麼
- 寫入與並發:appendRow 與 LockService
多個 beacon 同時寫進同一張 Sheet 時,appendRow 的競態風險與 LockService 序列化寫入的時機判斷
- 靜態站的能力邊界與膠水層
靜態站量不到自己流量的根本原因、膠水層補的是哪一塊伺服器能力、以及 client beacon 怎麼把資料送回你手上
- 事件模型與停留時間
每次瀏覽只記一列時看不出讀者停留多久、有沒有真的在讀;補上離開事件之後,那個秒數的語意與既有報表公式的連帶影響
- Web App Deployment(Web App 部署)
把 Apps Script 專案掛成一個有公開網址、可被任何 HTTP 請求呼叫的端點時的部署模型與存取設定
- web app 部署模型與授權
把 Apps Script 掛成可被 HTTP 呼叫的端點時,doGet/doPost 進入點、exec 與 dev 兩種網址、以及更新部署為什麼要用同一個網址
- 免費額度的思考方式與工具選型
判斷免費膠水層撐不撐得住自己流量時該看哪個限制、以及 Apps Script 與 Cloudflare Workers 各自適合什麼場景
- 表單與事件觸發器
由 Google 檔案事件(表單提交、試算表編輯)觸發的 Apps Script,以及 simple 與 installable 觸發器在權限上的差別
- 配額、濫用防護、隱私與遷移訊號
免費配額實際碰撞時會怎樣、擋髒資料與過濾自己瀏覽的做法、不記 PII 的隱私立場、以及量大到該離開 Sheets 的訊號
- 接收端 handler:寫進第一筆
Apps Script 這端怎麼解析 text/plain 的 beacon、用伺服器時間補上時間戳、append 進 Sheet,並在部署後確認收到第一筆真實瀏覽
- 資料模型與容量邊界
raw log 表的欄位怎麼設計才好彙總、以及 Sheets 累積到多少列會開始撐不住、撐不住的訊號長什麼樣
- 辨識自動化流量
接收端讀不到 HTTP 標頭時在前端蒐集訊號分辨機器與真人;多數 AI 訓練爬蟲不執行 JavaScript,因此不會出現在這份統計裡
- doGet / doPost
Apps Script web app 的兩個進入點函式,分別接住 GET 與 POST 請求,決定端點收到請求時執行什麼
- 這份統計的分母是什麼
報表上的數字要拿去回答問題之前,先確定它涵蓋了誰、漏掉了誰,以及哪些結論在這個涵蓋範圍下仍然成立
- Execution Quota(執行配額)
Apps Script 個人帳號的執行時間、同時併發與觸發器每日總時間上限,決定免費膠水層能承受多大的量
- Rule engine 設計
條件 → 動作 → 模板的三段式規則結構 — 讓 collector 從被動儲存變成主動回應
- 假故障與靜默失效的診斷
自建的 Apps Script 流量統計看起來壞了、或看起來正常但數字不對時,分辨症狀出現的位置與問題所在的位置
- Time-Driven Trigger(時間觸發器)
讓 Apps Script 在固定時間自動執行的排程機制,把被動等呼叫的膠水層變成主動定時跑的任務
- Browser Fingerprint(瀏覽器指紋)
由多個單獨無害的瀏覽器環境屬性組合而成的裝置特徵集合,決定自建統計蒐集判別訊號時的能力上限
- Executions(執行項目)
Apps Script 平台記錄每一次函式執行的時間、耗時與狀態的頁面,用來判斷請求究竟有沒有抵達接收端
- 讓機器跑無人值守的長任務
要讓一台遠端機器在你不盯著時自己跑完一個長任務或 agent、卻被 sudo 密碼 / 斷線就死 / 推不出結果擋住時讀