Skip to content

Google 广告流量按设备拆分(实时)

接口说明

该接口用于针对一组,获取广告流量在不同设备平台上的估算数据,支持以下平台:

  • 桌面端(desktop)
  • 移动端(mobile)
  • 平板端(tablet)

返回结果各平台的广告、点击、CPC 以及广告位估算值。

/v3/keywords_data/google/ad_traffic_by_keywords/live/ 不同,本接口返回的是整组的汇总结果,而不是逐个分别返回独立结果。

如果你的系统需要实时返回结果,建议使用当前 Live 方法。与标准任务模式不同,Live 方法无需分开发起 POST 和 GET 请求。

如果你不要求实时返回,可以改用标准任务模式 /v3/keywords_data/google/ad_traffic_by_platforms/task_post/,通常成本更低;扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

另外,你也可以通过 /v3/keywords_data/google/adwords_status/ 查看平台搜索量数据的更新状态。

容性说明

Google AdWords Keywords Data API 属于旧版能力,现已由 Google Ads API 替代。如果你当前仍在使用旧版容路径,建议逐步迁移至新版接口。

请求地址

POST https://api.seermartech.cn/v3/keywords_data/google/ad_traffic_by_platforms/live

计费与限额

  • 本接口按请求计费
  • 参考价约 ¥1.2000 / 次
  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准
  • 每分钟最多可发起 2000 次 API 调用
  • 单个 keywords 数组最多可传 2500 个
  • 无论 keywords 中传 1 个还是 2500 个,均按单次请求计费

请求体格式

所有 POST 数据使用 JSON(UTF-8 编码),且请求体为 JSON 数组

json
[
 {
 "location_name": "United States",
 "language_name": "English",
 "bid": 999.00,
 "match": "exact",
 "keywords": [
 "seo marketing"
 ]
 }
]

请求参数

字段名类型说明
keywordsarray。数组。最多 2500 个;每个最长 80 个字符;每个短语最多 10 个词。系统会将统一转换为小写后处理。
bidfloat。最大自定义出价。返回的估算数据基于该值计算,表示你愿意为广告支付的价格。通常出价越高,返回的广告位置和价格也会越高。
matchstring。匹类型。可选值:exactbroadphrase
location_namestring可选。搜索引擎地区名。使用该字段时,无需再传 location_codelocation_coordinate。可通过 /v3/keywords_data/google/locations 获取可用地区列表。不传则返回结果。示例:London,England,United Kingdom
location_codeinteger可选。搜索引擎地区代码。使用该字段时,无需再传 location_namelocation_coordinate。可通过 /v3/keywords_data/google/locations 获取可用地区代码。不传则返回结果。示例:2840
location_coordinatestring可选。地理坐标,格式为 "latitude,longitude"。使用该字段时,无需再传 location_namelocation_code。结果将按该坐标所属国家返回。不传则返回结果。示例:52.6178549,-155.352142
language_namestring当未提供 language_code 时填。搜索引擎语言名。使用该字段时,无需再传 language_code。可通过 /v3/keywords_data/google/languages 获取可用语言列表。示例:English
language_codestring当未提供 language_name 时填。搜索引擎语言代码。使用该字段时,无需再传 language_name。可通过 /v3/keywords_data/google/languages 获取可用语言代码。示例:en
tagstring可选。用户自定义任务标识,最长 255 个字符。可用于结果对账与任务追踪,响应中的 data 对象会原样返回该值。

返回结果结构

接口返回 JSON 编码结果,顶层 tasks 数组。

顶层字段

字段名类型说明
versionstringAPI 当前版本
status_codeinteger通用状态码
status_messagestring通用状态信息
timestring执行耗时,单位秒
costfloat本次请求总费用,单位 USD
tasks_countintegertasks 数组中的任务数量
tasks_errorinteger返回错误的任务数量
tasksarray任务结果数组

tasks[] 字段

字段名类型说明
idstring任务唯一标识,UUID 格式
status_codeinteger任务状态码
status_messagestring任务状态信息
timestring任务执行耗时,单位秒
costfloat当前任务费用,单位 USD
result_countintegerresult 数组中的结果数量
patharray请求路径
dataobject你在 POST 中提交的参数回显
resultarray结果数组

结果字段说明

result 中会返回三个平台对象:desktopmobiletablet。三字段结构基本一致。

平台结果通用字段

字段名类型说明
location_codeinteger请求中使用的地区代码;无数据时为 null
language_codestring请求中使用的语言代码;无数据时为 null
bidfloat请求中提交的最大自定义出价
keyword / keywordsstring / array请求中的信息。部分平台结果中,会以解码后的形式返回,+ 会被还原为空格。
matchstring匹类型:exactbroadphrase
ad_position_minfloat最低广告位置;无数据时为 null
ad_position_maxfloat最高广告位置;无数据时为 null
ad_position_averagefloat平均广告位置;无数据时为 null
cpc_minfloat最低历史 CPC,单位 USD;无数据时为 null
cpc_maxfloat最高历史 CPC,单位 USD;无数据时为 null
cpc_averagefloat平均历史 CPC,单位 USD;无数据时为 null
daily_impressions_minfloat最低日量;无数据时为 null
daily_impressions_maxfloat最高日量;无数据时为 null
daily_impressions_averagefloat平均日量;无数据时为 null
daily_clicks_minfloat最低日点击量;无数据时为 null
daily_clicks_maxfloat最高日点击量;无数据时为 null
daily_clicks_averagefloat平均日点击量;无数据时为 null
daily_cost_minfloat最低日花费,单位 USD;无数据时为 null
daily_cost_maxfloat最高日花费,单位 USD;无数据时为 null
daily_cost_averagefloat平均日花费,单位 USD;无数据时为 null

