Purpose of this document:

How we write Google Ads responsive search ads for home service businesses. Three RSAs per ad group, each one a different offer angle, every slot filled (15 headlines, 4 descriptions, every time). Most home service RSAs ship half-built with one weak angle, and this playbook is the fix.

RSAs aren’t single ads. They’re a pool that Google rotates. Fill the pool right and the ads work. Cut corners and they don’t.

How responsive search ads work

A responsive search ad is a pool of pieces that Google assembles into the actual ad someone sees. You give Google 15 headlines and 4 descriptions. Every time the ad serves, Google picks 3 of those 15 headlines and 2 of the 4 descriptions, then shows that combo to the searcher. Next impression, different combo. Same RSA, different served ad.

This is the part most contractors miss. You’re not writing one ad. You’re writing a pool that Google rotates through forever, testing different mixes against different searches. Every headline you write is going to get tested in every position, against every other headline you wrote.

FILL EVERY SLOT, EVERY TIME

If you only wrote 8 headlines, Google has fewer combinations to test. If 3 of your headlines are weak, Google might serve those 3 together for one impression. The pool only works if you actually fill it.

The character limits

SlotCount per RSACharacter limit
Headlines1530 max
Descriptions490 max, 70 min recommended

Don’t waste descriptions on short copy. If you have 90 characters available, USE them. A 45-character description gives up half its real estate.

Pinning: controlling what Google can pick

By default, Google picks any 3 of your 15 headlines for any of the 3 positions on the served ad. Pinning forces a specific headline into a specific position. Two pins per RSA, every time:

HeadlinePosition pinned toWhat goes here
Headline 1 (H1)Position 1A keyword-intent match in searcher language. If the ad group is “Fence Company Near Me”, H1 is “Local Fence Company” or “Fence Company in Cincinnati”. Never company jargon. Never your value prop. Use the searcher’s words.
Headline 15 (H15)Position 3The exact business name. “Bedrock Fence”. Nothing else. No taglines, no “Call Today”, no ”& Co.”.
H2 through H14Unpinned (floating)These rotate into any position Google wants, including position 2. The pool of 13 headlines that lean into this RSA’s specific theme.

Position 2 is INTENTIONALLY left unpinned. Google has 13 unpinned headlines to choose from for that slot, and we want Google to test which one wins. That’s the whole point of the strategy. (More on that in the next section.)

Descriptions never get pinned. All four float, and Google picks 2 of them for any given served ad. So all 4 have to read clean in any order, alongside any other one in the pool.

Never convert "near me" to "near you"

When the ad group is “Fence Company Near Me”, a tempting move is to write H1 as “Fence Company Near You”. Don’t. It reads cheap and unnatural. Use a location reference (“Local Fence Company”, “Fence Company in Cincinnati”) or a stronger benefit headline (“Built-To-Last Fence Install”) instead.

Three RSAs per ad group: our strategy

Every ad group gets THREE RSAs, each with a psychologically distinct theme. Not three almost-the-same variants. Three different angles, each fighting for a different searcher mindset.

The math, per ad group:

  • 3 RSAs
  • 15 headlines per RSA × 3 RSAs = 45 headline slots
  • H1 (shared, pinned) + H15 (shared, pinned) = 2 slots that repeat across all 3 RSAs
  • H2-H14 (unpinned, leans into theme) × 3 RSAs = 39 unique unpinned headlines per ad group
  • 4 descriptions per RSA × 3 RSAs = 12 unique descriptions per ad group

Forty-five headlines. Twelve descriptions. PER. AD. GROUP. This is what most contractors don’t do. They write one RSA, half-fill it, ship it, and wonder why the ads underperform. Then they blame the platform. The platform is fine. The pool is empty.

Why three angles

Google’s algorithm needs different angles to test, not different wordings of the same angle. When all 3 RSAs say “fast, friendly, professional fence install” in slightly different ways, Google can’t learn anything because there’s no real difference between them. When RSA #1 is Local & Trusted (“3rd-Generation Cincinnati Crew”), RSA #2 is Professional Quality (“Posts Set 4 Feet Deep”), and RSA #3 is Transparent & Reliable (“Itemized Quotes, Day One”), Google can actually see which mindset converts and lean into it.

You’re not picking the winner. Google is. Your job is to give Google 3 real choices.

Workflow: one RSA at a time

When you sit down to write the 3 RSAs for an ad group, work top-to-bottom on one before starting the next:

  1. Pick the 3 angles for the ad group (next section covers how).
  2. Write H1 (pinned, position 1). Same across all 3 RSAs in this ad group.
  3. Write H15 (pinned, position 3). Same across all 3.
  4. Write RSA #1’s 13 unpinned headlines (H2-H14), all leaning into angle #1.
  5. Write RSA #1’s 4 descriptions, each in a different structural shape.
  6. Repeat steps 4-5 for RSA #2 and RSA #3 with their angles.
  7. Spot-check: every unpinned headline is unique to its RSA. No copy-paste between RSAs. All 4 descriptions inside an RSA use different shapes.

