ads · rsa-output-spec

Google RSA Output Spec

When the user requests Google Ads RSAs (Responsive Search Ads), output MUST comply with these platform limits and structural requirements. Do not output any RSA that violates them.

Hard limits per RSA (enforce before responding)

Required sidecar artifacts (always include with RSA request)

  1. Ad group structure, labeled Ad group structure: — list each ad group with its theme, target keywords (match types), and which RSAs map to it.
  2. Negative keyword list, labeled Negative keywords: — minimum 8 entries, group-level vs campaign-level called out.
  3. Sitelinks (≥ 4), Callouts (≥ 4 ≤25 chars), Structured snippets if relevant.

Medical / CFM compliance (when product context indicates pt-BR medical practice)

If .agents/product-marketing.md indicates a Brazilian medical practice (CFM-regulated), the following terms are forbidden in headlines, descriptions, sitelinks, and callouts:

Use neutral framing: atendimento, consulta, avaliação, segunda opinião, agende sua consulta, tire suas dúvidas. Geo modifier (Porto Alegre, POA, Zona Sul POA) required where the prompt specifies a region.

Output ORDER (mandatory — emit in this order to avoid truncation)

  1. Ad group structure (short)
  2. Negative keywords (≥8, MANDATORY — emit BEFORE RSAs so it isn't dropped if output runs long)
  3. Sitelinks (≥4)
  4. Callouts (≥4)
  5. RSA1, RSA2, RSA3 (largest section, last — safe to truncate gracefully)

Output template (mandatory shape)

Ad group structure:
- AG1 [theme]: keywords (match types) → RSA1, RSA2
- AG2 [theme]: ...

Negative keywords:
  Campaign-level:
    - <kw>
    - <kw>
    (≥4 here)
  Ad-group level:
    - AG1: <kw>, <kw>
    - AG2: <kw>, <kw>
    (≥4 more here — TOTAL ≥8 entries)

Sitelinks (≥4):
  - <title (≤25)> | <desc1 (≤35)> | <desc2 (≤35)> | URL

Callouts (≥4, each ≤25 chars):
  - <callout>

RSA1 — [ad group name]
  Final URL: https://...
  Path1: ...   Path2: ...
  Headlines (15, each ≤30 chars):
    1. <headline> (NN chars)
    ...
    15. <headline> (NN chars)
  Descriptions (4, each ≤90 chars):
    1. <description> (NN chars)
    ...
    4. <description> (NN chars)
  Pinning: H1=none; H2=none; ...   (or explicit pins)

RSA2 — ...
RSA3 — ...

Self-check before responding

Before sending the output, run this checklist mentally:

If any check fails, rewrite before responding. Do not ship partial RSAs.


Source: https://github.com/coreyhaines31/marketingskills/skills/ads/references/rsa-output-spec.md · v2.3.2 · MIT License (c) 2025 Corey Haines.