n8n行銷自動化報表自動化

GA、GSC 報表每週手動拉到崩潰?n8n 自動報表實戰:行銷數據週報自動生成教學

2026年6月17日·11 分鐘閱讀

前言

如果你每週要登 GA、GSC、社群後台,把數字一格格複製貼進週報——這篇就把它變成n8n 自動報表:用一把服務帳號接遍 GSC、GA4、Google Sheets,讓系統每週一早上自己生出行銷數據週報(核心是 n8n 的 HTTP Request 節點)。整條工作流也打包成免費下載送你,不會寫程式也能拿去改。

行銷人的週報,到底卡在哪裡?

會想做行銷數據週報自動化的人,通常不是不會看數據,而是被「搬數據」這件事卡住。每週的固定戲碼是這樣:先登 GSC 看關鍵字點擊和曝光,再切到 GA4 看流量來源和訪客數,接著開社群後台抄粉絲和互動,最後把這些數字一個一個貼進報表、重排格式。等整理完,時間和力氣都耗在複製貼上,真正該做的「解讀數字、調整策略」反而沒力氣做了

更麻煩的是,這種手動流程很容易出錯:貼錯欄、抄漏一個平台、或這週忙就乾脆跳過不做。數據斷了一兩週,後面想看趨勢就接不起來。報表的價值本來在「持續看、看出變化」,一旦變成「有空才做」,就失去意義了。

先看成果:一條 n8n,每週一早上吐兩張表

先講結果再講怎麼做。這條n8n 自動報表工作流會在每週一早上自動跑一次,把 GSC、GA4、社群三邊的數字抓回來,整理成兩張我打開就能看的表。我沒有自己寫什麼後端程式,做的事是把需求講清楚、把工具接在一起、卡住的時候請 AI 一起想辦法。

n8n 自動報表實際成果第一張:行銷整合報告 Google Sheet,分為①搜尋成效②網站流量③社群數據三大區塊
第一張〈行銷整合報告〉:①搜尋成效(GSC)②網站流量(GA4)③社群數據(Threads),三區分色、每週覆蓋,看本週細節。
n8n 自動報表實際成果第二張:趨勢分頁,①每週往右加一欄的週標題列②最新一週欄,指標橫著看成長
第二張〈趨勢〉:①每週往右加一欄、②最右是最新一週,同一指標橫著看就是成長曲線(最右為真實當週,較早數週為示意資料)。

整合報告:本週所有數字分區攤開來看

第一張叫行銷整合報告,把三類數據用顏色分區堆在一起:藍色區是搜尋成效(關鍵字、點擊、曝光、排名),綠色區是網站流量(流量來源、造訪次數、訪客人數、瀏覽頁數),紫色區是社群數據。每週覆蓋掉上週、只留最新一份,欄名也都換成「造訪次數」「訪客人數」這種白話詞,不是冷冰冰的英文指標名。這張是用來看「本週發生了什麼」。

趨勢表:每週往右加一欄,看的是成長

第二張叫趨勢,排法剛好相反:指標固定當左邊那一欄,每跑一週就往右邊多加一欄。這樣同一個指標一路往右看過去,就是它這幾週的變化曲線。整合報告看的是「這週的細節」,趨勢看的是「有沒有在往上走」,兩張表分工,各看各的。

為什麼拆成兩張,不擠成一張

我原本想全部塞一張表,後來發現「看細節」和「看成長」是兩種完全不同的看法,硬擠在一起兩邊都不好讀。拆成兩張之後,要對客戶報本週數字就看整合報告,自己想知道有沒有進步就看趨勢,反而清楚。這是實際用了幾週才調出來的版面。

動手前準備:一把服務帳號接遍 GSC、GA、Sheets

在接任何資料之前,要先準備一個東西:服務帳號(service account,可以理解成一組「給程式用的專屬帳號」,不是你平常登入的那個 Google 帳號)。整條流程要去讀 GSC、讀 GA4、寫 Google Sheets,都靠它去敲門。

為什麼用服務帳號,而不是每次登入授權

一般我們授權 App 用 Google 資料,是跳出來問「要不要允許」那種方式(OAuth)。但自動報表是排程時間到了自己跑,沒有人在電腦前面按「允許」,所以那種要人點頭的方式不適合。服務帳號剛好相反——它是一組固定的身分,設定好權限後就能讓排程在背景自己存取,不用每次有人授權。服務帳號怎麼建、金鑰怎麼拿,照 Google 官方說明走一次就好,這篇不重複。

一把帳號要分別去三個地方開權限

這是最容易忽略的一點:服務帳號建好不等於就能讀資料。它就像一個新員工,你得分別在 GSC、GA4、那張 Google Sheets 三個地方,把它加進去、給它檢視或編輯的權限。少加一個,那一邊就會吃閉門羹。我一開始以為設定一次就全通,結果 GA 那邊一直讀不到,回頭才發現是忘了在 GA 把它加進去。

