

# 如何匯出 Google 廣告素材並保留其來源證據

儲存公開的 Google 廣告素材及其來源紀錄時，必須保留廣告客戶 ID、廣告素材 ID、來源頁面、媒體或預覽指標、公開日期和收集時間。已儲存的連結庫會保留證據紀錄和指標。它不會把遠端媒體變成永久檔案。一個廣告素材是一個公開廣告項目，不是一個廣告活動。一次觀察是在收集時間對一個廣告素材所作的一筆有日期紀錄。一個指標是指向一項資源的連結。清單檔是一份收集設定與摘要檔案。

網域搜尋可以對應多個不同的廣告客戶帳戶。[檢查廣告客戶身分](/zh-Hant/articles/%E7%AB%B6%E7%88%AD%E5%B0%8D%E6%89%8B%E5%BB%A3%E5%91%8A%E5%A0%B1%E5%91%8A%E5%89%8D%E6%A0%B8%E5%B0%8D%E5%BB%A3%E5%91%8A%E5%AE%A2%E6%88%B6%E5%B8%B3%E6%88%B6/)並保留未知值。其後無法使用的連結，不能證明 Google 已刪除該廣告。

## 定義

- 廣告素材：一個公開廣告項目。它不是廣告活動。
- 廣告客戶 ID：Google 為一名廣告客戶提供的帳戶身分。
- 廣告素材 ID：Google 為一名廣告客戶名下一個廣告素材提供的身分。
- 觀察：在收集時間對一個廣告素材的紀錄。
- 指標：指向遠端媒體或預覽資源的連結。
- 清單檔：一份收集設定與摘要檔案。
- 變化版本：一個廣告素材紀錄內的媒體或預覽項目。它不一定是獨立的廣告測試。
- 預覽：用來顯示廣告素材的來源資源。它可能需要渲染，而且不一定是可下載的檔案。
- Actor：一個託管的資料收集程式。
- 已發佈 Task：一份已儲存的公開 Actor 設定。
- **`null`**：沒有可用的值。它不是零。

## 收集設定與範圍

