Google Ads Copy

SkillSearch

'Creates Google Ads Responsive Search Ad (RSA) copy for B2B SaaS campaigns structured around a 5-pillar model:

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Google Ads Copy skill

What this skill tells your AI

The instructions your AI receives, as published by matteotitta/genesys-skills in skills/primitives/paid-marketing/execution/google-ads-copy/SKILL.md and read by ahel’s review.

Generate Responsive Search Ad (RSA) copy for B2B SaaS campaigns. Structured around the 5-pillar campaign model. Enforces Google Ads character limits. Outputs in TSV format ready for Google Sheets or Google Ads Editor import.

Doctrine inherited (Step 7 — 0626 rollout, locked 2026-06-04)

Output complies with:

Refinements applied to this skill:

CodeRefinementHow it lands in google-ads-copy
R1Source placementRSA copy is end-customer-facing. No source tags.
R3Product-update toneHeadlines + descriptions frame as "[Product] does X" not "introducing."
R5Blog as voice anchorWhen campaign has anchor blog, RSA headline 1 mirrors blog opener (within character limit).
R6CTA hierarchyDisplay URL + final URL → trial / sign-up primary. "Learn more" only when intent is research-stage.
R9Action-oriented section namesHeadline + description structures verb-led.

Triggers

Run this skill when:

  • Paid-campaign-strategy is locked and Google Ads RSA copy is the next step
  • A client wants competitor / brand / high-intent / problem-aware / remarketing copy
  • Existing RSAs have low Ad Strength or CTR and need a refresh
  • A new competitor enters scope and a dedicated campaign needs copy

Do NOT run when:

  • Strategy isn't locked — run /paid-campaign-strategy first
  • Target channel is LinkedIn — use /linkedin-ads-copy
  • Ad extensions (sitelinks, callouts, structured snippets) are the ask — separate workflow

RSA constraints — voice-locked

ElementLimitCount
Headlines≤30 characters eachUp to 15
Descriptions≤90 characters eachUp to 4
Display URL path≤15 characters each2 paths
PinningOptionalMax 3 headlines per position

Critical rules:

  • Headlines must work independently and in any combination
  • Google shows 2-3 headlines and 1-2 descriptions per impression
  • Never use Dynamic Keyword Insertion on competitor campaigns
  • Ad strength target: "Good" or "Excellent"
  • Include at least 4 ad extensions per ad group (handled separately)

The Iron Law — voice-locked

EVERY CHARACTER COUNT MUST BE VERIFIED.

Google Ads will reject any headline over 30 characters or description over 90 characters. There is no "close enough." Count every character including spaces and punctuation.

No exceptions:

  • "It's only 1 character over" → Google rejects it. Trim it.
  • "Can we use the full 150 chars?" → Google RSA limits are 30/90. Not 150.
  • "These headlines need to go together" → RSA headlines display in ANY combination. Each must work alone.
  • "Use Dynamic Keyword Insertion" → NEVER on competitor campaigns (trademark risk).

5-pillar invariants — voice-locked

  • One ad group per competitor. Mixing competitors in one ad group inflates CPCs and confuses match-type matching.
  • Each competitor campaign attacks a different weakness. Recycling the same attack across competitors wastes budget.
  • Brand campaign always runs. Even if low-volume, it protects branded search from competitor encroachment.
  • Remarketing audiences progress through warmth. Educational (1-7d) → case study (7-30d) → demo CTA (30-90d). Don't lead with demo CTAs to fresh visitors.
  • Headline diversity across categories — attack (3-5) + benefit (4-6) + proof (2-3) + CTA (2-3). Skewed sets produce Poor Ad Strength.

Inputs

InputDescriptionRequired
paid-campaign-strategyCampaign architecture, keywords, audiencesRequired
competitor-researchCompetitor weaknesses for attack headlinesRecommended (required for competitor campaigns)
product-messagingValue props, proof points, differentiatorsRecommended
icp-behaviouralCustomer language, pain phrasingRecommended

Process

Four-phase flow: Campaign-type selection → Headline generation (15 per ad group, 4 categories) → Description generation (4 per ad group, D1-D4 framework) → Verification + TSV output. Full flowchart, 5-pillar campaign types, headline strategy, description framework, pinning rules, negative keyword seed list, and budget guidance in the premium reference.


Anti-Hallucination Guardrails

  1. Never invent customer counts, awards, or rankings. If not in product-messaging or proof points, mark [NOT AVAILABLE] and remove the headline.
  2. Never approximate character counts. Count every char including spaces; one over = trim or rewrite.
  3. Never use DKI on competitor campaigns. Trademark risk; Google will pause the campaign.
  4. Never put a competitor's name in the display URL or final URL. Same trademark issue.
  5. Never repeat an attack headline across competitors. Each competitor campaign needs its own weakness, not a paraphrase.

Quality

Self-evaluation checklist (char compliance, no DKI on competitor, headline independence, diversity, no invented proof), worked example (ClientCo vs Saturn campaign), anti-examples (31-char headlines, mixed competitor ad groups, paraphrased attacks, generic verbs), failure-mode triage in the premium reference.


Integration with Other Skills

Upstream (consumes)

SkillWhat it providesRequired?
paid-campaign-strategyCampaign architecture + keywordsRequired
competitor-researchCompetitor weaknesses for attacksRequired for competitor campaigns
product-messagingValue props + proof pointsRecommended
icp-behaviouralCustomer language + pain framingRecommended

Downstream (feeds into)

SkillHow output is used
ad-creative-briefSource headlines + descriptions for visual brief
paid-ads-auditBaseline reference for RSA Ad Strength + CTR review

Final ship gate

Run /premortem --output before ship. See /premortem skill for the 5 execution domains (will-it-resonate / will-it-convert / will-it-stay-on-brand / will-stakeholder-push-back / will-it-degrade-over-time) and output template.

Trivial-case escape: ## Premortem\nNo failure modes — trivial change satisfies the contract for genuinely trivial outputs.


Persuasion & stickiness pass

Output complies with persuasion-and-stickiness.md — Cialdini's 7 persuasion levers + Heath's SUCCESs. Deploy the 1-2 Cialdini levers that fit the reader's barrier (never all seven; every lever must be TRUE), run the SUCCESs diagnostic (Simple / Unexpected / Concrete / Credible / Emotional / Stories) over the near-final draft, then the rule's pre-ship gate.


Signals

GitHub stars
36
Forks
14
Last commit
Jul 2026

ahel review

  • S4info
    community integration — published by matteotitta, not google

Automated review, not a security audit. Ruleset v1.

Advanced
Catalog kind
skill
Gateway key
google-ads-copy
Source
github.com/matteotitta/genesys-skills