google-ads-copy

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Setup

设置步骤

Read and follow
../shared/preamble.md
— it handles MCP detection, token, and account selection. If config is already cached, this is instant.
阅读并遵循
../shared/preamble.md
—— 该文件负责处理MCP检测、令牌和账户选择。如果配置已缓存,此步骤会立即完成。

Ad Copy Generator + A/B Tester

广告文案生成器 + A/B测试工具

Write Google Ads RSA copy and run structured A/B tests to find winning messaging.
撰写Google Ads RSA文案,并运行结构化A/B测试以找到效果最佳的广告信息。

Reference Documents

参考文档

Before generating any copy, read these reference documents for expert-level context:
  • references/rsa-best-practices.md
    — Character limits, headline formulas, pinning strategy, A/B methodology, common mistakes
  • Read from manage skill:
    ../manage/references/industry-benchmarks.md
    — Industry-specific CTR benchmarks to beat
  • Read from manage skill:
    ../manage/references/quality-score-framework.md
    — How ad copy impacts Quality Score components
These contain the specific formulas, character counts, and patterns that separate amateur ad copy from expert-level RSAs.
在生成任何文案之前,请阅读以下参考文档以获取专业级背景信息:
  • references/rsa-best-practices.md
    —— 字符限制、标题公式、固定策略、A/B测试方法、常见错误
  • 从管理技能中读取:
    ../manage/references/industry-benchmarks.md
    —— 需要超越的行业特定CTR基准
  • 从管理技能中读取:
    ../manage/references/quality-score-framework.md
    —— 广告文案如何影响质量得分组件
这些文档包含了区分业余广告文案和专业级RSA的具体公式、字符数要求和模式。

Business Context — Read First, Ask Once

业务背景 —— 首先阅读,一次性询问

Every ad copy decision depends on understanding the business. Business context is stored in
{data_dir}/business-context.json
.
每一个广告文案决策都依赖于对业务的理解。业务背景存储在
{data_dir}/business-context.json
中。

On every invocation:

每次调用时:

  1. Read
    {data_dir}/business-context.json
    . If it exists and has content, use it — skip to the next section.
  2. If missing or empty, follow the full intake procedure in
    ../audit/references/business-context.md
    (website crawl, data bootstrapping, JSON schema). That document is the single source of truth for gathering business context.
  3. If the user volunteers new info (new service, changed positioning, seasonal update), merge it into the existing file.
  1. 读取
    {data_dir}/business-context.json
    。如果文件存在且有内容,则直接使用,跳至下一部分。
  2. 如果文件缺失或为空,请遵循
    ../audit/references/business-context.md
    中的完整采集流程(网站爬取、数据引导、JSON schema)。该文档是收集业务背景的唯一权威来源。
  3. 如果用户主动提供新信息(新服务、定位变更、季节性更新),将其合并到现有文件中。

How business context shapes copy

业务背景如何影响文案创作

FieldCopy application
services
Determines headline categories and description angles
locations
Geo-specific headlines get higher quality scores and CTR
brand_voice
Tone, forbidden words, preferred language
differentiators
These ARE the value prop headlines — the reason someone picks you
competitors
Sharpens positioning (without naming them in ads)
seasonality
When to push urgency copy vs. evergreen
social_proof
Trust signal headlines and descriptions
offers_or_promotions
Time-sensitive copy angles, CTA variations
landing_pages
Copy must match the page or conversions drop
字段文案应用方向
services
决定标题类别和描述角度
locations
地域特定标题可获得更高质量得分和CTR
brand_voice
语气、禁用词汇、偏好语言
differentiators
这些就是价值主张标题——用户选择你的理由
competitors
强化定位(但不要在广告中提及竞争对手名称)
seasonality
决定何时使用紧迫感文案,何时使用常青文案
social_proof
信任信号类标题和描述
offers_or_promotions
时效性文案角度、CTA变体
landing_pages
文案必须与页面匹配,否则转化率会下降

Persona-Informed Copy

基于用户画像的文案创作

Cross-reference
{data_dir}/personas/{accountId}.json
(created by
/google-ads-audit
) and
{data_dir}/business-context.json
to ground every piece of copy in real customer data.
交叉参考
{data_dir}/personas/{accountId}.json
(由
/google-ads-audit
创建)和
{data_dir}/business-context.json
,确保每一段文案都基于真实客户数据。

How personas shape copy decisions

