---
name: craft-your-offer-angles
description: >-
  Turns a solid offer into a prioritized inventory of message themes, each with proof points and
  headline-length phrasing, weighted for how much the searcher in a given campaign already knows.
  This is the raw-material step that runs between having an offer and writing ads: use it before
  composing or refreshing RSAs, when launching a campaign for a new product, after the offer changes,
  or when you need grounded hypotheses for ad testing. Do NOT use it to fix a weak offer
  (create-an-irresistible-offer does that, and must come first), to actually assemble and deploy ads
  (write-compelling-rsas), to run structured creative tests (rsa-testing-with-the-iteration-loop), or
  to diagnose a low click-through component of Quality Score (improve-expected-ctr, which may route
  back here when the diagnosis is thin messaging). Run the extraction once per offer; re-run only the
  per-campaign weighting when the same offer serves multiple campaigns.
---
# Extract and Prioritize Offer Message Angles

## Purpose

Strong RSAs are assembled from pre-extracted message material, not improvised in the ad editor. This skill
documents everything the offer gives you to say, organizes it into six reusable message themes with proof
behind each, and weights those themes for the awareness level of the traffic each campaign reaches. The
output is a per-campaign angle plan that feeds `gads_generate_rsa_copy` and the write-compelling-rsas skill.

## When to run

- Before writing RSAs for a new campaign or ad group.
- A new product or service is being launched into an existing account.
- The offer changed (new guarantee, pricing, bundle, proof points) and creative needs a refresh.
- rsa-testing-with-the-iteration-loop needs fresh, grounded variant hypotheses.
- improve-expected-ctr found the ads say nothing distinctive and routed here.

## When NOT to run

- The offer itself is weak or undifferentiated, run create-an-irresistible-offer first; extracting angles
  from a commodity offer just documents the commodity.
- You are ready to compose and ship the actual ads, run write-compelling-rsas (it consumes this output).
- You want to test existing assets systematically, run rsa-testing-with-the-iteration-loop.
- Click-through is weak and the cause is unknown, run improve-expected-ctr to diagnose first.

## Prerequisites

- A validated offer (passes the create-an-irresistible-offer bar, or an established offer that converts).
- Access to customer evidence: reviews, testimonials, ratings, customer counts, sales-team objection notes.
- Knowledge of which campaign(s) this material will serve, weighting is per campaign, not global.

## Procedure

1. **Inventory the campaigns this offer serves.** Call `gads_list_campaigns` and, for each relevant campaign,
   infer the audience warmth from its name, type, and channel:
   - Brand search and remarketing → **hot** (they know the product; deciding now).
   - Competitor-term search → **hot-leaning** (they know the category and a rival; need a switch reason).
   - Category/service/product search → **warm** (they know solutions exist; comparing options).
   - Problem- or symptom-phrase search, Display/YouTube prospecting → **cold** (they know the pain, not
     the solution).
   Record one warmth label per campaign. If a campaign clearly mixes stages (e.g. one ad group on problem
   terms, another on product terms), plan separate angle weightings per ad group or recommend splitting.
2. **HUMAN STEP (outside VigilDog): collect the offer facts.** From the site, sales team, and review platforms,
   capture: what the product/service is; who it is for; the problem it solves and its day-to-day symptoms;
   what buyers tried before that failed; the consequence of not solving it; how it works; the main outcome;
   the genuine differentiators; everything included; all available proof (customer counts, ratings + review
   volume, recognizable client names, credentials, quantified results); every risk-reversal term (guarantee,
   trial, cancellation); and current pricing or promotions. Specific numbers matter more than adjectives.
3. **Extract six message themes.** Each theme answers a distinct question in the searcher's head. For every
   theme, write 2–3 phrases that fit a 30-character RSA headline plus the proof point that backs the claim:
   - *Pain recognition*, "do they get my problem?" (symptoms, failed alternatives, cost of waiting)
   - *Core promise*, "what do I get?" (the product plus its primary outcome, stated plainly)
   - *Differentiation*, "why this one?" (speed, ease, method, specialization, quantified superiority)
   - *Included extras*, "what else comes with it?" (bundled items, bonuses, conveniences, exact quantities)
   - *Credibility*, "can I trust them?" (counts, ratings, named customers, credentials, measured results)
   - *Risk reversal*, "what if it disappoints?" (guarantee terms, trial structure, cancellation ease)