要收集廣告素材資料，請設定一個 Actor，例如公開的 [Google Ads Transparency Scraper](https://apify.com/chronometrica/google-ads-transparency-scraper)。此 Actor 接受 1 至 100 個目標，目標可以是名稱、網域、ID、廣告客戶 URL 或廣告素材 URL。`maxItems` 設定的範圍是 1 至 5000；預設值是 10，而且由所有目標共用。

已發佈 Task 預設為 `nike.com`、地區 `ANYWHERE`、平台 `ALL`、廣告格式 `ALL`、投放詳情關閉，以及 20 個項目的上限 [Google Ads Creative Library Export | Ads Data](https://apify.com/chronometrica/google-ads-transparency-scraper/examples/google-ads-creative-library-export)。網域搜尋可以對應多個廣告客戶帳戶，因此調查 1 個指定帳戶時，你必須使用已核實的精確廣告客戶 ID 或 URL。只有當你計劃在事後審閱並分開這些帳戶時，才使用網域搜尋。除非你的研究特別需要投放元資料，否則降低收集上限，並保持投放詳情關閉。可選的日期篩選接受直至今天的真實日期。緊記，收集上限是一個限制，不是完整的廣告歷史。

## 欄位對應與資料限制

每一列已儲存資料都對應來源平台的特定資料欄位。`advertiserId` 與 `creativeId` 組成一對獨一無二的廣告素材身分。你絕不可只憑品牌名稱識別帳戶。`creativeUrl` 指向公開的來源詳情頁。`mediaUrl` 和 `previewUrl` 都是遠端來源指標，可以傳回 `null`；而且預覽可以是 JavaScript 資源，而不是直接檔案。`variations` 清單和 `variationCount` 記錄巢狀子資產及其 URL 和尺寸，但這些子資產不是獨立的廣告活動變體。

`firstShownAt` 和 `lastShownAt` 在有這些日期時提供公開展示日期，但它們不保證連續投放，也不保證收集時間。`approxDaysShown` 是近似的來源值，不得把它變成精確的連續日數、廣告支出或廣告活動成功。`observedAt` 時間戳記錄 Actor 收集該紀錄的時間。所要求的地區、平台和格式欄位提供收集情境，而不是已投放位置的完整清單。`status` 和 `statusReason` 欄位表示資料列質素；`ok` 表示收集成功，`partial` 可以表示缺少格式。可選的付款人欄位可能不存在，也可能已被關閉，而且付款人不一定是廣告客戶。此外，Google 的來源存放庫可以露出此 Actor 不會傳回的地區專用欄位 [Google 廣告透明度說明](https://support.google.com/adspolicy/answer/13733850?hl=en-CA)。

## 觀察鍵與讀者自建清單檔

廣告客戶 ID 與廣告素材 ID 必須當作一對處理，因為 2 個不同廣告客戶名下的同一個廣告素材 ID 代表 2 個不同身分。Actor 只在單一次執行內移除這一對的重複項目，其後的執行則保留一筆新觀察。因為 Actor 資料列不提供執行 ID，你必須建立讀者自建欄位。

建立讀者自建的 `collection_batch_id`，用於你的批次分組。在另一份讀者自建的收集清單檔中，保留實際執行 ID、組建版本、資料集身分、收集設定、收集時間和執行摘要。建議的觀察鍵結合批次 ID、廣告客戶 ID 和廣告素材 ID。把你的內部執行收據與你的最終證據報告分開。

## JSON 資料儲存與變化版本

JSON 是一種文字資料格式，它保留結構化層次。完整的 JSON 檔案保留巢狀變化版本，而 CSV 匯出只是可選的平面表格檢視。一列父觀察可以包含巢狀的變化版本列，但這些子變化版本不是獨立的廣告素材測試或廣告活動測試。始終保留 `null` 值，不要用零或編造的資料取代它們。展示庫是衍生檢視，意思是你必須始終在它下面保留你的原始觀察檔案。

## 完整收集與保留方法

1. 設定你的目標範圍、地區、公開日期範圍和項目上限。調查 1 個指定帳戶時，使用已核實的精確廣告客戶 ID 或 URL；網域搜尋只配合收集後審閱使用。除非有需要，否則保持投放詳情關閉。
2. 執行 Actor [Google Ads Transparency Scraper](https://apify.com/chronometrica/google-ads-transparency-scraper)，並使用已發佈 Task [Google Ads Creative Library Export | Ads Data](https://apify.com/chronometrica/google-ads-transparency-scraper/examples/google-ads-creative-library-export) 的設定。
3. 在讀者自建清單檔中記錄你的收集設定。把執行 ID、組建版本、資料集身分、收集設定、收集時間和執行摘要，與你的公開證據報告分開存放。
4. 檢查 OUTPUT 摘要欄位，包括 `creativesSaved`、`duplicatesSkipped`、`unusableCreativesSkipped`、`stopReason` 和 `targetOutcomes`。部分紀錄、失敗目標、零結果和上限停止須保持彼此分開。緊記，空白或縮減的輸出資料集不能證明廣告客戶沒有投放廣告。
5. 套用這項精確的接受規則：一筆已識別觀察必須有非空白的 `advertiserId`、`creativeId`、`creativeUrl` 和 `observedAt`。審閱 `status` 和 `statusReason` 欄位。保留明確缺失的 `mediaUrl` 或 `previewUrl` 值；不要把 `null` 變成零，也不要編造連結。把缺少身分的資料列隔離到獨立的審閱檔案，而不是合併空白值。
6. 建立與 Actor 欄位分開的讀者自建欄。指派讀者自建的 `collection_batch_id`，並結合批次 ID、廣告客戶 ID 和廣告素材 ID，建立你的觀察鍵。
7. 儲存完整的 JSON 觀察檔案，以保留巢狀變化版本。把子變化版本紀錄保留在其父觀察列之下，不要把子資產計算為獨立的廣告素材測試或廣告活動測試。
8. 執行並記錄分開的獨立連結檢查，內容包括檢查時間、指標類型、方法和結果。當新指標出現時，保留較早的指標；即使遠端連結變為無法使用，仍保留觀察紀錄。
9. 附加其後的收集批次，不要取代你較早的觀察檔案。把歷史紀錄與你的衍生最新檢視展示一併保留。
10. 把你已最終確定的來源庫、收集清單檔、有日期的連結檢查紀錄，以及衍生的最新檢視，交給報告步驟。使用原來的廣告客戶 ID 與廣告素材 ID 配對再次尋找來源，並在任何廣告素材評分或廣告活動建議之前停止。

## 獨立連結檢查與 HTTP HEAD 請求

建立一筆分開的連結檢查紀錄，內容包含父項身分與批次、指標類型、檢查時間、方法和結果。HTTP HEAD 請求只向伺服器索取回應標頭，而不是檔案內容。渲染是指在瀏覽器內成功顯示預覽。200 HTTP 回應碼表示該資源在該次檢查有回應，但 `image/png` 回應不同於 `application/javascript` 回應。

這些回應都不能證明已渲染的影像、永久檔案封存、重用權利或持久可用性。2026年10月13日的小型元資料檢查，從 2 個帳戶儲存了 2 筆 `ok` 觀察，但標頭檢查只證明了有日期的回應，而不是重複歷史或完整覆蓋。下載資產和渲染預覽不在這個來源連結方法的範圍內。

## 附加其後批次與處理無法使用的指標

附加其後的批次，不要取代你較早的觀察檔案。目前的展示可以顯示每個身分配對的最新觀察，但必須連回歷史紀錄。當舊指標失敗時，保留它的來源紀錄，記錄該次失敗的檢查，並在有需要時於其後的授權審閱中檢查公開來源頁。一個失敗的指標，或一筆在設有上限的收集中沒有出現的觀察，都不能證明廣告已被刪除。不要猜測 URL，也不要嘗試復原已刪除的廣告。因為沒有進行重複執行測試或長期測試，這個例子只教導如何就保留紀錄進行推理。

## 虛構例子與計數分析

這個例子中的所有紀錄和 ID 都是虛構的。A/B/C1/C2 是教學標籤，不是真實的來源固定樣本。沒有下載媒體檔案。

| 批次 | 廣告客戶 | 廣告素材 | 變化版本 | 連結情況 |
| --- | --- | --- | --- | --- |
| S1 | A | C1 | 2 | 於虛構檢查 2026年10月1日 12:05 UTC 時，媒體指標可用 |
| S1 | A | C2 | 1 | 於該次檢查時，預覽指標可用 |
| S1 | B | C1 | 1 | 於該次檢查時，媒體指標可用 |
| S2 | A | C1 | 1 | 於虛構檢查 2026年10月2日 12:05 UTC 時，新指標可用；保留 S1 指標 |
| S2 | A | C2 | 1 | 於該次較後檢查時，指標無法使用；保留觀察 |

這次收集得出 5 列觀察，計算方式是批次 S1 的 3 列加上批次 S2 的 2 列（3 + 2 = 5）。獨一無二的廣告素材身分配對有 3 對：A:C1、A:C2 和 B:C1。把所有保留列的變化版本數目相加，得到 6 個變化版本觀察，計算方式是 2 加 1 加 1 加 1 加 1（2 + 1 + 1 + 1 + 1 = 6）。這些變化版本觀察是父紀錄內的子資產，不是 6 個獨一無二的廣告素材，也不是獨立的廣告測試。

每個身分最新一筆的檢視包含 3 列，對應 3 個獨一無二的身分，其中有 2 次有日期且可用的連結檢查，以及 1 次無法使用的檢查。廣告客戶 B:C1 仍由它的 S1 觀察代表，而它沒有出現在批次 S2，並不能證明廣告已被刪除。全部 5 筆觀察都必須保留在庫中。這種紀錄保留保存證據紀錄和指標，但沒有聲稱完整的廣告歷史、永久的媒體檔案儲存、廣告成功，或實際的重複執行測試結果。

公開可見並不授予一般的重用許可 [Google 條款：其他內容](https://policies.google.com/terms?hl=en)。這個方法保留來源紀錄和指標；下載或重新發佈資產不在這個來源連結工作流程之內。

## 下一個有用的 Actor 動作

開啟 [Google Ads Transparency Scraper](https://apify.com/chronometrica/google-ads-transparency-scraper)，複製已發佈的素材庫 Task，選擇廣告客戶身分，降低上限，並連同清單檔儲存已識別的觀察。在把它們用於競爭對手報告之前，先審閱它們。

## 來源與延伸閱讀

- [Google Ads Transparency Scraper](https://apify.com/chronometrica/google-ads-transparency-scraper)
- [Google Ads Creative Library Export | Ads Data](https://apify.com/chronometrica/google-ads-transparency-scraper/examples/google-ads-creative-library-export)
- [Google 廣告透明度說明](https://support.google.com/adspolicy/answer/13733850?hl=en-CA)
- [Google 條款：其他內容](https://policies.google.com/terms?hl=en)