用户画像如何影响文案决策

Persona FieldCopy Application
search_terms
Use these exact words and phrases in headlines — they're the language real customers use
pain_points
Lead descriptions with the pain point, then present the solution. Pain > features for click-through
decision_trigger
This IS your CTA angle. If the trigger is "seeing reviews mentioned", put the review count in a headline
primary_goal
Match H1 to this goal. The first headline should answer "will this page help me do X?"
demographics
Adjust register: corporate buyer gets different language than homeowner. Technical user gets specs, consumer gets benefits
用户画像字段文案应用方向
search_terms
在标题中使用这些精确词汇和短语——它们是真实客户使用的语言
pain_points
描述以痛点开头,然后呈现解决方案。痛点比功能更能提升点击率
decision_trigger
这就是你的CTA角度。如果触发因素是“看到提及评价”,则在标题中加入评价数量
primary_goal
主标题与此目标匹配。第一个标题应回答“这个页面能帮我完成X吗?”
demographics
调整语言风格:企业买家与房主的语言不同;技术用户关注规格,普通消费者关注收益

Persona-to-headline mapping

用户画像到标题的映射

For each ad group, identify which persona(s) it serves:
  1. Look at the ad group's keywords and match to persona
    search_terms
  2. Write H1 using the persona's
    primary_goal
    language
  3. Write value prop headlines using the persona's
    pain_points
    (solution framing)
  4. Write CTA using the persona's
    decision_trigger
If an ad group serves multiple personas (common in broad campaigns), create separate ad variants — one optimized per persona — and A/B test which performs better.
对于每个广告组,确定其服务的用户画像:
  1. 查看广告组的关键词,与用户画像的
    search_terms
    匹配
  2. 使用用户画像的
    primary_goal
    语言撰写主标题(H1)
  3. 使用用户画像的
    pain_points
    (解决方案框架)撰写价值主张标题
  4. 使用用户画像的
    decision_trigger
    撰写CTA
如果一个广告组服务多个用户画像(在广泛投放活动中很常见),请创建单独的广告变体——每个变体针对一个用户画像优化——并通过A/B测试找出效果更好的变体。

Ad Strength vs Actual Performance

广告强度与实际表现

Google's ad strength score optimizes for Google's internal ad diversity goals, not your conversion rate. Treat it as a secondary signal, never a primary optimization target.
Google的广告强度评分是针对Google内部的广告多样性目标进行优化,而非你的转化率。将其视为次要信号,绝不要作为主要优化目标。

The hierarchy (most to least important)

优先级(从高到低)

  1. Conversion rate — does the ad produce customers?
  2. CTR — does the ad get clicks from the right people?
  3. CPA — what does each conversion cost?
  4. Ad strength — does Google think there's enough variety?
  1. 转化率——广告是否能带来客户?
  2. CTR——广告是否能吸引目标用户点击?
  3. CPA——每次转化的成本是多少?
  4. 广告强度——Google认为广告是否足够多样?

Specific rules

具体规则

SituationAction
"Excellent" ad strength, CTR < 2%Ad strength is misleading. The headlines are varied but not compelling. Rewrite for relevance over diversity
"Good" ad strength, CTR > 5%Do not touch this ad to chase "Excellent". The ad is working. Ad strength is a vanity metric here
"Poor" ad strength, CTR > industry avgAdd more headline/description variety to satisfy Google's diversity requirement, but don't change the winning headlines
"Poor" ad strength, CTR < industry avgBoth signals agree — the ad needs a rewrite. Start with headline relevance to keywords
Ad strength drops after headline editIf CTR improved, ignore the ad strength drop. If CTR also dropped, revert
场景操作
广告强度“优秀”,CTR < 2%广告强度具有误导性。标题多样但缺乏吸引力。重写时优先考虑相关性而非多样性
广告强度“良好”,CTR > 5%不要为了追求“优秀”而修改此广告。广告效果良好,此时广告强度是虚荣指标
广告强度“较差”,CTR > 行业平均值添加更多标题/描述变体以满足Google的多样性要求,但不要更改效果良好的标题
广告强度“较差”,CTR < 行业平均值两个信号一致——广告需要重写。从标题与关键词的相关性开始调整
修改标题后广告强度下降如果CTR提升,则忽略广告强度下降;如果CTR也下降,则恢复原标题

When ad strength IS useful