Important: do not pool-write. Don’t brainstorm 39 headlines and then try to sort them into 3 RSAs. Write one RSA fully, then the next, then the next. The theme stays sharper that way.

Picking the three angles

The three angles are the editorial call that makes or breaks the ads. Three questions, in order:

1. What offers work best in this market? Different markets reward different things. Emergency plumbing rewards speed above everything. Premium roofing rewards trust and craftsmanship. Cleaning markets reward predictable pricing. Start here.

2. What’s this client’s USP versus the competition in the area? What does this business have that the other 5 ads on page one don’t? Family-owned 3rd generation. A specific certification. A guarantee none of the competition offers. Hyper-local crew with photos of recent jobs. Find the actual edge.

3. What does the ideal customer truly care about? Not what the business owner thinks they care about. What the customer actually wants in the moment they’re searching. Someone searching “fence company near me” on a Saturday afternoon is usually scouting before getting quotes. They care about reputation and pricing transparency more than 24-hour response time.

Synthesize those three answers into 3 distinct angles. The angles have to be PSYCHOLOGICALLY distinct, not three flavors of the same angle. “Fast install” and “quick turnaround” and “ready in days” are one angle three times. “Speed” and “Trust” and “Transparent Pricing” are three different angles.

Theme distinctness is the hard part

The #1 reason this strategy fails is writing 3 RSAs with different LABELS but the same UNDERLYING angle. “Speed”, “Quick Response”, and “Same-Day Service” are not 3 themes. They’re 1 theme written 3 times. If you can read the 3 RSA themes aloud and one of them is just a synonym of another, redo.

Common combinations by ad-group intent

A starting point when you’re stuck. Each row is a real ad-group intent and the 3 angles that usually fit.

Ad-group intentAngle 1Angle 2Angle 3
Install (Fence Install, Roof Replacement)Quality / CraftsmanshipSpeed / ConvenienceTrust / Reliability
Repair (AC Repair, Drain Cleaning)Fast ServiceExpert Repairs (done right, not band-aided)Transparent Pricing
Safety-focused (Pool Fence, Privacy Fence)Safety First (kids, family)Code Compliance (passes inspection)Peace of Mind
Local intent (Fence Company Near Me)Local & TrustedProfessional QualityTransparent & Reliable
Emergency (Emergency Plumber, Burst Pipe)Speed (60-min response)Risk Reversal (warranty / guarantee)Trust (years in business)

For the deeper angle taxonomy (14 angles, when to use which, how to stack them), see Offer Creation Framework.

Worked example: a full ad group’s 3 RSAs

Bedrock Fence in Cincinnati. Ad group: “Fence Company Near Me”. We’ll build all 3 RSAs end-to-end.

Step 1: Pick the angles

The market: Cincinnati fence install. Mid-ticket, planned-purchase, homeowner searching from the couch. They’ve been thinking about a fence for months and finally typed it in. Not in emergency mode.

The USP: Bedrock Fence is locally established, focuses on real craftsmanship (4-foot post depth, real cedar/vinyl, no shortcuts), and itemizes quotes up front so there’s no surprise pricing on install day.

The customer wants: Reputation, quality, and to know what it’s going to cost. Speed matters less here than confidence in the contractor.

Three psychologically distinct angles that fit:

  • Angle 1, Local & Trusted. Cincinnati-specific reputation. Years in the area. Neighbor proof.
  • Angle 2, Professional Quality. Build quality, materials, craftsmanship. The fence outlives the neighbor’s.
  • Angle 3, Transparent & Reliable. Itemized quotes, fair pricing, show-up-when-they-say.

Step 2: Write the shared H1 and H15

These are pinned and don’t change across the 3 RSAs.

H1 (pinned position 1): Fence Company in Cincinnati

Why: matches the ad-group intent (“Fence Company Near Me”) in searcher language, with the real city name replacing “near me”. 27 characters. Could fall back to Local Fence Company (19 chars) if Cincinnati pushes a downstream headline over the limit, but the city-specific version wins on relevance.

H15 (pinned position 3): Bedrock Fence

Why: exact business name. 13 characters. No ”& Co.”, no tagline, no “Call Now”. Brand visibility on every served impression.

Step 3: RSA #1, Local & Trusted

The 13 unpinned headlines (H2-H14) all lean into LOCAL + TRUSTED. They’ll fill position 2 most of the time (and occasionally position 1 or 3 when Google serves a shorter ad). Mix of headline types (benefit / trust / differentiator / CTA), all in the same register.

