Everyone's using ChatGPT to write Google Ads copy. Most of them are shipping RSAs that sound like a chatbot wrote them, because a chatbot did write them, and nobody bothered to tell it what good ad copy actually looks like.
The tool's fine. The prompt isn't.
Why ChatGPT's Default Google Ads Copy Sounds Like a Bot
Type "write me 15 Google Ads headlines for a plumber in Melbourne" into ChatGPT and you'll get something like:
- Trusted Plumbing Solutions
- Premium Plumbing Services
- Expert Plumbing Melbourne
- Reliable Emergency Plumbers
- Quality Workmanship Guaranteed
That's not ad copy. That's the same Yellow Pages template every tradie has been running since 1997, dressed up with slightly newer adjectives. Every plumbing business in the country could run those exact same headlines, which tells you they say nothing specific about the actual business.
The model is doing exactly what you asked. You just asked the wrong question. It has no idea what your business does differently, who you're targeting, what search terms trigger the ad, what your character limits are, or what happens after the click. Without any of that context, it defaults to the most average-looking output it can produce.
Give ChatGPT the Context It Needs
The single biggest jump in output quality comes from front-loading the prompt with actual business detail. Not a paragraph. A structured brief.
What to include:
- What the business does in one line, no marketing speak. "We fix broken hot water systems in Melbourne, same-day service, licensed plumbers."
- The specific angle you want the ad to lead with. Emergency? Fixed price? Family-owned since 1978? Pick one, don't try to cram all three into a single headline.
- The keyword theme the RSA will run against. Headlines for "emergency plumber Melbourne" should read differently to headlines for "hot water system replacement." ChatGPT has no idea which one you're targeting unless you tell it.
- The audience. A residential customer with a burst pipe at 11pm reads ad copy differently to a facilities manager comparing quotes.
- Anything you specifically don't want. No exclamation marks. No "premium." No "trusted." No numbers you can't stand behind.
That last one matters. Left to its own devices, ChatGPT will invent statistics ("Rated #1 in Melbourne!") that will get your ads disapproved for unverifiable claims. Tell it upfront to stick to facts you can actually back up.
Force It to Think in RSA Units, Not Headlines
Most people prompt ChatGPT for headlines and descriptions as separate lists. That's fine for brainstorming. It's terrible if you're building an actual responsive search ad.
An RSA is one unit. Fifteen headlines and four descriptions that Google mixes and matches at serve time. If you generate them separately, you end up with headlines that don't logically pair with your descriptions, and the combinations Google actually serves come out slightly incoherent.
A better prompt asks ChatGPT to treat the RSA as a whole:
"Give me 15 headlines and 4 descriptions for a single RSA. Headlines should cover three angles: service benefit, offer or urgency, and trust signals. Descriptions should reinforce those angles, not repeat the headlines word for word. Assume Google will mix and match, so every headline should make sense next to every other headline."
That last sentence is the important bit. Once ChatGPT knows the outputs will be recombined, it stops writing sequential headlines that only make sense in order.
The Character Limit Problem (and How to Solve It)
Headlines are 30 characters. Descriptions are 90. That's hard-capped by Google, go one character over and the ad won't save.
ChatGPT is genuinely terrible at counting characters. It confidently produces a "30-character" headline that's actually 34, then when you flag it, apologises and produces another one that's 32. This isn't a solvable problem inside the model, so don't waste your time asking for shorter versions.
What actually works:
- Ask for output as a numbered list with the character count in brackets.
1. Same-Day Hot Water Fix (22) - Manually check every one before you paste them into Editor. Yes, every one. It takes two minutes.
- Better still, ask for 20 headlines instead of 15, so you can drop the ones that are too long and still have plenty to work with.
You can also give ChatGPT a rule like "if a headline exceeds 30 characters, shorten it or drop it, do not exceed the limit under any circumstances." It'll still get it wrong sometimes. Check them anyway.
Where ChatGPT Still Can't Replace You
This is where I disagree with a lot of the "AI writes better ads than humans" crowd. ChatGPT is genuinely useful for volume and for shaking loose angles you hadn't thought of. It's not a substitute for the two things that make ad copy actually work.
Knowing what your customers are searching for. ChatGPT doesn't have your search terms report. It doesn't know that "cheap plumber" is your most-clicked query, or that "emergency plumber near me" converts at three times the rate of "plumber Melbourne." Feed those insights into your prompt or your headlines will address the wrong intent entirely. If you don't know what to feed in, start with your search term report.
Voice. Every business has a slightly different way of talking to its customers. A same-day tradie brand doesn't sound like a boutique high-end renovator. ChatGPT will default to a beige, mid-market voice unless you tell it what yours is, and even then, feeding it two or three examples of your own writing will do more than any adjective you could give it.
I had a boutique renovator client whose ads read like every mid-market tradie in the state, all "trusted, reliable, premium" energy. We spent 20 minutes writing three sample sentences in their actual voice, fed those into the prompt along with the structured brief, and the second-round output was suddenly on-brand and usable. The model didn't change. What we fed it did.
If your Google Ads account isn't set up to feed decent signals back into the system, no amount of clever copy will save it. AI-ready account structure does more heavy lifting than headline experimentation ever will.
A Prompt Template You Can Actually Use
Copy this, fill in the blanks, and you'll get much better output than "write me some Google Ads copy":
I need a Responsive Search Ad for [BUSINESS TYPE] in [LOCATION].
Business context:
- What we do: [ONE LINE, NO MARKETING SPEAK]
- Angle to lead with: [ONE SPECIFIC ANGLE]
- Keyword theme this RSA targets: [EXACT KEYWORD OR THEME]
- Audience: [WHO'S SEARCHING AND WHY]
- Voice: [TWO OR THREE ADJECTIVES + AN EXAMPLE SENTENCE OF OUR ACTUAL WRITING]
Constraints:
- Headlines: 15 total, 30 characters max each, character count in brackets after each one
- Descriptions: 4 total, 90 characters max each, character count in brackets after each one
- No exclamation marks
- No superlatives like "premium," "best," "trusted"
- No unverifiable claims or invented statistics
- Every headline must work next to every other headline
Angles to cover across the headlines:
- Service benefit (specific, not generic)
- Offer or urgency
- Trust signal (licensed, guaranteed, established)
- One call to action
Output as two numbered lists: Headlines, then Descriptions.
My take: this template gets you to 80% usable output. The last 20% is you rewriting the three or four that landed slightly off. That's still an hour of work saved versus writing 15 headlines from scratch, and the second-round output tends to be sharper than what you'd have written cold.
Key Takeaways
- Default ChatGPT ad copy is bad because default prompts are bad, not because the tool is broken.
- Front-load prompts with business context, offer angle, keyword theme, audience, and what to avoid.
- Prompt for the RSA as a single unit so headlines mix cleanly with each other.
- ChatGPT can't count characters. Ask for counts in brackets and check every one manually.
- Feed it your search term data and a sample of your actual voice. Beige, mid-market output is the default when neither is present.
- Treat the output as a first draft. Rewriting three headlines beats writing fifteen from zero.
If your ad copy is fine but your account structure is doing all the damage, that's usually where the bigger wins are hiding. Send me the account and I'll take a look.