广告强度有用的场景

  • Ensuring you have 8+ distinct headlines (not minor variations of the same message)
  • Ensuring at least 1 headline per category (service, value prop, trust, CTA)
  • Flagging when all descriptions say the same thing in different words
  • Catching missing keyword insertion opportunities
  • 确保你有8个以上不同的标题(不是同一信息的微小变体)
  • 确保每个类别至少有一个标题(服务、价值主张、信任、CTA)
  • 标记所有描述只是用不同语言表达同一内容的情况
  • 发现缺失的关键词插入机会

Competitive Differentiation

差异化竞争

Read
{data_dir}/business-context.json
competitors
and
differentiators
fields. If empty, infer competitors from auction overlap (high impression share keywords where rank-lost IS is elevated suggest active competitors).
读取
{data_dir}/business-context.json
中的
competitors
differentiators
字段。如果为空,则从竞价重叠情况推断竞争对手(高展示份额但排名损失展示份额较高的关键词表明存在活跃竞争对手)。

Rules for competitive copy

竞争文案规则

RuleRationale
NEVER name competitors in ad copyPolicy violation risk with Google Ads. Also sends brand awareness to competitors. Even "Better than [Competitor]" is dangerous
NEVER use "best" or "#1" without qualificationGoogle requires substantiation for superlative claims. "Best-Rated on Google" is OK if verifiable. "Best Plumber" is not
DO use specific features competitors lack"Same-Day Service" beats "Better Service". Specificity implies superiority without claiming it
DO use pricing advantage if real"Flat-Rate Pricing" or "From $99" differentiates against competitors with opaque pricing
DO use trust signals aggressively"25+ Years", "4.9★ Google Rating", "500+ 5-Star Reviews" — these are verifiable and powerful
DO use location specificity"Example City's Own [Service]" or "Locally Owned Since 1998" differentiates against national chains
DO use speed/convenience"Same-Day", "24/7", "Book Online in 60 Seconds" — operational advantages competitors may not match
DO use guarantees"Satisfaction Guaranteed", "Free Re-Service", "No Fix, No Fee" — risk reversal converts
规则理由
绝对不要在广告文案中提及竞争对手名称违反Google Ads政策,同时会为竞争对手带来品牌曝光。即使是“优于[竞争对手]”也很危险
绝对不要无凭据使用“最佳”或“第一”等词汇Google要求此类最高级声明有证据支持。“Google上评分最高”如果可验证则没问题,但“最佳 plumber”不行
务必使用竞争对手缺乏的特定功能“当日服务”胜过“更好的服务”。具体性意味着优势,无需直接宣称
如果确实有价格优势,务必使用“固定价格”或“低至99美元”可与定价不透明的竞争对手形成差异化
务必积极使用信任信号“25年+经验”、“4.9★ Google评分”、“500+五星评价”——这些都是可验证且强大的信任信号
务必使用地域特定信息“示例市专属[服务]”或“本地自营始于1998年”可与全国性连锁品牌形成差异化
务必突出速度/便利性“当日”、“24/7”、“60秒内在线预订”——这些运营优势竞争对手可能无法匹配
务必使用保证条款“满意度保证”、“免费重新服务”、“未修复不收费”——降低用户决策风险可提升转化率

Differentiation angle selection

差异化角度选择

Based on the competitive landscape, choose the strongest angle:
Business SituationBest Differentiation AngleExample Headline
Competing against national chainsLocal ownership, personal service, community ties"Family-Owned Since 2005"
Competing against cheaper alternativesQuality, guarantees, reviews, expertise"Licensed & Insured Pros"
Competing against premium alternativesValue, transparent pricing, same quality for less"Premium Service, Fair Prices"
Unique service offeringThe specific feature itself"Same-Day Emergency Visits"
Crowded market, no clear advantageSpeed, convenience, or customer experience"Book Online — Arrive in 1hr"
根据竞争格局,选择最强的差异化角度:
业务场景最佳差异化角度标题示例
与全国性连锁品牌竞争本地自营、个性化服务、社区关联“家族自营始于2005年”
与低价替代品竞争品质、保证、评价、专业度“持证投保专业团队”
与高端替代品竞争性价比、透明定价、同等品质更低价格“高端服务,合理价格”
拥有独特服务特定功能本身“当日紧急上门服务”
市场拥挤,无明显优势速度、便利性或客户体验“在线预订——1小时内到达”

What to pull before writing

撰写文案前需获取的信息