The annotations show WHY each headline earns its slot. The first time the copy principles show up live, on real lines.

#HeadlineCharsTypeNote
H23rd-Generation Cincy Fencer27TrustHyper-local proof in one phrase. “Cincy” reads more local than “Cincinnati” (locals shorten it).
H3Built For Cincinnati Weather28DifferentiatorLocal-specific claim, not generic. Implies they’ve solved a problem out-of-town crews don’t know.
H4Trusted By 500+ Neighbors25Trust (proof)Neighbor framing, not “customers”. More intimate, more local.
H5Family-Owned Since 198723TrustSpecific year > vague “decades”.
H6Top-Rated Cincinnati Fencer27Trust (ranking)Local + ranking signal.
H7Your Neighbor Picked Us23Social proofImplies the searcher’s actual neighbor already chose. 30-char-tight version of social proof.
H8Local Crew, Local Reputation28DifferentiatorRepetition of LOCAL for emphasis. The pattern is the point.
H9See Cincy Installs This Week28CTADrives clicks to recent local work. “This week” adds freshness.
H10Real Local Crew, Real Results29DifferentiatorAnti-corporate framing. The word “real” earns its weight because the alternative (national franchises) is the unspoken comparison.
H11Free On-Site Walk-Through25CTA”Walk-through” reads better than “free quote” (which has gone dead). Named deliverable beats named transaction.
H12Cincy Homeowner Favorite24TrustLocal nickname + ranking.
H13Talk To The Local Owner23DifferentiatorOwner-accessible, not “rep” or “agent”. Implies a smaller, more accountable business.
H14Cincinnati Fences For 35 Years30TrustYears in the local market. Right at the 30-char ceiling.

The copy principles that ran through every headline above:

  • Customer-perspective, not company-centric. “Your Neighbor Picked Us” beats “We Have Many Satisfied Customers.” The subject is them, not us.
  • Specific and tangible. “500+ Neighbors”, “Since 1987”, “4 Feet Deep” beat “many”, “decades”, and “deep posts”. If you can’t visualize it, it’s too vague.
  • Action-oriented. “See Cincy Installs This Week” and “Talk To The Local Owner” both push the searcher toward a next move.
  • Emotional match. “Local Crew, Local Reputation” hits the local-pride emotion the searcher already feels typing “near me”.

Now the descriptions for RSA #1. Each one uses a different structural shape (D1-D4 are always 4 different shapes, not 4 versions of the same one).

D1, Problem-Agitator-Solution ([Problem]? [Pain]. [Solution]. [Implicit CTA].):

Out-of-town crew flake on you before? We're a Cincinnati crew. 3 generations local.

The problem is named, the implicit agitation lands (out-of-towners flake), and the solution is the contrast (local, generational). 81 chars.

D2, Direct Benefit & Offer ([Strongest Benefit]. [Specific Offer]. [CTA].):

Get a fence built by Cincinnati's top-recommended crew. Free walk-through this week.

Benefit + offer + soft urgency. 85 chars.

D3, Trust & Credibility ([Trust Signal]. [What you do]. [CTA].):

Trusted by 500+ Cincinnati homeowners since 1987. Family-owned. Real local reviews.

Number + year + ownership + proof source. 83 chars.

D4, Urgency / Speed ([Speed/availability]. [Service]. [CTA].):

Booking spring fence installs now. Cincinnati crew, real reviews. Call this week.

Time-bound + service + call. 81 chars.

That’s RSA #1: 15 headlines (H1 + 13 unpinned + H15) and 4 descriptions, all themed Local & Trusted.

Step 4: RSA #2, Professional Quality

Same H1 (Fence Company in Cincinnati), same H15 (Bedrock Fence). All 13 unpinned headlines and all 4 descriptions are NEW, and they all lean into QUALITY + CRAFTSMANSHIP. No copy-paste from RSA #1.

Unpinned headlines (H2-H14):

#HeadlineCharsType
H2Posts Set 4 Feet Deep21Differentiator (specific)
H3Built To Outlast The House26Benefit (specific outcome)
H4Real Cedar, Real Vinyl22Differentiator (anti-cheap-materials)
H5No Leaning Posts, Ever22Benefit (problem solved)
H620+ Years Of Craftsmanship26Trust
H7Quality You Walk The Yard For29Differentiator
H8Built To Withstand Winters26Benefit (specific to climate)
H9See The Build Difference24CTA
H10Craftsmanship Over Speed24Differentiator (anti-rush)
H11Get A Quality Estimate22CTA
H12Pro-Grade Materials Only24Differentiator
H13We Don't Cut Corners20Differentiator
H14Built For The Next 30 Years27Benefit (lifespan)

Descriptions:

D1 (Problem-Agitator-Solution, 87 chars): Fence already leaning after one winter? We build them to outlast the house. Real cedar.