重要说明

  • 平台 API 返回的是广告流量估算值,可能与广告平台规划界面中的数值存在差异。
  • 结果可能受到账户历史、已有广告创意及因素影响。
  • 如需尽量降低因素对结果的影响,可适当提高 bid 值。
  • 未命中数据时,数值字段可能返回 null

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/keywords_data/google/ad_traffic_by_platforms/live" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "location_name": "United States",
 "language_name": "English",
 "bid": 999.00,
 "match": "exact",
 "keywords": [
 "seo marketing"
 ],
 "tag": "ad-traffic-platforms-demo"
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/keywords_data/google/ad_traffic_by_platforms/live"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}
payload = [
 {
 "location_name": "United States",
 "language_name": "English",
 "bid": 999.00,
 "match": "exact",
 "keywords": [
 "seo marketing"
 ],
 "tag": "ad-traffic-platforms-demo"
 }
]

response = requests.post(url, json=payload, headers=headers)
print(response.json)

TypeScript

typescript
import axios from "axios";

const payload = [
 {
 location_name: "United States",
 language_name: "English",
 bid: 999.0,
 match: "exact",
 keywords: ["seo marketing"],
 tag: "ad-traffic-platforms-demo",
 },
];

axios({
 method: "post",
 url: "https://api.seermartech.cn/v3/keywords_data/google/ad_traffic_by_platforms/live",
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
 data: payload,
})
 .then((response) => {
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error.response?.data || error.message);
 });

响应示例

json
{
 "version": "3.20191128",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "1.6369 sec.",
 "cost": 0.075,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "keywords_data",
 "function": "ad_traffic_by_platforms",
 "se": "google",
 "language_code": "en",
 "location_code": 2840,
 "bid": 999,
 "match": "exact",
 "keywords": [
 "seo marketing"
 ]
 },
 "result": [
 {
 "desktop": {
 "language_code": "en",
 "location_code": 2840,
 "bid": 999,
 "keywords": [
 "seo marketing"
 ],
 "match": "exact",
 "ad_position_min": 1.11,
 "ad_position_max": 1,
 "ad_position_average": 1.06,
 "cpc_min": 43.13,
 "cpc_max": 52.72,
 "cpc_average": 47.93,
 "daily_impressions_min": 82.74,
 "daily_impressions_max": 101.13,
 "daily_impressions_average": 91.94,
 "daily_clicks_min": 0.7,
 "daily_clicks_max": 0.86,
 "daily_clicks_average": 0.78,
 "daily_cost_min": 33.69,
 "daily_cost_max": 41.18,
 "daily_cost_average": 37.44
 },
 "mobile": {
 "language_code": "en",
 "location_code": 2840,
 "bid": 999,
 "keywords": [
 "seo marketing"
 ],
 "match": "exact",
 "ad_position_min": 1.11,
 "ad_position_max": 1,
 "ad_position_average": 1.06,
 "cpc_min": 32.31,
 "cpc_max": 39.49,
 "cpc_average": 35.9,
 "daily_impressions_min": 56.11,
 "daily_impressions_max": 68.58,
 "daily_impressions_average": 62.34,
 "daily_clicks_min": 0.4,
 "daily_clicks_max": 0.49,
 "daily_clicks_average": 0.45,
 "daily_cost_min": 14.44,
 "daily_cost_max": 17.64,
 "daily_cost_average": 16.04
 },
 "tablet": {
 "language_code": "en",
 "location_code": 2840,
 "bid": 999,
 "keywords": [
 "seo marketing"
 ],
 "match": "exact",
 "ad_position_min": 1.11,
 "ad_position_max": 1,
 "ad_position_average": 1.06,
 "cpc_min": 28.24,
 "cpc_max": 34.51,
 "cpc_average": 31.37,
 "daily_impressions_min": 1.55,
 "daily_impressions_max": 1.9,
 "daily_impressions_average": 1.73,
 "daily_clicks_min": 0.04,
 "daily_clicks_max": 0.04,
 "daily_clicks_average": 0.04,
 "daily_cost_min": 1.12,
 "daily_cost_max": 1.37,
 "daily_cost_average": 1.25
 }
 }
 ]
 }
 ]
}

状态码与错误处理

  • 顶层 status_code 表示整个请求的处理状态
  • tasks[].status_code 表示单个任务的处理状态
  • 建议同时检查:
  • 顶层 status_code
  • tasks_error
  • 每个任务的 status_code
  • 请为异常场景设计完善的错误处理与重试机制

常见成功标识:

字段含义
status_code20000请求成功

更多错误码请参考 /v3/appendix/errors

使用建议

  • 适合需要实时估算广告投放潜力的场景
  • 当你心的是组整体在不同设备上的广告表现差异时,本接口比逐接口更高效
  • 如果需要对每个分别进行设备级流量预估,应改用逐接口
  • 地域与语言参数会直接影响结果,建议明确传 location_*language_* 参数,混用默认值

实用场景

  • 评估设备投放优级:比较 desktop、mobile、tablet 的、点击与 CPC,决定预算优投向哪类设备,提升投放效率。
  • 测算组预算空间:基于 daily_cost_averagedaily_clicks_average 预估组合的日消耗和点击规模,广告预算制定。
  • 优化多端落地页策略:识别移动端或桌面端流量差异,为不同设备设计专属落地页与转化路径,提升转化率。
  • 筛选高价值商业词组:结合广告位、点击和 CPC 估算,快速判断某组是否备商业投放价值,减少试错成本。
  • 支持区域化投放决策:按地区与语言组合查询设备表现,本地化 SEO/SEM 团队制定更精细的市场策略。

统一入口:官网 · LLM API · 控制台