Read signals over time · 10 min read · Updated 24 Sep 2026
Prompts to Analyse Competitor Ads
An ad is the shortest document a competitor publishes, and most of its meaning sits outside the text: the image, the audience, the page behind it, and how long it ran. Paste the copy on its own and a model is interpreting six words, which is closer to writing than to reading. These prompts read an ad set as a set of experiments.
Most of a competitor's ad is not the text you pasted
An ad is the shortest document a competitor publishes. Six words of headline, maybe twenty of body. Everything else that makes it an ad sits outside the copy: the image or video, the page it points to, and the people it was shown to.
Paste the words on their own and you have handed over the smallest part of the thing. A model asked what the campaign is doing will answer anyway, because six words plus a request for interpretation is a writing task rather than a reading one.
The specific failure is worth naming, because it is easy to miss. Ask about visual language and you will get a paragraph about visual language. It will be plausible, it will use the right vocabulary, and there is nothing in it to check. Nothing in the answer says the model never saw an image.
An ad set is a list of experiments
Then there is the question of what the set even is. A pricing page is a decision. A filing is a statement under liability. An ad set is a collection of things somebody is currently trying, and a good proportion of it will be switched off within a month.
So reading an ad set as a competitor’s positioning is a category error. It is their positioning experiments. The interesting question is not what they say but which of the things they tried is still running, and that question needs dates rather than cleverness.
Their considered position is on their own pages, written once and defended, and reading a competitor’s positioning is a different job with a different source. An ad set is where they are still arguing with themselves about it.
Why there is no measured competitor ad run on this page
This job normally comes with a measured run: the prompt, what came back, and the source it was checked against. Here there is none, and the reason is the same thing that makes the job hard.
The public ad libraries are interfaces rather than documents. They do not give an ad set a fixed address you could open in six months, they refuse automated requests, and the ads themselves disappear from the record once they stop running. A run printed here would rest on a screenshot, and a screenshot is not something a reader can check.
That is worth stating plainly rather than filling the gap. A result you cannot reproduce is not evidence, and manufacturing one on a page about unverifiable claims would be an odd way to make the argument. The same call was made for review analysis, where no public corpus qualified either.
What to do instead, and it takes ten minutes
Prompts to read a competitor's ad copy
Two prompts, and the second one runs first. Establishing what is missing before the reading is what stops the gaps being filled quietly.
The main pass, once every ad has a line describing what it shows.
Here is ad copy and creative for [COMPETITOR], saved [DATE], with the run dates I could see: [PASTE]. Group the ads by the promise they make and by the audience they address. For each group give the number of variants, how long they have been running, and the exact hook used. Then tell me: which message are they investing behind, judged by variant count and duration rather than by how good the ad is? And which of their ads address an objection rather than a benefit, since those tell you what their buyers push back on. Do not infer budget. The number of variants is not spend.
First, before the reading, because it decides which questions are answerable.
Here is what I have for each of [COMPETITOR]'s ads: [PASTE]. Before analysing anything, go through the set and tell me, per ad, which of these I have given you and which I have not: - the headline and body text - a description of what the creative shows - the page it points to - the dates it ran, and how many variants exist - anything about who it was shown to Then list the questions I cannot answer from what is here. Be specific: name the question, and name the missing field that would answer it. Only after that, answer what the material does support. Where you are working from text alone, say so in that sentence rather than in a note at the end.
Note the instruction to flag uncertainty inside the sentence rather than in a note at the end. A caveat at the bottom gets dropped the first time somebody copies a paragraph into a deck. A clause inside the sentence travels with it.
What an ad analysis needs beyond the copy
Three inputs, and the second one is a job you have to do by hand. Writing one clause per ad about what it shows takes a few minutes across a whole set and changes what every later answer is made of.
The copy, one row per variant rather than per ad
- Where it comes from
- The public ad libraries, where a vendor's live ads and their run dates are listed. Which library covers what, and how long each keeps an ad, is covered under competitor ad libraries.
- What good looks like
- Headline and body for each variant, with the first-seen date and the number of near-identical versions running alongside it.
A line describing what each ad shows, written by you
- Where it comes from
- Your own eyes, once per ad. Product screenshot, a person, a customer logo, text on a colour, a chart, a short video of somebody using it.
- What good looks like
- One clause per ad. "Product screenshot, no people" and "founder talking to camera" are different campaigns with the same headline.
Where each ad sends people
- Where it comes from
- The destination for each ad group, or at minimum the path. A demo request and a free trial are two different offers behind the same words.
- What good looks like
- One URL per group. Ads pointing at different pages are different campaigns even when the copy matches.
- Then run it
- Creative descriptions go beside each ad rather than in a block at the end, so the reading cannot quietly fall back to the text alone.
- Before the output leaves the building
- Any sentence about what an ad looks like should trace to a line you wrote. Delete the rest, including the ones that sound right.
| The part | What it carries | What happens without it |
|---|---|---|
| The headline and body | The claim, in the fewest words they could make it work in. | Nothing. This is the part everybody supplies. |
| The creative | Who the ad is addressed to, more reliably than the words do. | The visual gets described from nothing, fluently, with no way to check it. |
| The destination | The offer. A trial and a demo request are different campaigns. | Two campaigns with one headline get read as one message. |
| Dates and variant counts | Which claims survived contact with somebody paying for them. | Ten versions of one message are counted as ten messages. |
Monitor competitor ads automatically
The ads you just read are the ones running today. That is not a limitation of the prompt, it is what the libraries hold. An ad stops, and within weeks there is usually no public record that it ever ran.
The cost is specific. What you lose is the history, and the history is where the signal lives. A claim a competitor ran for six months and then dropped tells you something. So does one they have quietly run all year. Neither is visible in a single visit, and neither can be recovered later by anybody who was not saving.
A jump in live variants is also one of the first visible things a competitor does with new money, which makes an ad library worth checking the week after a competitor announces a round rather than a quarter later.
There is also a floor no amount of watching lifts. Nobody outside publishes what an ad cost, who saw it, or whether it worked. Duration is the only performance signal on offer, and it is weak. Treat any confident claim about a competitor’s advertising performance as somebody guessing.
Estimates exist and they are all built the same way: model the traffic, model the cost, and multiply. What a competitor ad spend estimate can and cannot support is worth knowing before anybody quotes a figure from one in a meeting.
Flares keeps a dated record of how competitors describe themselves across their public surfaces. A claim that appears in an ad this month can then be read against when it first showed up elsewhere, which is often a page change nobody announced.
Competitor ads, saved before the library drops them
Flares keeps a dated record of competitor messaging, so an ad that stops running is still in your history.
Discover Flares14-day free trial · 30-second setup
Reading competitor ad creative FAQ
Can ChatGPT analyse a competitor's ads?
Grouping thirty ads by the promise they make is work a model does quickly and well. What it cannot do is see the creative, know who the ad was shown to, or open the page behind it. Supply those as text and the reading holds; leave them out and the output fills the gap without saying so.
What do competitor ads tell you that their website does not?
Which claims they are willing to pay to test, and which ones they keep paying for. A homepage carries the message a committee agreed on. An ad set carries the messages somebody is currently trying, including the ones that will be switched off next week.
How do you tell which competitor message is working?
Duration is the only performance signal a public library gives you, and it is a weak one. An ad still running after three months has survived somebody's decision to keep paying it for. Nothing published tells you whether it converted, so ranking by how long each variant has run is the closest available substitute.
Does the number of ad variants show how much a competitor spends?
Variant count is a testing decision rather than a budget. A team running twenty creatives on a small budget and a team running two on a large one produce the opposite impression of spend. Nothing in a public library reports money, and estimates built from variant counts are guesses.
What does it mean when a competitor's ad answers an objection?
Paying to handle an objection in the first six words means their buyers raise it early and often enough to be worth the space. An ad that leads with no setup fees, or with migration included, is reporting something their sales team hears every week.
How often should you check a competitor's ads?
Monthly, and save what you find, because the libraries drop ads once they stop running. An ad that ran for six weeks last spring is usually unrecoverable a year later, and the set you can see today is only the live one.
Can you compare two competitors' ad sets fairly?
Only on the same platform and over the same window. Each library covers different formats and keeps ads for different lengths of time, so a vendor that advertises mostly on one network will look quiet on another. Say which platform and which dates before comparing anything.
What should an ad analysis change?
Usually your own messaging tests rather than your product. A claim a competitor has run for six months is a claim their buyers respond to, and it belongs in the comparison you keep of how you both describe the same thing. Putting the two side by side is the job of a messaging comparison.
Is reading a competitor's ads acceptable practice?
Public ad libraries exist because regulators required advertisers to publish what they run, and reading them is the intended use. Saving what you find and comparing it over time is ordinary desk research on published material.
Watch a competitor's claims across every surface
Flares tracks how competitors describe themselves in public and dates each change it finds.
Discover Flares14-day free trial · 30-second setup