D2 (Direct Benefit & Offer, 87 chars): Get a fence with 4-foot posts and real cedar. 20+ years craftsmanship. Quote in 24 hours.

D3 (Trust & Credibility, 84 chars): Trusted by Cincinnati homeowners for 20+ years. Real cedar and vinyl. Built to last.

D4 (Urgency / Speed, 84 chars): Booking quality builds for spring install. Real cedar, no shortcuts. Quote this week.

Notice: zero overlap with RSA #1’s descriptions. Same business, same H1, same H15, completely different argument.

Step 5: RSA #3, Transparent & Reliable

Same H1 (Fence Company in Cincinnati), same H15 (Bedrock Fence). New 13 unpinned headlines + 4 new descriptions, all leaning into TRANSPARENCY + RELIABILITY.

Unpinned headlines (H2-H14):

#HeadlineCharsType
H2Itemized Quotes, Day One24Differentiator
H3No Surprise Fees Ever21Benefit (anti-gotcha)
H4What We Quote, You Pay22Benefit (specific promise)
H5Show Up When We Say19Trust (reliability)
H6Honest Pricing, Honest Crew27Trust
H7Get An Itemized Quote Free26CTA
H8No Hidden Fees Guaranteed25Risk reversal
H9Real Cost Before We Start25Differentiator
H10We Don't Play Pricing Games27Differentiator (anti-industry)
H11Quote In Writing, Always24Trust
H12Transparent From Day One24Differentiator
H13Get A Real Quote Today22CTA
H14Same-Day Quote, No Pressure27Speed + anti-pressure

Descriptions:

D1 (Problem-Agitator-Solution, 89 chars): Tired of contractors changing the price on install day? We itemize day one. No surprises.

D2 (Direct Benefit & Offer, 84 chars): Get an itemized quote upfront. What we quote is what you pay. Honest Cincinnati crew.

D3 (Trust & Credibility, 86 chars): Cincinnati crew with itemized quotes, no hidden fees. 500+ honest reviews. Free quote.

D4 (Urgency / Speed, 76 chars): Get a same-day itemized quote. No sales pressure, no hidden fees. Call today.

That’s the full ad group. 45 headlines (2 shared pins + 39 unique unpinned + 4 not counted because H1 and H15 each count once shared across the 3). 12 unique descriptions. Google now has 3 real psychologically distinct RSAs to rotate, and a deep pool inside each one.

Common mistakes

The half-built ad. Filling 8 headlines and 2 descriptions, hitting save, and then blaming Google when nothing converts. The pool IS the strategy. If the pool is half empty, the strategy doesn’t run. Fill every slot, every time.

Three RSAs that are the same angle in different wrapping. “Fast Service”, “Quick Repairs”, and “Same-Day Available” are NOT three themes. They’re one theme written three times. Google can’t learn from three flavors of one angle. Themes have to be psychologically distinct or there’s nothing to test.

Copy-pasting unpinned headlines between RSAs. “Free Estimate” sitting in all three RSAs is a wasted slot two times over. H2 through H14 must be unique to each RSA. 39 unique unpinned headlines per ad group. No shortcuts here.

Going over 30 characters on headlines. Google truncates. The headline shows as “Professional Fence Install…” with the punch cut off. Count every character. If it’s over, rewrite.

Going under 70 characters on descriptions. You have 90. USE them. A 42-character description gives up half the slot. Pack it.

Writing all 4 descriptions in the same shape. If D1, D2, D3, and D4 all open with the same construction or close with “Call now.”, they look like one description shown twice when Google rotates two of them together. Use the 4 different shapes (Problem-Agitator-Solution / Direct Benefit & Offer / Trust & Credibility / Urgency-Speed), one per slot.

“Near You” headlines. Cardinal sin. When the ad group is “Fence Company Near Me”, the right H1 is a location (“Fence Company in Cincinnati”) or a benefit (“Built-To-Last Fence Install”). Never “Fence Company Near You”. It reads cheap, lowers Quality Score, and signals low-trust.

Company-centric copy. “We Offer Professional Installation” is about us. “Get Professional Installation Today” is about them. Same idea, different perspective. The customer perspective wins every time on click-through. Rewrite anything that opens with “We” unless it’s a deliberate trust beat (“We Don’t Cut Corners”).

Vague claims. “Quality Service” and “Great Workmanship” are invisible because every contractor on the page says them. “Posts Set 4-Foot Deep” is visible because it’s specific. If you can’t measure it or visualize it, rewrite it.

Wrong pinning. H1 unpinned means Google might bury your keyword-intent headline at position 3. H15 unpinned means your business name might not show in the served ad. Always pin H1 to position 1, H15 to position 3. The only two pins per RSA.