Ad CreativeMarketing StrategyAnalytics & Data

How to Analyze Competitor Ads on Facebook

First published Oct 8, 2026Updated October 8, 2026
Valentin Radu
Valentin Radu
Founder & CEO, Omniconvert
Published: Oct 8, 2026Updated: Oct 8, 2026
Reviewed by Cristina Stefanova, Head of Content
An overhead flat-lay on a pale zinc workbench of six small anodized aluminium campaign plates in two rows, one visibly worn from long use, with three die-stamped steel tags beside them reading 8 fields per ad, 0 spend visible and 4 passes per month
Quick Answer
Open each competitor's page in the Meta Ad Library, filter to one country, and record the same eight fields for every live ad: format, hook type, angle, offer, proof, first frame, days live, and the Page it ran from. Check for second Pages and regional duplicates before you count anything, because both inflate what looks like a test programme. Then sort by days live. An ad a competitor has kept paying for is one they have decided works, and the angle they keep returning to across a month is the signal. A single ad is noise. None of what the library holds is spend, so stop at what a competitor argues and how durably they argue it, never at what it earned them.
Key Takeaways
  • A public ad library gives you live creative and a start date, and nothing financial.
  • Count a long runner as a decision the competitor keeps making, not as proof of profit.
  • Regional variants, relaunched creative and second Pages inflate every raw ad count.
  • Record the same eight fields per ad or a month of watching produces opinions instead of data.
  • The angle a competitor returns to repeatedly is the signal; one striking ad is noise.
  • Finish every pass with one test brief, or the research is entertainment.

A competitor ad spy pass is the cheapest research a performance marketer can run, and most teams run it badly: they screenshot the ad that catches their eye and brief a version of it. The library rewards something duller, which is watching which argument a competitor keeps coming back to, week after week. Public ad libraries are public, and reading one is ordinary competitive research. Last updated: October 2026.

I have spent 13 years in eCommerce, and Omniconvert has measured how storefronts acquire and convert customers across 7,000+ websites in 15+ industries, against 248+ audit criteria [CROBenchmark Report 2026, Omniconvert]. Nexus by Omniconvert is the AI eCommerce growth engine for Shopify brands: it reads your store, ad and customer data, ranks growth opportunities by profit impact, and builds the campaigns you approve. It also monitors competitor ad libraries continuously and classifies competitor creative by angle, hook and offer, the automated form of the pass below.

This page is the weekly habit. Scoring a whole category against a baseline is a different job, and it is set out in competitive ad benchmarking without spend data.

What a competitor ad spy gives you

A competitor ad spy is defined as a repeatable reading of a rival's public ad library that records what each live ad argues and how long it has survived. It gives you two things only: the arguments a competitor is currently funding, and which of those arguments has lasted. Everything else people claim to get from it is inference.

What a competitor argues in public is more honest than anything they would tell you, because it is the version they are paying to distribute. And a long runner is defined as an ad that has been live long enough for its advertiser to have had the chance to kill it and to have chosen not to. That is a standing decision taken by somebody who can see the numbers you cannot, and it is evidence of competitiveness rather than profit.

Reading the Meta Ad Library properly

The meta ad library shows live creative, the Page behind it, the date an ad started running and the platforms it appears on. For ordinary commercial ads it shows no spend, no impressions and no conversions. It also shows only what is live now, so a competitor's failures have already been removed from view.

Start with the Page, not the search box. A keyword search returns everybody who happens to use the word, and a Page returns one advertiser.

Then filter to one country. A brand running one campaign in six markets looks like six times the output, when only the language varies.

The start date is the second axis and it carries most of the value. Sorted by date, a library separates into standing creative and a cluster of recent variants that are a test in progress. The reasoning behind treating age as a signal sits in creative longevity and days active.

Four traps in a raw count

Regional variants, relaunched creative, second Pages and survivorship all distort a raw read of a competitor library. Each one makes a competitor look more active or more successful than they are. Clear all four before you count, because a count built on them is worse than no count.

Regional variants. The same creative in four languages is one idea, not four tests. Group anything that differs only by language, currency or shipping copy into a single entry before you look at totals.

Relaunched creative. An ad that was paused and restarted carries a new start date and an old idea. The defence is comparing creative across your own weekly passes, not trusting the date.

More than one Page. Larger brands run under sub-brand, regional and sometimes retail Pages. Miss one and you conclude a competitor has gone quiet while their spend moved somewhere you are not looking.

Survivorship. You only ever see what is still running, so the library makes every competitor look disciplined and lucky. The set is filtered and the filter is invisible.

What to record per ad

Eight fields per ad, in one sheet, worded the same way every week: format, hook type, angle, offer, proof, first frame, days live and the Page it ran from. This is the cheap end of ad creative analytics, and it turns a month of watching competitor ads into something you can count.

The three fields people confuse are hook, concept and angle, and conflating them produces a sheet nobody can read a month later. The distinction is set out in hook versus concept versus angle; fix it before you log a single row.

Source: Omniconvert, the eight fields to record for every competitor ad
Field What you write What it is for
Format Static, video, carousel, user-generated style Shows what the competitor can produce at volume
Hook type Question, claim, demonstration, problem, price The opening move, and the fastest-moving field
Angle The underlying argument in one short phrase The field where repeats actually matter
Offer Discount, bundle, trial, guarantee, none Separates a margin play from a message play
Proof Review, number, test result, demo, authority Shows which objection they treat as decisive
First frame What is literally on screen in the first second The only part most viewers ever see
Days live Start date, and days since Separates a standing decision from a live test
Page and market Which Page ran it, and in which country Stops second Pages and regional copies distorting the count

