The strongest pattern in our 40-ad sample was disciplined repetition: eight brands used only 23 unique primary messages, while 27 ads carried Meta's DCO or DPA format labels. We pulled five active US ads from each brand in the Meta Ad Library on July 20, 2026 to see what experienced advertisers keep running. The result is a practical set of patterns to test, with one important limitation: the library shows creative and runtime, not ROAS.
What we found across 40 competitor ads
Here is the short version:
- 37 of 40 ads used Shop Now. Only three used Learn More.
- 27 of 40 carried DCO or DPA display-format labels. Reusable creative systems were more common than isolated one-off ads.
- 23 of 40 used numeric proof. Prices, percentages, review counts, product quantities, and other specific numbers appeared frequently.
- 22 of 40 spoke directly to the reader using “you” or “your.”
- Only 12 of 40 made an explicit offer. Most ads did not need a discount, free item, or trial in the primary copy.
- 18 of 40 had been active for at least 60 days. That makes them worth investigating, but it does not prove they were profitable.
The most useful lesson is not that every advertiser should copy the same hook. It is that strong accounts appear to build a clear message, express it through several creative variants, and give the audience a specific reason to care.
How we built the sample
We used Markifact's real meta_ads_library operation to collect the dataset. The sample covered five ads from each of these eight brands:
- AG1
- Huel
- HexClad
- The Ridge
- True Classic
- Gymshark
- Brooklinen
- Magic Spoon
We filtered for ordinary commercial ads that were active in the United States on July 20, 2026. We searched each advertiser through its exact Facebook Page ID and kept the first five results returned for that Page. Duplicate or closely related variants stayed in the sample because repetition was part of what we wanted to measure.
This is a structured snapshot, not a probability sample of every advertiser on Meta. The brands span supplements, food, cookware, accessories, clothing, fitness, and bedding, but they are all established direct-response advertisers. Their habits are useful inputs for a test plan, not universal laws.
Meta describes the Ad Library as a place to search ads running across its products. For ordinary commercial ads, it shows active ads. The extra spend and reach disclosures people sometimes associate with the library mainly apply to issue, election, and political advertising.
You may still call it the Facebook Ads Library. Many marketers do, and people still search that phrase. Meta Ad Library is the current name, and it covers ads running across Facebook, Instagram, and other Meta products.
What “wins” means in this analysis
Meta does not publish ordinary commercial ROAS, CPA, CTR, conversion volume, or profit inside the Ad Library. That means nobody looking at competitor ads can honestly identify a financial winner from the library alone.
For this analysis, “wins” means a pattern that appeared repeatedly across active ads or remained active long enough to deserve closer study. Runtime is a useful hypothesis signal because it tells you an advertiser kept an ad available. It does not tell you how much the advertiser spent, whether delivery was continuous, or whether the ad beat another variant.
Use these findings to decide what to test in your own account. Use your own conversion data to decide what actually won.
Finding 1: brands repeat messages across creative variants
The 40 ads contained only 23 unique primary-copy messages. Seventeen ads reused a message found elsewhere in the sample.
That repetition was not evenly distributed:
| Brand | Unique primary messages across five ads | Format mix |
|---|---|---|
| AG1 | 4 | 4 DCO, 1 video |
| Huel | 3 | 3 DCO, 2 video |
| HexClad | 4 | 2 DPA, 2 image, 1 DCO |
| The Ridge | 3 | 3 DPA, 2 video |
| True Classic | 1 | 4 DCO, 1 carousel |
| Gymshark | 2 | 5 DCO |
| Brooklinen | 5 | 3 DPA, 2 DCO |
| Magic Spoon | 1 | 4 image, 1 video |
True Classic used one primary message across all five sampled ads. Magic Spoon did the same while changing the image and video treatment. Gymshark used two messages across five DCO entries.
The practical takeaway is simple: do not force every new visual to carry a new strategy. Hold the proposition steady long enough to test different executions around it.
A useful creative testing structure is:
- Pick one product promise.
- Write two or three evidence-backed ways to express it.
- Build several visual executions around each message.
- Change one meaningful variable at a time.
- Let account performance, not novelty, choose the next iteration.
If every ad changes the hook, offer, audience, format, landing page, and CTA at once, the result may be interesting but difficult to learn from.
Finding 2: proof was more common than cleverness
Twenty-three ads included a number, percentage, price, star marker, review count, product quantity, or another numeric proof point.
The strongest examples did not use numbers as decoration. They used them to compress the product case:
- Magic Spoon led with protein, fiber, and sugar quantities.
- Huel used protein per serving and a price point.
- HexClad used discount percentages, customer counts, and review volume.
- The Ridge used capacity and product-count claims.
- Brooklinen used years in market as an authority cue.
Numbers make a claim easier to scan and easier to challenge. That second part matters. If a number is weak, irrelevant, or unsupported, specificity exposes the problem quickly. Use proof you can defend.
Twenty-two ads also used “you” or “your,” while 14 used bullets, checkmarks, or emoji markers. The copy was often written for scanning rather than literary effect.
Before writing another vague “designed for your lifestyle” ad, look for a stronger input:
- quantity
- time saved
- price or cost per use
- review volume
- guarantee period
- product capacity
- material or ingredient difference
- measurable outcome you can substantiate
The message should get more concrete before the writing gets more creative.
Finding 3: direct shopping CTAs dominated
Thirty-seven ads used Shop Now. Three used Learn More.
That does not mean Shop Now will outperform every softer CTA. It does show that these ecommerce advertisers were usually comfortable asking for the transaction directly.
The CTA worked because the rest of the ad did the qualifying. The product, benefit, evidence, and offer appeared before the button. The button did not need to rescue an unclear proposition.
Use Learn More when the customer truly needs education before shopping, such as a new category, complex claim, or high-consideration product. Do not use it merely because Shop Now feels too aggressive.
Finding 4: most ads did not lead with a discount
Only 12 ads made an explicit offer through a discount, free item, bundle, price, savings statement, or trial. Twenty-eight did not.
This is one of the healthier findings in the sample. Competitor research often overweights promotion because discounts are easy to notice. The actual ads also sold through:
- product proof
- authority and social proof
- specific features
- convenience
- identity
- sensory language
- a clear use case
Offers still matter. HexClad used savings and review proof together. AG1 paired free extras with a clinically framed product case. The important point is that the offer supported the proposition. It was not always the proposition.
When reviewing the Facebook Ads Library, classify the offer separately from the hook. Otherwise every percentage badge starts to look like the strategy.
Finding 5: concise copy was common, not universal
The median primary-copy length was 24.5 words.
- 17 ads used 20 words or fewer.
- 16 used 21 to 60 words.
- 7 used more than 60 words.
Short copy worked well when the product and proof were easy to understand. Longer copy appeared when the brand needed to explain nutrition, ingredients, a use case, or several bundled benefits.
The lesson is not “write short.” It is “earn every extra sentence.”
A practical editing test is to separate the copy into four jobs:
- Hook the relevant problem or desire.
- State the product promise.
- Prove the promise.
- Give the next step.
If a sentence does none of those jobs, remove it. If the proof needs 80 words, keep the proof.
Finding 6: runtime is useful when treated carefully
The active-age distribution was:
| Active age on July 20, 2026 | Ads |
|---|---|
| At least 30 days | 26 |
| At least 60 days | 18 |
| At least 90 days | 11 |
| At least 120 days | 8 |
The median was 47 days, with a range from 6 to 171 days.
An older active ad is useful because it gives you a reason to inspect the message closely. It may have received meaningful spend, or it may simply remain available inside a broad portfolio. The Ad Library does not tell you which explanation is correct.
Use runtime as a prioritization method:
- New ads: reveal what the advertiser is testing now.
- Long-running ads: reveal messages and executions the advertiser has kept available.
- Repeated long-running messages: deserve the closest inspection.
- Recently launched clusters: can reveal a campaign, product launch, or seasonal push.
Do not label an ad a winner based on age alone. Put its hook into your test backlog, then validate it with your own Meta Ads results.
How to analyze competitor ads with Claude or ChatGPT
You can run the same research without opening dozens of Ad Library cards. The Meta Ads Library MCP connects the public library to Claude, ChatGPT, and other MCP clients through Markifact.
The real read operation is meta_ads_library. It can accept a Meta Ads Library URL or manual inputs such as:
- advertiser Page ID
- keyword or phrase
- country
- active status
- media type
- platform
- date range
- similar-ad grouping
- result limit
Those are examples of the inputs available, not an exhaustive list of everything Markifact can do with Meta data.
Start with an exact Page ID when you want a clean advertiser sample. Use a keyword when you want to compare a category, problem, or offer across brands.
Copy this prompt:
Use Markifact's meta_ads_library operation to analyze competitor ads.
Search active commercial ads in the United States for these advertiser
Page IDs: [PASTE PAGE IDS]. Return up to five ads per advertiser and keep
closely related variants in the sample.
For each ad, capture:
- advertiser and ad archive ID
- start date and active age
- platform and library display format
- primary copy and headline
- CTA
- hook, product promise, proof, offer, and audience cue
Then calculate:
1. Unique primary messages versus repeated variants
2. Format and CTA counts
3. Numeric proof, social proof, and explicit-offer counts
4. Median copy length
5. Ads active at least 30, 60, 90, and 120 days
Separate observed facts from interpretations. Do not invent spend,
reach, CTR, CPA, ROAS, conversions, or revenue. Treat runtime as a
hypothesis signal, not proof of performance. Do not make any changes.
The operation is read-only, so the research itself does not change an account. If you later ask Markifact to create a brief, update an ad, or perform another write, review the proposed operation and values before approving it.
If Meta Ads is not yet connected, the Meta Ads and Claude setup guide covers the connection. The same Markifact connection can support account reporting and management after the competitor-research step.
Turn competitor research into a useful test backlog
A competitor swipe file becomes valuable only when it changes what you test.
For every pattern, write down:
| Observed pattern | Testable hypothesis | Your test |
|---|---|---|
| Same message across several formats | The proposition is strong enough to survive different executions | Hold the message constant and test three visual treatments |
| Numeric proof in the opening line | Specific evidence may improve comprehension | Test a substantiated number against the current generic benefit |
| Shop Now used after a clear product case | Direct intent may fit qualified traffic | Test Shop Now against Learn More with the same creative and landing page |
| No discount in most sampled ads | Product proof may carry the sale without margin loss | Test proof-led copy before adding a promotion |
| Long-running repeated message | The angle may be important to the advertiser | Build a differentiated version and validate it in your account |
Do not copy a competitor's creative, brand voice, or unsupported claim. Translate the pattern into a hypothesis that fits your product.
A good test is not “make our ad look like HexClad.” It is “test quantified social proof against our current feature-led opening.” That creates learning you can use again.
The checklist I would use next week
When you repeat this analysis:
- Use the exact advertiser Page IDs.
- Keep the country and active-status filters consistent.
- Save the research date.
- Retain variants instead of deduplicating everything automatically.
- Separate hook, promise, proof, offer, CTA, and format.
- Count repeated messages.
- Sort by active age, but never call age performance.
- Turn each finding into one controlled test.
- Judge the test with your own account data.
Competitor research should reduce guesswork, not replace measurement.
Frequently asked questions
Is Meta Ad Library the same as Facebook Ads Library?
Yes. Facebook Ads Library is the older and still widely searched name. Meta Ad Library is the current name and includes active ads running across Facebook, Instagram, and other Meta products.
Can I see my competitors' active Facebook and Instagram ads?
Yes. Meta says people can view ads a Page is currently running even when they are not part of the intended audience. Country selection can affect which active ads appear.
Does Meta Ad Library show which competitor ads are winning?
No. For ordinary commercial ads, the library does not provide the ROAS, CPA, CTR, conversions, or profit needed to prove a winner. Runtime, repetition, and creative patterns can help prioritize hypotheses, but your own account data must validate them.
Can Claude or ChatGPT analyze Meta Ad Library ads?
Yes. Markifact exposes the read-only meta_ads_library operation to compatible AI clients. It can search by advertiser, keyword, country, active status, platform, and other inputs, then let the assistant summarize hooks, offers, formats, and runtime.
Is Meta Ads Library research read-only?
Yes. Searching and analyzing the public library does not change an advertising account. Any later write operation through Markifact is separate and waits for approval.
How many competitor ads should I analyze?
Start with five to ten ads per advertiser across several advertisers. Keep the sample balanced, date-stamp it, retain meaningful variants, and repeat the same method over time. A smaller consistent sample is usually more useful than an uncontrolled export dominated by one brand.