Google Search Console 使用者和權限頁面:①左側設定②新增使用者,把服務帳號 email 加進來給完整權限
以 GSC 為例:①進左側設定 → 使用者和權限,②按新增使用者,把服務帳號的 email 加進來、給「完整」權限(GA4、Google Sheets 也比照各自加一次)。

接 GSC 和 GA4:n8n 原生節點會卡的兩件事

準備好服務帳號,接下來就是去把 GSC 和 GA4 的數字抓回來。這一段是整篇最容易出錯的地方,而且兩個問題都不是「不會」,是「以為會、結果報錯」那種。先看這條工作流實際長怎樣。

行銷整合週報的 n8n 工作流畫布:①GSC與GA4查詢用HTTP Request②整合彙總Code③讀組寫趨勢三個節點
實際的 n8n 工作流:①GSC+GA4 查詢用 HTTP Request 打官方 API(原生節點吃不了服務帳號)②整合彙總用 Code 算分區與套色 ③讀/組/寫趨勢每週往右加一欄。

GA4 的原生節點只認 OAuth,逼你改用 HTTP Request

n8n 其實有 Google Analytics 的原生節點,照理說點一點填一填就好。但我接下去才發現,這個原生節點只支援 OAuth、沒有服務帳號這個選項,它一直要我填那種要人授權的金鑰。前面講過排程不能靠人點頭,所以這條路走不通。最後的做法是繞過原生節點,改用萬用的 HTTP Request 節點,直接打 GA4 的官方 Data API,搭配同一把服務帳號。GSC 也一樣,沒有現成又能吃服務帳號的好節點,一律用 HTTP Request 自己打。

帳戶 ID 不等於資源 ID,填錯就一直 403

這個問題我卡了最久。GA4 裡有兩個長得很像的編號:一個是帳戶 ID,一個是資源 ID(Property ID)。打 Data API 要的是資源 ID,但人很自然會去抓那個比較顯眼的帳戶 ID,一抓錯,API 就回你「沒有權限存取這個資源」——明明權限都開了,錯的其實是 ID。兩者的差別整理成一張表最清楚:

名稱在哪裡看到拿去打 API 的結果
帳戶 ID(Account ID)GA 管理 → 帳戶設定❌ 回報「沒有權限」(403)
資源 ID(Property ID)GA 管理 → 資源設定⭕ 正確抓得到資料
GA4 帳戶與資源選擇畫面:①aiqkangber 帳戶 ID 395546383、②資源 ID 538615809,打 API 要用資源 ID
GA4 後台的帳戶與資源:①是帳戶 ID(395546383)、②是資源 ID(538615809)。打 API 要填的是②資源 ID,填①帳戶 ID 就會回 403。

所以遇到 GA4 一直回「沒有權限」,先別急著重設權限——很可能權限是對的,只是把帳戶 ID 當成資源 ID 填進去了。把 ID 換成資源設定裡那一組,通常就通了。

這些 GSC、GA4 的 HTTP 接法,還有後面負責整理、上色的 Code 節點,是整條流程最花時間搞懂的部分。我把整條行銷整合週報工作流清乾淨(金鑰、網域、試算表 ID 都換成空白欄位)打包成可下載的 JSON,你可以直接匯進自己的 n8n,對照這些難一點的節點是怎麼設定的,省下自己從零摸索的時間。檔案放在我的n8n 自動化服務頁的免費下載區

📖 延伸閱讀n8n + Apify 社群監控工具教學:一次追蹤 5 個平台的競品動態

社群數據也接進來:Threads 粉絲與互動

搜尋和流量接好之後,週報還缺社群這一塊。我接的是 Threads:一樣用 HTTP Request 打它的官方介面,把粉絲數、瀏覽、按讚、回覆、轉發、引用這幾個數字抓回來,整理成報表裡的「脆粉絲」「脆瀏覽」「脆互動」三個欄位(互動就是讚、回、轉、引加起來)。

社群這塊是可選的,我只是拿 Threads 示範

要先說明,社群數據不是這份週報的必要項——GSC 和 GA4 才是核心,社群想一起追就加、用不到可以完全不接。我這邊單純拿 Threads(脆)當例子,同樣的接法換成 IG、FB 或其他平台也通,差別只在各家 API 規則不一樣。

Threads token 會過期,我用一條自動續期工作流擋掉

接 Threads 抓數據要帶一張通行證(也就是 token,一串證明你有權限的代號),而這張通行證大約 60 天就會過期,過期後不會報錯、只是默默抓不到資料。我用一條獨立的工作流每月自動幫它換新,所以週報這邊永遠拿得到還沒過期的 token、不會某天突然斷掉。token 為什麼會過期、這條自動續期工作流怎麼設計、失敗時怎麼收到通知,我在另一篇〈多平台發文如何自動化?我捨棄 Buffer,用 n8n 串 API 一次發三平台〉裡寫得更完整,這裡就不重複。