Use a fixed vocabulary in every field: five hook types, not free text. The sheet's value comes from counting rows that say the same thing.

Reading the pattern, not the ad

One ad tells you what a competitor tried. The angle they keep returning to across four weekly passes tells you what their account has already decided. Read repeats and durability together, and ignore the striking one-off, which is the ad most likely to be a test they are about to kill.

Here is the failure mode I see most often, and it looks entirely reasonable while it is happening. Someone on the team spots a competitor ad, drops the screenshot into a channel with a note saying this is working for them, and a brief goes out the following week to build a version of it. Nobody checked the start date. The ad was four days old, it was one of nine variants in a test the competitor killed the week after, and the team has now spent a production cycle rebuilding somebody else's loser. The screenshot felt like evidence because it was concrete and because it arrived with confidence attached.

Repetition is the correction. An angle that shows up in three of your six competitors, or that one competitor has rebuilt four times with different hooks, is a category-level finding; an angle that appears once is a hypothesis somebody else is testing. When a competitor rebuilds the same angle with new hooks, the argument works and the executions are wearing out, which is creative fatigue. How fast that happens in your own account is the subject of how often to refresh ad creative.

The weekly routine, step by step

Six steps, about forty minutes once the sheet exists, and the same day every week. Keep yourself in the set and read your own library by the same rules, because that turns a finding about somebody else into a gap in your own coverage.
  1. Fix the competitor set. Name five to seven brands a customer would genuinely consider instead of you, write the list down, and keep it for a quarter so every pass is comparable.
  2. Open each brand in the Meta Ad Library and filter to one country. Search the brand, open its Page, then filter to a single country and to all ad categories, so you read one market instead of a pile of regional duplicates.
  3. Find the second Pages and the regional copies. Check for sub-brand, regional and store Pages, and group creative that differs only in language or currency into one entry before you count anything.
  4. Record eight fields per ad in one sheet. Log format, hook type, angle, offer, proof, first frame, days live and the Page it ran from, using the same wording every week.
  5. Sort by days live and mark the long runners. Rank the sheet by days live and treat anything that has outlasted a normal test cycle as a standing decision rather than an experiment.
  6. Read the repeats, then write one test brief. After four weekly passes, find the angle that keeps coming back across the set, and turn it into one test brief with a named metric and a stop date.

Step six is the one teams skip, and the only one that changes anything. Test the angle rather than the artwork, and run it as a test: one variable, a metric agreed before it starts, and a stop date. AliveCor used Omniconvert to run a structured A/B testing programme and achieved +21% conversion rate, +5% revenue per visitor, and 94% statistical relevance across their experiments. [Omniconvert, AliveCor case study] That structure is what stops a competitive finding becoming a hunch defended in a meeting six months later.

Where your own proof is thin, the fastest source of a new angle is not a competitor at all but your own customers, which is the method in ad creative from customer reviews.

What competitor ad intelligence cannot tell you

Spend, impressions, conversions, return and margin are not in a public library and cannot be recovered from it. Neither is anything about the customers an ad brought: their value, their repeat rate or their cost to serve. Durability is evidence of a decision, never of profit.

You cannot infer spend from ad count: a large library can mean heavy investment or an agency producing volume on a small budget, and from outside the two look identical. When somebody wants a number anyway, the defensible method is the structural benchmark in benchmarking without spend data, not a guess dressed as an estimate.

FAQ: analyzing competitor Facebook ads

What is a competitor ad spy?

A competitor ad spy is a repeatable reading of a rival's public ad library that records what each live ad argues and how long it has survived. It is a research routine rather than a product category, and the useful version is boring: the same fields, the same set, the same day every week, so repeats become visible and single ads stop being persuasive.

How do I tell a long runner from a new test?

Use the start date, then sanity-check it. A long runner has outlasted several test cycles in your category and usually appears in more than one placement. A new test is recent, sits in a cluster of near-identical variants, and often disappears within days. A relaunched creative looks new by date and old by content, so compare the creative itself across passes.

How many competitors should I track?

Five to seven is enough for most categories. Fewer than five and one brand's unusual quarter distorts everything you conclude. More than seven and the pass stops happening, because the routine only works if it is cheap enough to repeat weekly. Pick brands a customer would consider instead of you, not the brands you admire.

Can I estimate a competitor's spend from their ad library?

No, and the attempt is where most competitive analysis goes wrong. A large library can mean heavy investment or an agency producing volume on a small budget, and the two look identical from outside. Ad count, ad age and placement breadth are structural signals; spend, return and margin are financial, and no reading recovers them.

Does Nexus by Omniconvert watch competitor ad libraries for me?

Yes. Nexus monitors competitor ad libraries continuously and classifies competitor creative by angle, hook and offer, which is the automated form of the weekly pass described here. It does not tag creative at element level and it does not produce concept-level analytics dashboards, so the judgement about which pattern is worth testing stays with you, and you approve what goes live.

Patterns, not screenshots

The library gives you two things: what your competitors are arguing, and which of those arguments they have kept paying for. So fix a set of five to seven brands a customer would swap you for, read one market at a time, clear the regional copies and the second Pages, and log the same eight fields every week. Then read the repeats rather than the best-looking ad: the angle a competitor returns to is a decision, and the striking one-off is usually a test they are about to kill.