Copy should be grounded in what converts, not guesses. One
runScript
call with
ads.gaqlParallel
covers everything you need for almost any copy job — fan out the surfaces below in parallel:
  • Existing ads (
    ad_group_ad
    ) — current headlines, descriptions, ad-strength, per-ad clicks / CTR / conversions. The baseline to beat.
  • Keywords with quality info (
    keyword_view
    ) — what's already converting and which QS components are hurting.
  • Search terms (
    search_term_view
    ) — the actual phrases real customers are typing. The single best source of language for headlines.
  • Campaign-level CTR / CVR (
    campaign
    ) — the benchmark each variant has to beat.
For brand-wide rewrites, correlate everything in one fan-out. For a single ad group, add
WHERE ad_group.id = …
to each query — the marginal cost is zero. If the user has a database with lead / conversion outcome data, mine it: customer language > marketing language.
Layer on the seasonality and keyword-landscape context from
business-context.json
. Peak months call for urgency, slow months for evergreen value props. Highly competitive heads need sharper differentiation; long-tail tails need closer intent match.
文案应基于实际转化数据,而非猜测。通过一次
runScript
调用
ads.gaqlParallel
即可获取几乎所有文案工作所需的信息——并行获取以下内容:
  • 现有广告 (
    ad_group_ad
    ) —— 当前标题、描述、广告强度、单广告点击量/CTR/转化量。这是需要超越的基准。
  • 带质量信息的关键词 (
    keyword_view
    ) —— 哪些关键词已经转化,哪些质量得分组件表现不佳。
  • 搜索词 (
    search_term_view
    ) —— 真实客户输入的实际短语。这是标题语言的最佳来源。
  • 活动级CTR/CVR (
    campaign
    ) —— 每个变体需要超越的基准。
对于全品牌重写,将所有内容关联到一次并行调用中。对于单个广告组,在每个查询中添加
WHERE ad_group.id = …
—— 边际成本为零。如果用户有包含线索/转化结果数据的数据库,请挖掘该数据:客户使用的语言优于营销术语。
结合
business-context.json
中的季节性和关键词格局背景。旺季适合使用紧迫感文案,淡季适合使用常青价值主张。竞争激烈的关键词需要更鲜明的差异化;长尾关键词需要更贴近用户意图。

RSA mechanics

RSA机制

Google RSA: up to 15 headlines (30 chars max) and 4 descriptions (90 chars max). A single character over = rejected. Always count.
The headline formula table (27 formulas across 8 categories) and description formula table (5 formulas) live in
references/rsa-best-practices.md
— that file is the source of truth for what to actually write.
Pinning strategy:
  • Pin 1 Service+Location headline to Position 1 (highest relevance impact)
  • Pin 1 CTA headline to Position 3 (Google shows H3 less often — make it count)
  • Leave Position 2 unpinned for Google to test value-prop, trust, and differentiator headlines
  • Never pin more than 3 total — over-pinning kneecaps Google's optimization
Description ordering:
  • D1 = strongest all-around (core value + location). Shows most often.
  • D2 = primary differentiator
  • D3 = trust / social proof
  • D4 = seasonal or offer-based (the slot you swap out when promotions change)
  • Every description ends with a CTA verb: Call, Book, Get, Schedule, Request, Visit, Contact
  • Punchy at 85 chars beats cramped at 90
Google RSA:最多15个标题(最多30字符)4个描述(最多90字符)。超出一个字符即会被拒绝。务必严格计数。
标题公式表(8个类别共27个公式)和描述公式表(5个公式)位于
references/rsa-best-practices.md
中——该文件是实际撰写内容的权威来源。
固定策略:
  • 将1个“服务+地域”标题固定在位置1(相关性影响最高)
  • 将1个CTA标题固定在位置3(Google展示位置3的频率较低——要让它发挥作用)
  • 位置2不固定,让Google测试价值主张、信任和差异化标题
  • 固定数量绝对不要超过3个——过度固定会削弱Google的优化效果
描述排序:
  • D1 = 最强全能型描述(核心价值+地域)。展示频率最高。
  • D2 = 主要差异化点
  • D3 = 信任/社交证明
  • D4 = 季节性或优惠相关描述(促销活动变更时可替换此位置)
  • 每个描述结尾都要有CTA动词:Call、Book、Get、Schedule、Request、Visit、Contact
  • 85字符的简洁描述胜过90字符的拥挤描述

