You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Googleads API TargetingIdeaService中指定自定义日期范围?

解决Google Ads API自定义日期范围获取关键词数据的问题

嘿,我正好碰到过类似的需求!TargetingIdeaService确实没办法直接指定自定义日期范围来获取搜索量和预测数据——它的MonthlySearchVolumeAttribute本来就是设计用来返回过去12个月的滚动统计数据,没法锁定固定的起止日期。不过有两个靠谱的替代方案可以满足你的需求:

方案1:用HistoricalMetricsService获取自定义日期范围的历史数据

如果你主要需要的是指定时间段内的关键词搜索量、点击率这类历史表现数据,HistoricalMetricsService是专门干这个的。你可以构造查询请求,明确指定日期范围和目标关键词列表。

举个Python的示例片段:

from google.ads.googleads.client import GoogleAdsClient
from google.ads.googleads.v15.services.types.historical_metrics_service import (
    HistoricalMetricsQuery,
    GetHistoricalMetricsRequest,
)

def get_historical_metrics(client, customer_id, keywords, start_date, end_date):
    historical_metrics_service = client.get_service("HistoricalMetricsService")
    
    queries = [
        HistoricalMetricsQuery(
            keywords=[keyword],
            start_date=start_date,
            end_date=end_date,
            # 还可以根据需求添加地理位置、语言等过滤条件
        )
        for keyword in keywords
    ]
    
    request = GetHistoricalMetricsRequest(
        customer_id=customer_id,
        queries=queries
    )
    
    response = historical_metrics_service.get_historical_metrics(request)
    for result in response.results:
        print(f"关键词: {result.query}")
        print(f"指定日期总搜索量: {result.metrics.total_search_volume}")
        # 还可获取点击量、平均排名、点击率等其他历史指标

方案2:用KeywordPlanService做预算规划和预测数据

如果你的核心需求是像关键词规划师那样做预算规划、获取预测的曝光/点击/转化数据,那KeywordPlanService才是正确的工具。它允许你创建包含自定义日期范围的关键词计划,然后生成对应的预测指标。

大致步骤是:

  • 创建KeywordPlan,设置自定义日期范围(date_range字段指定start和end日期)
  • 创建关联的KeywordPlanCampaign,设置预算、出价策略等参数
  • 添加KeywordPlanAdGroup和KeywordPlanKeyword(导入你的目标关键词列表)
  • 调用generate_forecast_metrics方法获取预测数据

示例代码片段:

from google.ads.googleads.client import GoogleAdsClient
from google.ads.googleads.v15.services.types.keyword_plan_service import (
    GenerateForecastMetricsRequest,
)

def create_keyword_plan_and_forecast(client, customer_id, keywords, start_date, end_date):
    keyword_plan_service = client.get_service("KeywordPlanService")
    
    # 1. 创建带自定义日期范围的KeywordPlan
    keyword_plan_operation = client.get_type("KeywordPlanOperation")
    keyword_plan = keyword_plan_operation.create
    keyword_plan.name = f"自定义日期关键词计划_{start_date}_{end_date}"
    keyword_plan.date_range.start_date = start_date
    keyword_plan.date_range.end_date = end_date
    
    # 后续需补充创建KeywordPlanCampaign、KeywordPlanAdGroup、KeywordPlanKeyword的代码
    # (包含预算、出价、关键词导入等逻辑,这里省略具体构造细节)
    # ...
    
    # 提交创建请求,获取生成的keyword_plan资源名
    response = keyword_plan_service.mutate_keyword_plans(customer_id, [keyword_plan_operation])
    keyword_plan_resource = response.results[0].resource_name
    
    # 2. 生成预测数据
    forecast_request = GenerateForecastMetricsRequest(
        customer_id=customer_id,
        keyword_plan=keyword_plan_resource
    )
    forecast_response = keyword_plan_service.generate_forecast_metrics(forecast_request)
    
    # 处理并输出预测结果
    for forecast in forecast_response.forecasts:
        print(f"预测总点击量: {forecast.metrics.clicks}")
        print(f"预测总花费: {forecast.metrics.cost_micros / 1000000} 美元")
        # 还可获取预测曝光量、点击率、转化量等指标

关键提醒

  • TargetingIdeaService的定位是关键词发现工具,不是历史数据查询或预测分析工具,所以没必要在它上面纠结自定义日期的问题
  • 确保使用Google Ads API的最新版本(比如v15及以上),旧版本可能部分功能受限
  • 调用这些服务需要对应的API权限,比如KeywordPlanService需要KeywordPlan相关的操作权限

内容的提问来源于stack exchange,提问作者taralam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:56:18