# 怎么把 Google 广告透明中心里竞品的广告导出来？

> 把一个广告主在 Google 广告透明中心里的全部广告（搜索、YouTube、展示、购物）导成 CSV：步骤、费用、代码和拿不到的数据。

网页版：https://okdata.online/zh/answers/export-google-ads-transparency-center/

**简短回答：**广告透明中心网页没有导出按钮，Google 也没有对应的 API；它在 BigQuery 上的公开数据集只覆盖欧洲经济区和土耳其展示的广告。用 okdata 先找广告主（$0.004），再按每页 40 条列出广告（每页 $0.004），导出一个有 600 条广告的广告主共 $0.064。

一位投放经理刚接手新账户，想看看主要竞品今年在 Google 上都投了什么：用了哪些格式，每一波从什么时候开始，YouTube 和搜索各占多少。在 adstransparency.google.com 上，每条广告都要单独点开，把 600 条抄进表格得花两天。按数据拉下来，就是一份 CSV，中午前就能用。

## Google 官方提供什么

- **透明中心网页。** 可以按广告主或网站搜，按地区、平台（搜索、YouTube、展示、购物、地图、Play）、时间和格式筛选。免费，不用登录，但没有下载功能。
- **BigQuery 公开数据集** `bigquery-public-data.google_ads_transparency_center`。它自己的说明写明只包含在欧洲经济区和土耳其展示的广告，定期更新，可能比网页慢。做欧盟研究、写 SQL 很合适；竞品在美国或亚洲投放就用不上。
- **政治广告**有单独的透明度报告，可以下载数据。

## 两步导出成 CSV

1. [Google 广告透明中心广告主搜索](/zh/apis/google/advertisers/search/)：输入名称，拿到广告主 ID（AR 开头），以及 Google 验证过的名称、注册国家和广告数量估计。验证名称常常是付钱的公司主体，和品牌名不一定一样。
2. [Google 广告主的广告](/zh/apis/google/advertisers/ads/list/)：传上一步的 `id`；如果知道品牌官网，也可以跳过第一步，直接传 `domain`。还可以加 `country` 和 `format`。每页 40 条，带格式、预览图、首次和最近展示时间。

| 任务 | 调用次数 | 费用 |
|---|---|---|
| 找广告主 | 1 | $0.004 |
| 600 条广告 | 15 | $0.06 |
| 合计 | 16 | $0.064 |
| 每月更新 5 个竞品，各 2 页 | 10 | $0.04 |

## 代码

```python
import csv, os, requests

URL = "https://api.okdata.online/v1/google/advertisers/ads/list"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}

ads, cursor = [], None
while len(ads) < 600:
    params = {"domain": "example.com", "country": "US"}
    if cursor:
        params["cursor"] = cursor
    body = requests.get(URL, headers=H, params=params, timeout=60).json()
    if body["code"] != "ok":
        raise RuntimeError(f"{body['code']}: {body['message']}")
    ads += body["data"]["items"]
    cursor = body["page"]["next_cursor"]
    if not cursor:
        break

with open("google_ads.csv", "w", newline="", encoding="utf-8-sig") as f:
    w = csv.writer(f)
    w.writerow(["id", "advertiser", "format", "first_shown", "last_shown", "preview", "url"])
    for a in ads:
        w.writerow([a["id"], a["advertiser"]["name"], a["format"], a["first_shown_at"],
                    a["last_shown_at"], (a["images"] or [""])[0], a["url"]])
```

## 拿不到或要留意的

- **落地页大多没有。** 透明中心不提供广告的跳转链接，所以 `landing_url` 通常为 null，并写在 `meta.unavailable` 里。
- **文案常常在预览图里。** 很多广告（包括文字广告）只以渲染好的预览图展示，`text` 可能是空的。用视觉模型或 OCR 读一遍预览图就能补上。
- **没有曝光和花费。** 商业广告的这两项 Google 不公开。
- **按域名查时核对广告主。** 同一个网站可能由好几个广告主推广，比如经销商。只要品牌自己的，就按 `advertiser.name` 过滤。
- 每一页单独计费，够用了就停止翻页。

## 其他做法

只看几条广告，网页免费又方便。做欧盟范围的大规模研究，BigQuery 数据集是官方的，可以直接写 SQL。Semrush、SpyFu 这类搜索营销工具保存了多年的搜索广告文案，还有关键词和花费估算，这些透明中心都不展示。想把任意地区的广告放进表格、看板或 Agent 的上下文里，用 okdata 更顺手。同样的事放到 Meta 和 TikTok 上，见[广告情报](/zh/solutions/ad-intelligence/)；长期盯竞品，见[竞品监测](/zh/solutions/competitor-monitoring/)。

## 用到的接口

- [Google 广告透明中心广告主搜索](https://okdata.online/zh/apis/google/advertisers/search/) `google.advertisers.search`：$0.004/次 · 每页约 10 个广告主
- [Google 广告主的广告](https://okdata.online/zh/apis/google/advertisers/ads/list/) `google.advertisers.ads.list`：$0.004/次 · 每页约 40 条广告

更新于 2026-11-12