A/B testing

A/B测试

When the user wants to test, deploy variants as separate ads in the same ad group (paused, then enabled together). Each variant must test a meaningfully different angle — not word swaps. "Trust & Expertise" vs. "Speed & Convenience" vs. "Price & Value" is a real test; "Call Today" vs. "Call Now" is noise. If the account has multiple personas, create one variant per persona.
Statistical significance thresholds (apply when calling winners):
  • <100 clicks per variant → too early to call. Wait.
  • 100–200 clicks per variant, <20% relative CTR/CVR difference → functionally equivalent; pick on conversion rate or run a bolder test
  • ≥20% relative CTR or CVR delta → real winner
  • Either variant with 2× the other's conversion rate → call it immediately, don't wait
Result interpretation matrix:
CTRConv rateDiagnosisAction
A higherA higherClear winnerPause B. Iterate on A's angle with fresh headlines
A higherB higherA pulls clicks, B convertsKeep B; test A's headlines on B's landing page — message-match may need work. Offer
/google-ads-landing
SimilarSimilarNo meaningful differenceVariants too similar — change the core angle, not the wording
Both lowBoth lowNeither worksProblem isn't A vs B — keyword intent, landing page, or offer is broken. Suggest
/google-ads-audit
After a winner is called: pause the loser, then create a new variant to test against the winner. Never stop testing.
当用户需要测试时,将变体部署为同一广告组中的独立广告(先暂停,再同时启用)。每个变体必须测试有意义的不同角度——而非简单的词汇替换。“信任与专业度” vs “速度与便利性” vs “价格与价值”是有效的测试;“今日致电” vs “立即致电”是无效的噪音。如果账户有多个用户画像,请为每个用户画像创建一个变体。
统计显著性阈值(用于判定获胜者):
  • 每个变体点击量<100 → 判定为时过早,请等待。
  • 每个变体点击量100–200,相对CTR/CVR差异<20% → 功能上等效;根据转化率选择或进行更大胆的测试
  • 相对CTR或CVR差异≥20% → 真正的获胜者
  • 任一变体的转化率是另一变体的2倍 → 立即判定获胜,无需等待
结果解读矩阵:
CTR转化率诊断操作
A更高A更高明确获胜者暂停B。基于A的角度创作新标题进行迭代
A更高B更高A吸引点击,B完成转化保留B;测试将A的标题用于B的落地页——可能需要优化信息匹配。推荐使用
/google-ads-landing
相似相似无显著差异变体过于相似——更改核心角度,而非措辞
两者均低两者均低两者都无效问题不在A与B的对比——关键词意图、落地页或优惠存在问题。建议使用
/google-ads-audit
判定获胜者后:暂停失败变体,然后创建新变体与获胜者进行测试。永远不要停止测试。

Operating principles

操作原则

  1. Business context is non-negotiable. Read
    {data_dir}/business-context.json
    and
    {data_dir}/personas/{accountId}.json
    first. If they don't exist or are stale, recommend
    /google-ads-audit
    before writing anything generic.
  2. Confirm before deploying. Show the exact copy, character counts per asset, and pin positions. Get a yes, then push.
  3. Every write returns a
    changeId
    .
    Tell the user it's undoable within 7 days via
    undoChange
    (assuming the entity hasn't been modified since).
  4. Differentiate, don't imitate. Read the
    competitors
    field. Generic copy that could belong to any competitor is a wasted ad slot.
  5. Defer to
    /google-ads
    for account management.
    This skill writes copy and deploys RSAs; bid / budget / keyword work belongs in
    /google-ads
    .
  1. 业务背景是必不可少的。首先读取
    {data_dir}/business-context.json
    {data_dir}/personas/{accountId}.json
    。如果文件不存在或已过时,在撰写任何通用文案之前推荐使用
    /google-ads-audit
  2. 部署前确认。展示精确的文案、每个素材的字符数和固定位置。获得确认后再推送。
  3. 每次撰写都返回一个
    changeId
    。告知用户可在7天内通过
    undoChange
    撤销(假设实体自修改后未被更改)。
  4. 差异化,而非模仿。读取
    competitors
    字段。属于任何竞争对手的通用文案都是对广告位的浪费。
  5. 账户管理请交给
    /google-ads
    。本技能负责撰写文案和部署RSA;出价/预算/关键词相关工作属于
    /google-ads
    的范畴。