報表怎麼排才看得懂:明細覆蓋 vs 趨勢橫向

抓回來的數字是一堆原始資料,要先整理成「人看得懂的排版」才有用。前面提過我用兩張表分工,這一段講它們的排法為什麼這樣設計。

整合報告:每週覆蓋,永遠只看最新一份

整合報告我設計成每週覆蓋:新的一週跑完,就把上週的內容蓋掉。因為「本週數字」這種東西,看最新的就好,舊的留著只會越疊越長、越難找。分區用顏色標、欄名用白話寫、數字靠右對齊,目的就是讓我(或客戶)打開不用想,直接看得懂哪個是哪個。

趨勢:每週往右疊一欄,自動看出有沒有成長

趨勢表剛好相反,捨不得蓋掉,要的就是累積。指標固定在最左邊那一欄,每週往右加一欄當週的數字,幾週下來橫著看就是一條成長曲線。同一週如果重跑,它會比對週期、覆蓋掉同一欄而不是重複加,所以不會越跑越亂。回頭看前面成果那張趨勢表,9 個指標一路往右遞增,橫著看就是有沒有在成長——這就是橫向加欄累積出來的價值。

設定每週一早上自動跑

所有資料接好、排版定好之後,最後一步就是讓它定時自己跑,不用我每週去按。

用排程節點設定每週一早上八點

n8n 有一個排程節點,我把它設成每週一早上八點觸發。這樣每個禮拜一進辦公室,整合報告和趨勢都已經更新好了,我打開就能看、能直接拿去對客戶報,不用再花半小時整理。要改成每天、每月或別的時間,也都是改這一個節點而已。

排程型工作流記得手動開啟「啟用」

有個小地方很多人會忘:排程型的工作流,在 n8n 裡編輯完還要記得把它切成「啟用」狀態,它才會真的按時間自己跑。沒開啟的話,你手動按執行是會動,但時間到了它不會自己觸發。我自己就有一次以為設好了,結果週一沒跑,一看才發現忘了開啟用。

📖 延伸閱讀n8n + Claude Code 自動產生社群貼文:AI 小編生成器製作教學

常見問題 FAQ

Q1:我沒有工程師背景,這個做得到嗎?

做得到。真正要寫程式的部分幾乎沒有,主要是在 n8n 裡設定節點、填對網址和欄位,再把服務帳號的權限開好。比較需要耐心的是搞懂 GSC、GA4 各自要填什麼。我的建議是先接一個來源(例如只接 GSC)跑通,再慢慢加 GA4、社群,不要一開始就想三個一起上。

Q2:服務帳號和 OAuth,做自動報表該用哪個?

做排程自動報表,服務帳號幾乎一定比較適合。因為報表是時間到了在背景自己跑、沒有人在旁邊按「允許」,而 OAuth 那種方式是設計給「有人在操作、會點頭授權」的情境。服務帳號設定好一組固定身分和權限,之後就能讓排程安靜地自己存取,不用人介入。

Q3:為什麼我的服務帳號接 GA4 一直回「沒有權限」?

最常見的兩個原因。一是忘了在 GA4 裡把這個服務帳號加進去——它在 GSC 有權限不代表在 GA4 也有,兩邊要分別開。二是把帳戶 ID 當成資源 ID填了,這兩個編號不一樣,打 API 要用資源設定裡那一組。先檢查這兩點,通常就解決了。

Q4:社群 token 會過期,自動報表會不會某天突然斷掉?

如果不處理,會。社群的 token 大約兩個月到期、過期後默默抓不到資料,所以要另外跑一條每月自動續期的工作流先換新,永遠趕在過期之前。這條續期工作流的完整做法和會卡的地方,我在前面提到的多平台發文那篇講得更細,可以直接參考。

Q5:報表多久跑一次比較合理?

看你多常需要做決策。對多數行銷人,每週一次剛剛好——數字夠累積出變化、又不會頻繁到看不出意義。如果是大檔活動期間想盯緊一點,可以臨時改成每天跑;活動結束再調回每週。好處是改頻率只要動排程那一個節點,整條流程不用重接。

總結

n8n 自動報表的核心就三件事:一把服務帳號接遍 GSC、GA4、Google Sheets,原生節點吃不了服務帳號就改用 HTTP Request 直接打 API,再用排程每週一早上自動生出整合報告和趨勢兩張表。最花時間的不是串工具,是搞懂「帳戶 ID 不等於資源 ID」這種小細節;跑通一次,它每週都幫你省下半天搬運。

同主題文章

行銷專用