搜索广告的底层逻辑正在被改写。过去二十年,Google 搜索广告的核心模型是"关键词匹配 → 出价排序 → 展位分配"。用户输入关键词,系统在毫秒级完成匹配,广告主围绕关键词争夺排名。这个模型高效但粗糙——用户在研究复杂问题时,意图往往分散在多个查询中,单次关键词匹配很难捕捉完整决策链路。
在 Google Marketing Live 上,Google 发布了一整套基于 Gemini 大模型的新一代搜索广告格式,核心变化是:广告不再只匹配关键词,而是匹配用户的研究过程本身。
AI Mode:搜索体验的底层重构
这次发布最重要的变化是 AI Mode 的全面引入。AI Mode 下,搜索结果页不再是一排蓝色链接,而是 Gemini 生成的综合回答,广告被嵌入到这个回答的上下文中。
这意味着几个结构性变化:
- 意图理解从离散关键词转向连续对话。用户在 AI Mode 中可以追问、细化需求,Gemini 会追踪整个对话上下文。广告系统因此能识别"从泛研究到具体购买"的意图演进,而不是只看最后一次查询。
- 广告展示位从固定展位转向上下文嵌入。传统搜索广告占据页面顶部几个固定位置;AI Mode 中,广告更可能出现在 Gemini 回答的相关段落旁,与内容形成连贯的阅读体验。
- 创意生成从人工撰写转向模型实时合成。Gemini 可以根据用户当前对话上下文,实时调整广告文案的侧重点和措辞。
新广告格式的具体形态
根据发布内容,新一代搜索广告格式主要包含以下几类:
AI 驱动的搜索广告:在 AI Mode 的回答流中,系统根据用户对话上下文选择广告主,并动态生成与当前回答内容衔接的广告创意。广告主不再需要为每个可能的关键词变体单独写文案。
场景化产品推荐:当用户在研究过程中表达出产品比较或选购意图时,Gemini 可以从广告主的产品目录中提取匹配项,以结构化卡片形式呈现——包含图片、价格、关键参数,而非纯文本链接。
动态创意适配:广告主提供品牌素材、产品信息和核心诉求,Gemini 在展示时根据用户的具体查询场景,实时组合出最相关的文案版本。一个广告素材可以衍生出数十种面向不同场景的呈现方式。
实际接入:如何为 AI 搜索广告准备广告数据
新格式对广告主的数据准备提出了更高要求。传统搜索广告只需要关键词列表和几条文案;AI 搜索广告需要更结构化的产品信息,以便 Gemini 在回答中精准匹配和呈现。
以下是一个基于 Google Ads API 的 Python 示例,展示如何创建一个适配 AI Mode 的搜索广告 campaign,并关联产品目录数据源:
"""创建适配 AI Mode 的搜索广告 Campaign 并关联产品 Feed
前提:
- 已安装 google-ads 库: pip install google-ads
- 已在 Google Ads 后台创建过 Customer,拥有 customer_id
- 已创建 OAuth2 凭据,参考 https://developers.google.com/google-ads/api/docs/oauth/overview
- 产品 Feed 已通过 Merchant Center 上传,feed_id 可在后台获取
运行前请将 YOUR_CUSTOMER_ID、YOUR_FEED_ID 替换为实际值。
"""
from google.ads.googleads.client import GoogleAdsClient
from google.ads.googleads.errors import GoogleAdsException
# 加载配置(包含 client_id, client_secret, refresh_token, developer_token)
client = GoogleAdsClient.load_from_storage(version="v18")
customer_id = "YOUR_CUSTOMER_ID"
feed_id = "YOUR_FEED_ID"
def create_ai_search_campaign(client, customer_id):
"""创建一个面向 AI Mode 的搜索广告 Campaign"""
campaign_service = client.get_service("CampaignService")
budget_service = client.get_service("CampaignBudgetService")
# 1. 创建预算
budget_operation = client.get_type("CampaignBudgetOperation")
budget = budget_operation.create
budget.name = "AI Search Budget - Gemini Era"
budget.amount_micros = 5_000_000 # 5 USD/天,单位为 micros
budget.delivery_method = client.enums.BudgetDeliveryMethodEnum.STANDARD
budget_response = budget_service.mutate_campaign_budgets(
customer_id=customer_id, operations=[budget_operation]
)
budget_resource_name = budget_response.results[0].resource_name
# 2. 创建 Campaign,使用 SEARCH 广告类型
campaign_operation = client.get_type("CampaignOperation")
campaign = campaign_operation.create
campaign.name = "AI Mode Search Campaign"
campaign.advertising_channel_type = client.enums.AdvertisingChannelTypeEnum.SEARCH
# 关键:启用 AI 驱动的优化目标
campaign.bidding_strategy_type = client.enums.BiddingStrategyTypeEnum.MAXIMIZE_CONVERSIONS
campaign.status = client.enums.CampaignStatusEnum.ENABLED
campaign.campaign_budget = budget_resource_name
# 网络设置:聚焦 Google Search(含 AI Mode)
network_setting = campaign.network_settings
network_setting.target_google_search = True
network_setting.target_search_network = False
network_setting.target_content_network = False
network_setting.target_partner_search_network = False
campaign_response = campaign_service.mutate_campaigns(
customer_id=customer_id, operations=[campaign_operation]
)
campaign_resource_name = campaign_response.results[0].resource_name
print(f"Campaign 已创建: {campaign_resource_name}")
return campaign_resource_name
def link_feed_to_campaign(client, customer_id, campaign_resource_name, feed_id):
"""将产品 Feed 关联到 Campaign,使 Gemini 能从产品目录中提取信息"""
feed_item_service = client.get_service("FeedItemSetService")
# 创建 FeedItemSet,将 Feed 绑定到 Campaign
set_operation = client.get_type("FeedItemSetOperation")
feed_item_set = set_operation.create
feed_item_set.feed = client.get_service("FeedService").feed_path(
customer_id, feed_id
)
feed_item_set.campaign = campaign_resource_name
feed_item_set.display_name = "AI Mode Product Catalog"
set_response = feed_item_service.mutate_feed_item_sets(
customer_id=customer_id, operations=[set_operation]
)
print(f"Feed 已关联到 Campaign: {set_response.results[0].resource_name}")
# 执行
try:
campaign_rn = create_ai_search_campaign(client, customer_id)
link_feed_to_campaign(client, customer_id, campaign_rn, feed_id)
except GoogleAdsException as ex:
for error in ex.errors:
print(f"错误: {error.message}")
运行前需要替换的值:
| 变量 | 说明 | 获取方式 |
|---|---|---|
YOUR_CUSTOMER_ID |
Google Ads 账户 ID | Google Ads 后台 → 设置 → 账户信息 |
YOUR_FEED_ID |
Merchant Center 产品 Feed ID | Merchant Center → 数据源详情页 |
这个示例的重点不在代码本身,而在它揭示的数据准备逻辑:AI Mode 广告的效果,取决于你喂给系统的产品数据有多结构化、多完整。Gemini 需要从你的产品目录中提取参数、价格、图片来合成推荐卡片——如果 Feed 数据残缺,合成质量就会打折。
对广告主的实际影响
数据质量成为第一优先级
传统搜索广告的核心竞争力是关键词策略和出价算法。AI Mode 下,系统自己理解意图、自己选广告、自己写文案,广告主能直接操控的空间缩小了。但有一个环节广告主仍然完全可控:产品数据的质量。
建议检查你的 Merchant Center Feed:
- 产品标题是否包含核心参数(品牌 + 型号 + 关键规格),而非泛泛描述
- 产品描述是否覆盖用户在研究阶段最关心的对比维度
- 图片是否清晰、多角度、符合 Google 的尺寸要求
- 价格和库存状态是否实时更新
从"关键词管理"转向"场景覆盖"
AI Mode 中,用户的研究路径是不可预测的——他们可能从"什么笔记本适合视频剪辑"开始,经过多轮追问后落到具体型号。广告主不再需要穷举关键词变体,而是需要确保自己的产品数据能覆盖足够多的场景标签。
一个实践方式:在产品 Feed 的自定义属性(custom attributes)中,标注产品适用的场景:
# Merchant Center Feed 自定义属性示例(CSV 格式中的额外列)
# 这些属性会被 Gemini 用于场景匹配
product_id: "NB-PRO-2024"
title: "ThinkPad P16s Gen2 AMD 视频剪辑工作站"
price: "12999 CNY"
image_link: "https://store.example.com/images/p16s.jpg"
# --- 自定义属性 ---
custom_attribute_0: "适用场景: 视频剪辑, 3D渲染, 数据分析" # 场景标签
custom_attribute_1: "核心优势: GPU加速, 32GB内存, 色准屏幕" # 决策关键点
custom_attribute_2: "对比定位: 高于X1 Carbon性能, 低于P16价格" # 比较锚点
这些自定义属性不会直接展示给用户,但会被 Gemini 在内部推理时用作匹配信号,帮助系统在用户研究"视频剪辑用什么电脑"时,将你的产品从目录中选出并合成推荐。
监控指标需要调整
传统搜索广告看 CTR、CPC、关键词排名。AI Mode 下更值得关注的指标:
- AI 展示占比:你的广告有多少次是通过 AI Mode 展示的(而非传统搜索结果页)
- 对话深度转化率:用户在多轮对话后最终点击广告的比率,反映 Gemini 在研究过程中对你的产品的持续推荐能力
- 创意变体效果分布:同一个素材被 Gemini 衍生出的不同文案版本,各自的表现差异
需要警惕的边界
- 流量分配的不可控性增加。AI Mode 中,Gemini 决定何时展示哪个广告主的哪个产品。广告主对展示时机和位置的直接控制力比传统搜索广告弱,更多依赖数据质量和系统优化。
- 品牌安全的新风险。Gemini 实时合成文案时,可能在特定上下文中产生广告主不希望出现的措辞关联。目前 Google 提供的品牌安全控制主要面向展示广告网络,搜索 AI Mode 中的文案控制机制尚不明确。
- 数据依赖的锁定效应。产品数据越结构化、越完整,AI Mode 效果越好。但这意味着广告主需要持续投入 Merchant Center 的数据维护,且数据格式深度绑定 Google 的生态规范。
Google 用 Gemini 重写搜索广告,本质是把"关键词匹配"这个二十年的旧引擎替换为"意图理解 + 上下文合成"的新引擎。对广告主来说,关键词策略的权重在下降,产品数据质量和场景覆盖的权重在上升。现在最值得做的事不是研究新的出价算法,而是回到产品目录,把每一项数据打磨到 Gemini 能精准使用的程度。