4. **Weight themes per campaign** using the warmth labels from step 1 and the decision rules below. Produce,
   for each campaign: which themes lead (2+ headline slots), which are included (1 slot), which get only a
   description mention, and which are skipped entirely.
5. **Map a headline-slot plan.** Reserve slot 1 for a keyword-relevance anchor (the term the ad group targets,
   or a keyword-insertion placeholder), reserve one slot for a clear call to action, and distribute the
   remaining slots per the weighting. Target 7–10 distinct headline concepts total, enough variety for the
   system to combine, few enough that per-asset data accrues fast enough to read in testing.
6. **Validate the material.** Every phrase must be (a) specific, a number, a named deliverable, or a concrete
   term beats an adjective; (b) truthful and provable, unverifiable superlatives invite disapprovals and
   erode trust; (c) within 30 characters for headlines. Any theme you cannot fill with real content is a
   signal: either customer research is missing (HUMAN STEP: read reviews, talk to sales) or the offer has a
   genuine gap, route back to create-an-irresistible-offer.
7. **Hand off to generation.** Feed the angle plan (themes, phrases, proof points, slot map) to
   `gads_generate_rsa_copy` as the generation brief and review its drafts against the plan, reject drafts
   that drift into generic filler. Deployment itself belongs to write-compelling-rsas; when that step comes,
   consult `gads_policy_guardrail` before the session's first Google Ads write, and every ad write goes
   preview (validate_only) → explicit user approval → commit.

## Decision rules

- **Warmth → theme emphasis:**
  - Cold traffic: lead with pain recognition and the core promise; keep differentiation light; skip extras
    and deal terms, they mean nothing to someone who hasn't chosen a solution type yet.
  - Warm traffic: lead with the core promise and differentiation; include credibility and risk reversal;
    keep pain recognition to one slot or a description line.
  - Hot traffic: lead with differentiation, credibility, risk reversal, and extras/deal terms; pain
    recognition is nearly redundant, they already own the problem.
- **Slot arithmetic:** lead theme = 2 slots, included theme = 1 slot, light theme = description only,
  skipped = nowhere. Plus one relevance anchor and one CTA. Total distinct concepts: 7–10.
- **Reuse scope:** facts and themes (steps 2–3) are per-offer, extract once. Warmth classification and
  weighting (steps 1, 4–5) are per-campaign, redo for every campaign the offer serves.
- **Mixed traffic in one ad group:** either split by awareness stage or weight for the stage that drives
  the majority of impressions; one asset set cannot lead with everything.
- **B2B vs B2C proof selection:** same six themes, different proof. B2B buyers respond to quantified ROI,
  named client logos, integrations, and security credentials; B2C buyers respond to review volume, star
  ratings, speed/ease claims, and emotional outcomes.
- **Phrase count:** 2–3 headline-ready phrases per non-skipped theme, fewer starves testing, more bloats
  the plan before anything has data.

## Common failure modes

- **Adjective soup.** "High-quality service, great support" fills a slot and says nothing. If a phrase has
  no number, named deliverable, or concrete term, rewrite it or cut it.
- **Skipping the warmth step because "we know our audience."** Knowing the audience is not the same as
  classifying this campaign's traffic; the same buyer needs different emphasis at different stages.
- **One angle plan for every campaign.** Brand and problem-term campaigns sharing an asset set means at
  least one of them is mis-weighted.
- **Claims that outrun the proof.** A "rated #1" headline with no source, or an expired "50% off," risks
  ad disapproval and destroys the credibility theme it was meant to serve. Check flagged copy against
  `gads_policy_guardrail` guidance before deployment.
- **Documenting angles for a broken offer.** If steps 2–3 keep producing empty cells, stop extracting and
  fix the offer, this skill transforms substance, it does not create it.

## Related skills

- Run after: create-an-irresistible-offer (the offer must be worth describing first).
- Run before: write-compelling-rsas (assembly and deployment of the actual ads).
- Feeds: rsa-testing-with-the-iteration-loop (variant hypotheses come from unused phrases and themes),
  set-up-dynamic-ad-customizers and set-up-keyword-level-ad-customizers (angle plan informs customizer copy).
- Routed from: improve-expected-ctr, improve-ad-relevance (when weak messaging is the diagnosis).
