<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Triggers on Tarragon</title><link>https://tarrragon.github.io/blog/tags/triggers/</link><description>Recent content in Triggers on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Mon, 06 Jul 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/triggers/index.xml" rel="self" type="application/rss+xml"/><item><title>模組四：觸發器與排程</title><link>https://tarrragon.github.io/blog/automation/04-triggers-automation/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0800</pubDate><guid>https://tarrragon.github.io/blog/automation/04-triggers-automation/</guid><description>&lt;p>回答「原始 log 怎麼變成看得懂的報表、而且不用手動跑」。beacon 一直 append 進來的是一列一列的原始瀏覽紀錄，這種 raw log 直接看沒意義——要的是「昨天每篇文章被看幾次」。這一章用 Apps Script 的時間觸發器（time-driven trigger）自動排程：每天固定時間把前一天的原始 log 彙總成一張日報表，人打開就看得懂。&lt;/p>
&lt;p>觸發器是 Apps Script 從「被動等人呼叫」變成「主動定時執行」的機制。它的成本要放在心上：個人帳號的觸發器每天總執行時間上限是 90 分鐘（見&lt;a href="https://tarrragon.github.io/blog/automation/00-mental-model/free-tier-and-tool-choice/" data-link-title="免費額度的思考方式與工具選型" data-link-desc="判斷免費膠水層撐不撐得住自己流量時該看哪個限制、以及 Apps Script 與 Cloudflare Workers 各自適合什麼場景">模組零&lt;/a>），所以彙總邏輯要寫得有效率，別在觸發器裡做會逼近上限的重活。&lt;/p>
&lt;h2 id="章節文章">章節文章&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>文章&lt;/th>
 &lt;th>主題&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://tarrragon.github.io/blog/automation/04-triggers-automation/time-driven-aggregation/" data-link-title="時間觸發器：把 raw log 彙總成日報" data-link-desc="用時間觸發器每天定時把原始瀏覽 log group 成日報，以及在 90 分鐘觸發配額下只讀增量的效率寫法">時間觸發器：把 raw log 彙總成日報&lt;/a>&lt;/td>
 &lt;td>設定每日定時、group by 彙總邏輯、在 90 分鐘配額內只讀增量的效率寫法&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://tarrragon.github.io/blog/automation/04-triggers-automation/form-and-event-triggers/" data-link-title="表單與事件觸發器" data-link-desc="由 Google 檔案事件（表單提交、試算表編輯）觸發的 Apps Script，以及 simple 與 installable 觸發器在權限上的差別">表單與事件觸發器&lt;/a>&lt;/td>
 &lt;td>&lt;code>onFormSubmit&lt;/code> / &lt;code>onEdit&lt;/code>、simple 與 installable 觸發器的權限分界&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="跨分類引用">跨分類引用&lt;/h2>
&lt;ul>
&lt;li>→ &lt;a href="https://tarrragon.github.io/blog/automation/03-sheet-as-database/" data-link-title="模組三：Sheets 當資料庫" data-link-desc="用 Google Sheet 存流量資料時，怎麼處理多個 beacon 同時寫入的並發、設計資料模型、以及判斷資料量到哪會撐不住">模組三：Sheets 當資料庫&lt;/a>：被彙總的 raw log 從哪來&lt;/li>
&lt;li>→ &lt;a href="https://tarrragon.github.io/blog/monitoring/08-business-analytics/funnel-analysis/" data-link-title="Funnel Analysis" data-link-desc="使用者在哪一步流失 — 從事件序列計算每步轉換率、找出流失最嚴重的步驟、區分設計問題和技術問題">Monitoring：漏斗分析&lt;/a>：彙總後的資料能做什麼分析&lt;/li>
&lt;/ul></description><content:encoded><![CDATA[<p>回答「原始 log 怎麼變成看得懂的報表、而且不用手動跑」。beacon 一直 append 進來的是一列一列的原始瀏覽紀錄，這種 raw log 直接看沒意義——要的是「昨天每篇文章被看幾次」。這一章用 Apps Script 的時間觸發器（time-driven trigger）自動排程：每天固定時間把前一天的原始 log 彙總成一張日報表，人打開就看得懂。</p>
<p>觸發器是 Apps Script 從「被動等人呼叫」變成「主動定時執行」的機制。它的成本要放在心上：個人帳號的觸發器每天總執行時間上限是 90 分鐘（見<a href="/blog/automation/00-mental-model/free-tier-and-tool-choice/" data-link-title="免費額度的思考方式與工具選型" data-link-desc="判斷免費膠水層撐不撐得住自己流量時該看哪個限制、以及 Apps Script 與 Cloudflare Workers 各自適合什麼場景">模組零</a>），所以彙總邏輯要寫得有效率，別在觸發器裡做會逼近上限的重活。</p>
<h2 id="章節文章">章節文章</h2>
<table>
  <thead>
      <tr>
          <th>文章</th>
          <th>主題</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="/blog/automation/04-triggers-automation/time-driven-aggregation/" data-link-title="時間觸發器：把 raw log 彙總成日報" data-link-desc="用時間觸發器每天定時把原始瀏覽 log group 成日報，以及在 90 分鐘觸發配額下只讀增量的效率寫法">時間觸發器：把 raw log 彙總成日報</a></td>
          <td>設定每日定時、group by 彙總邏輯、在 90 分鐘配額內只讀增量的效率寫法</td>
      </tr>
      <tr>
          <td><a href="/blog/automation/04-triggers-automation/form-and-event-triggers/" data-link-title="表單與事件觸發器" data-link-desc="由 Google 檔案事件（表單提交、試算表編輯）觸發的 Apps Script，以及 simple 與 installable 觸發器在權限上的差別">表單與事件觸發器</a></td>
          <td><code>onFormSubmit</code> / <code>onEdit</code>、simple 與 installable 觸發器的權限分界</td>
      </tr>
  </tbody>
</table>
<h2 id="跨分類引用">跨分類引用</h2>
<ul>
<li>→ <a href="/blog/automation/03-sheet-as-database/" data-link-title="模組三：Sheets 當資料庫" data-link-desc="用 Google Sheet 存流量資料時，怎麼處理多個 beacon 同時寫入的並發、設計資料模型、以及判斷資料量到哪會撐不住">模組三：Sheets 當資料庫</a>：被彙總的 raw log 從哪來</li>
<li>→ <a href="/blog/monitoring/08-business-analytics/funnel-analysis/" data-link-title="Funnel Analysis" data-link-desc="使用者在哪一步流失 — 從事件序列計算每步轉換率、找出流失最嚴重的步驟、區分設計問題和技術問題">Monitoring：漏斗分析</a>：彙總後的資料能做什麼分析</li>
</ul>
]]></content:encoded></item></channel></rss>