Facebook Ads Competitor Analysis Template (Copy-Ready)

A good Facebook ads competitor analysis template is a spreadsheet with one row per competitor ad and 12 columns: advertiser, ad link or library ID, start date, days running, format, hook, angle, offer, CTA, landing page, platforms and notes. You fill it from the free Meta Ad Library, then condense it into a one-page summary of the angles, offers and gaps that should change what you run next.
Below is the template ready to copy, a filled example, the one-hour routine I use to fill it, and how I turn it into actual decisions.
What is a Facebook ads competitor analysis template for?
It answers one question: what are my competitors paying to say, and what should I run next because of it?
That is different from a swipe file, which collects ads you like from anyone for inspiration. Our ad swipe file template covers that job. A competitor analysis covers only the brands you sell against, and every row feeds a comparison.
For the broader method, including which brands to track, see our competitor ad analysis guide. This post is the working sheet.
What columns should the competitor ad analysis template have?
Twelve. Fewer and you lose the comparison. More and nobody fills it in after week two.
| Column | What to enter | Why it matters |
|---|---|---|
| Advertiser | The Page name as shown in the Ad Library | Lets you filter by brand |
| Ad link / library ID | The ad's Library ID or its link | Lets anyone reopen the exact ad |
| Start date | The "Started running on" date from the card | The anchor for longevity |
| Days running | Today minus start date (a formula) | Your best public performance signal |
| Format | Static, video or carousel | Shows what format they keep funding |
| Hook | The first line or first visual beat, written out | What earns the stop |
| Angle | The core argument: pain, proof, offer, founder, comparison, UGC | What you will count in the summary |
| Offer | Discount, bundle, free shipping, trial, or "none" | Shows their pricing pressure |
| CTA | The button text: Shop Now, Learn More, and so on | Hints at funnel stage |
| Landing page | The page the ad sends people to | Product page, collection, quiz, advertorial |
| Platforms | Facebook, Instagram, Messenger, Audience Network | Where they place it |
| Notes | Anything odd: repeated creative, new product, seasonal push | Context you will forget otherwise |
For days running, put this in a spreadsheet cell, assuming the start date is in column C: =TODAY()-C2. Format the column as a number, not a date.
What does a filled-in template look like?
These rows are made-up examples to show the level of detail. The brands, IDs and ads are invented, not real advertisers.
| Advertiser | Ad link / library ID | Start date | Days running | Format | Hook | Angle | Offer | CTA | Landing page | Platforms | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Example Brand A (made up) | 000000000000001 (example) | 2026-07-02 | 103 | Video | "I stopped buying cheap sheets after this" | Pain | 15% off first order | Shop Now | Product page | FB, IG | Same hook in 3 cuts |
| Example Brand A (made up) | 000000000000002 (example) | 2026-09-28 | 15 | Carousel | "Which one is yours?" | Product range | None | Shop Now | Collection page | IG | New colours, likely a test |
| Example Brand B (made up) | 000000000000003 (example) | 2026-06-15 | 120 | Static | "Rated 4.8 by 2,000 sleepers" | Proof | Free shipping | Learn More | Advertorial | FB, IG | Oldest live ad they have |
Three rows already say something: Brand B's oldest ad is a proof-led static to an advertorial, and Brand A keeps reshooting a pain hook.
How do you fill the template from the Meta Ad Library in about an hour?
The Meta Ad Library at facebook.com/ads/library is free, shows every active ad from any advertiser, and is the only source this sheet needs. Our pillar on how to see your competitors' Facebook ads covers searching it in depth.
- Search the brand by Page, not keyword. Pick the exact Page from the dropdown, set your country and filter to active ads.
- Start with the oldest ads. The earliest "Started running on" dates are the ads they kept funding, so log those first.
- Log 10 to 20 rows. Log distinct concepts, not every variation. Note "4 versions" in Notes instead.
- Open the landing pages. A discount ad to a full-price product page says something different from a quiz funnel.
- Write three lines at the bottom of their tab. Top angle, main offer, and one thing they are not doing.
Typing it all is the slow part. To start from a file instead, our free extension, the Meta Ad Library Downloader, adds a Download button to every ad and has a "Find all ads" mode that saves a whole search as one ZIP with a CSV of every ad. You still write the hook, angle and offer yourself, but the raw rows are there. Our guide to exporting Facebook ads to CSV shows what that file contains.
What goes on the one-page summary?
The spreadsheet is the evidence; the summary is the deliverable. Keep it to one page.
Top angles. Count rows by angle across all competitors, weighted toward ads running 30 days or more. Write the top three, with one example ad ID each.
Offers. List every offer you saw and how many brands use it. If four out of five competitors run a first-order discount, that is the category's price of entry, whether you like it or not.
Formats and landing pages. Which format holds the longest runners, and where those runners send traffic. Both hint at what converts in your market.
Gaps. The gap list is the most valuable part of the page. Angles nobody uses, objections nobody answers, audiences nobody speaks to. A gap is not automatically an opportunity, but it is where you test first.
How often should you refresh a competitor analysis?
Monthly works for most ecommerce brands. Weekly is worth it during launches, big sale periods, or if a competitor is clearly testing hard.
A refresh only touches three things:
- New ads since the last pass. Add rows.
- Ads that stopped. Mark them ended and keep the row. An ad that died after a week is a failed test, and that is useful too.
- Days running updates itself if you used the formula.
How do you turn the analysis into decisions?
Most analyses die here: filled, shared once, never used in a brief. I end every pass with a short list of three to five tests, each tied to rows in the sheet:
- One angle to borrow. Take the top-performing angle and write it in your own voice, with your own product and proof.
- One offer check. Decide whether you match the category's standard offer, beat it, or deliberately avoid it.
- One gap test. Pick the most plausible gap and brief a creative around it.
- One thing to stop. If you run an angle every competitor abandoned after a few weeks, question it.
If the analysis is for a client, the same structure becomes slides. Our guide on how to present a competitor ad audit to a client shows how to lay it out so the next steps get approved.
Study competitors for ideas, but copy the angle, not the asset. Reusing someone else's creative commercially is a different matter, and this is general guidance, not legal advice.
Which Facebook ads competitor analysis tools help, and what do they cost?
The free Ad Library and a spreadsheet cover all of this. Paid tools mostly add history and faster search.
| Tool | Price | What it adds to this template |
|---|---|---|
| Meta Ad Library | Free | Every active ad, start dates, the source for every row |
| BigSpy | From $9, free tier | Broad, low-cost ad search |
| Dropispy | Free + $29.90 | Ecommerce-leaning filters |
| Minea | From $49 | Product and ad discovery for ecommerce |
| Foreplay | From $59 ($49 billed annually) | Saving ads into boards and sharing with a team |
| PowerAdSpy | From $69 | Keyword-based search across networks |
| Atria | $129 | All-in-one creative research workflow |
| AdSpy | $149/mo, no trial | Large searchable archive with history |
None show real spend for normal commercial ads, because Meta doesn't publish it. Keep longevity as your main signal.
FAQ
What should a Facebook ads competitor analysis template include?
At minimum: advertiser, ad link or library ID, start date, days running, format, hook, angle, offer, CTA, landing page, platforms and notes. Add a one-page summary of top angles, offers and gaps on top. The summary is what people actually read.
How often should I update a competitor ad analysis?
Monthly suits most brands, and weekly makes sense around launches or big sale periods. A refresh only needs new ads, ads that stopped, and the days running formula, so it is much faster than the first pass.
How many competitors should I track?
Three to five direct competitors is enough for most brands. More than that and the sheet stops getting updated. Pick brands that sell to the same customer at a similar price, not just the biggest names in the category.
What is the difference between a competitor analysis and a swipe file?
A swipe file collects ads you find inspiring, from any brand, for creative ideas. A competitor analysis tracks only the brands you sell against, in a fixed structure, so you can compare angles, offers and longevity. Many teams keep both.
Can I see competitor ad spend in my analysis?
Not real spend. Meta publishes spend ranges only for political and social-issue ads, so any spend number for a normal ecommerce ad is a tool's estimate. How long an ad has been running is the most practical stand-in.
The Klipio extension adds a download button to every ad in the Meta Ad Library: one click per ad, or bulk-save a whole search as a ZIP with a searchable swipe file inside. Free, no sign-up.
Get the free Ad Library downloaderKlipio reads a competitor's live Meta ads, ranks them by how long they have been running — the honest signal that an ad is profitable — and turns the winning angle into on-brand creative for your own brand. 3-day free trial.
Start free — 3-day trial →

