Competitor Research

Competitor ad audit template for agencies: a copy-paste table

Tanmay Jain··8 min read

TLDR

  • A competitor ad audit template is one table: a row per rival ad, columns for hook, angle, offer, format, age and a confidence tag. Copy the one below.
  • The public ad libraries show what a rival runs and for how long. They don't show spend or results for ordinary commercial ads, so the audit reads strategy, not performance.
  • Meta, Google, LinkedIn and TikTok (EU) expose different fields, and the library table below maps them with sources.
  • Run it by hand in an hour, or paste the short prompt below into ChatGPT or Claude with Proxy connected.

Most "ad audit" templates audit your own account: budgets, structure, tracking. A competitor ad audit template does a different job. Different job, different evidence. It reads the public ads of a prospect's or client's rivals, so you walk into the pitch, sales meeting or client review with a view of the market instead of a guess. Proxy publishes this blog, so weigh that; the template works with or without us.

What is a competitor ad audit and what can it tell you?

A competitor ad audit is a structured read of the ads a rival is running right now, sorted by hook, angle, offer, format and how long each ad has been live. It tells you what they argue. It can't tell you what that argument earned them.

That distinction is the whole discipline. You can classify hooks, concepts, angles, formats and days active from a public library, but spend, impressions, conversions and ROAS stay invisible, according to Omniconvert's guide to benchmarking ads without spend data. (Omniconvert sells this kind of analysis, so treat it as a vendor view; the limit itself is how the libraries work.)

So the audit gives you three honest outputs: what the market is saying, where everyone sounds the same, and where there's a gap. For agencies that's enough to open a pitch. In the 60 days to 2026-10-25, at least 21 of 167 Proxy users (12.6%) stated a prospecting or pitch goal to their assistant (our count: agent-stated goals in PostHog, keyword matched, test accounts excluded). Pitch prep is a real use, and exactly what this template is for.

What does each ad library actually show?

Each library shows the ad itself and who ran it, but the extra fields differ by platform, and none publishes spend or results for ordinary commercial ads. Know this before you promise a client anything.

LibraryWhat you can seeExtra fieldsKept forNot listed
Meta Ad Library (Facebook, Instagram)All active ads, according to Meta's Ad Library tools pageSpend, reach and funding entities for social issue, election and political ads; more information for ads delivered in the EU7 years for social issue, election and political ads; one year after the last impression for EU adsSpend and results for ordinary commercial ads
Google Ads Transparency CenterAds served by verified advertisers, the region shown, the last date an ad ran and its format, according to Google's launch postRegionNot stated on that pageSpend, targeting and results
LinkedIn Ad LibraryAd preview, format, advertiser and payer, according to LinkedIn's help pageImpressions, targeting and run dates for ads targeted to the EUOne year after the last impressionSpend and results; restricted ads hide preview and advertiser
TikTok (EU)Ads delivered in the EU, held in the ad repository the Digital Services Act requiresArticle 39 requires the repository to keep targeting parameters and total reachAt least one year after the ad was last shown, per Article 39Spend, and any ad that never ran in the EU

Two things follow. First, EU-delivered ads are the richest; according to Article 39 of the Digital Services Act, the repository must keep the ad, advertiser, payer, display period, targeting parameters and reach, and hold each ad until one year after it was last shown. Second, a US-only advertiser on TikTok simply won't appear. Say that in the audit instead of reporting "no TikTok ads."

What goes in a competitor ad audit template?

A competitor ad audit template needs one row per ad and eleven columns, the last of which is a confidence tag. Copy the table below into Google Sheets, Notion or a doc and fill one row per ad.

CompetitorPlatformAd link or IDFormatHook (first line or first 3 seconds)AngleOffer and CTAFirst seenDays runningVariationsConfidence
[brand]Meta / Google / LinkedIn / TikTok[link]Image / Video / Carousel / Text[exact words][pain, proof, price, status, speed][what they ask for][date][days][count of near-copies]Seen / Inferred / Unknown

Fill the columns like this:

  • Hook: quote the first line or the first spoken line, don't paraphrase. For video, transcribe it.
  • Angle: pick one word from pain, proof, price, status or speed. If an ad does three, log the dominant one.
  • First seen and days running: Meta ads come back with a start date (the Notion pull below returned ads that started as early as 2026-05-21). Google gives you the last date an ad ran, so log "still running on [date]" instead of guessing a start.
  • Variations: the number of near-identical versions. Many variants of one concept usually means a team is testing it; a single ad that's been live for months is a different signal.
  • Confidence: mark Seen for anything on the screen, Inferred for any conclusion (for example "this angle is working") and Unknown for what the library hides. This column keeps you honest in front of a client.

Here is the table filled in with real ads, pulled with Proxy on 2026-10-25. The angle is our read, so it is Inferred; everything else is on the screen in the library. First seen is the earliest start date in each group of near-identical ads, and Variations counts the ads in the pull that share the same headline.

CompetitorPlatformAd link or IDFormatHookAngleOffer and CTAFirst seenDays runningVariationsConfidence
NotionMeta2075387186736547Image, carousel and video"Solve Work with Notion. The AI-enabled workspace designed for collaboration and productivity."SpeedSign up2026-05-2115784Seen, angle Inferred
NotionMeta1759958561984224Image"Transform productivity with AI-driven collaboration. Get 3 Free Months of Notion Business + Complete AI Access"PriceSign up, 3 free months2026-07-318611Seen, angle Inferred
AirtableMeta25022783834086183Image and carousel"Introducing Claude connector for Airtable"SpeedSign up2026-05-0217612Seen, angle Inferred
AirtableMeta1328143299151015Image and carousel"Best practices for product teams"ProofDownload (ebook)2026-03-262137Seen, angle Inferred

Days running is the nearest thing to a performance signal you get. It is still an inference, and it belongs in the Inferred bucket.

How do you run the audit step by step?

You run it in seven steps: pick the rivals, pull their ads per platform, log them, classify, read age and variations, find the gap, and write one page. Budget about an hour for three competitors.

  1. Pick three to five competitors. Start with the ones the prospect names, then add the ones they don't, and ask your assistant to find similar advertisers from a domain or a market description.
  2. Pull the active ads per platform. Search the brand in each library you care about. Check the advertiser name first. Names collide. When we pulled Notion's ads with Proxy, the top-ranked, verified Meta page was an unrelated London creative magazine with 2 active ads, and the real account was the second candidate, with about 200 active ads (an estimate). On Google, looking up notion.com resolved to Notion Labs, Inc., and all 25 ads returned (11 text, 10 video, 4 image) were still being shown on 2026-10-24. Note the page you used in the audit.
  3. Log every ad in the table. Ten to twenty per competitor is plenty. More than that is a swipe file, not an audit (and an audit nobody finishes helps nobody).
  4. Classify hook, angle and offer. For video ads, get the transcript first. The first spoken line is usually the hook. A deeper read adds script structure, visuals, pacing and landing page congruency, according to Runneth's write-up of Mirella Crespi's creative method.
  5. Read age and variations. Sort by days running. The ads that survive longest and have many variants are the concepts the competitor keeps funding. Mark that Inferred.
  6. Find the gap. Look for an angle nobody uses, a platform nobody covers (check LinkedIn first; it's often the blank), or an offer everyone copies. One gap is enough.
  7. Write the one page. Keep it to a page. The structure is in the last section.

If you need a refresher on reaching each library by hand, see how to spy on competitors' ads, the guides to Google's Transparency Center, TikTok's ad library and Instagram's ad library.

Can you run the competitor ad audit in ChatGPT or Claude?

Yes. With Proxy connected, your assistant pulls live ads from Meta, Google, LinkedIn and TikTok (EU) and fills the table for you, so the hour becomes a few minutes of checking. You still read the result. The assistant just does the collecting.

Paste this prompt:

I'm auditing the competitors of [prospect or client] ahead of [a pitch / a client review]. Find five competitors from [domain or market description]. For each one, pull active ads from Meta, Google and LinkedIn, and from TikTok where they have EU ads (use the exact advertiser name). Build a table with columns: Competitor, Platform, Ad link or ID, Format, Hook, Angle, Offer and CTA, First seen, Days running, Variations, Confidence. Mark each claim Seen, Inferred or Unknown. Transcribe the three longest-running video ads. Do not estimate spend or results. Finish with the biggest gap and one recommended angle.

Credits are the budget to watch. Each ad-library call costs 1 credit, batch calls cost 1 per item, and a TikTok advertiser search can cost up to 5. The free tier gives 20 credits a day with no card; Pro is $50 a month for 100 a day, and Max is $100 for 250. Plan on about two calls per brand per platform (a lookup, then a pull), plus one call to find competitors and one per video transcript. Five rivals on three platforms comes to about 30 credits, so a free day covers roughly three rivals on two platforms; use two days, or Pro, for the bigger audit. Setup for ChatGPT, Claude and every other client is on the install page, and our guide to seeing competitor ads in ChatGPT and Claude walks through it. Weighing options? The best ad library MCP servers comparison covers the field.

How do you turn the audit into a pitch or a client report?

Turn it into one page with five parts: the market in one sentence, what each rival is betting on, what everyone is missing, one recommended angle, and what you couldn't see. That last part is what makes the page credible.

  • Market in one sentence: "Four of five rivals lead with price; none lead with proof."
  • Bets by competitor: one line each, from the Angle and Offer columns.
  • The gap: the angle, platform or offer nobody covers.
  • Recommended angle: one test to run, framed as a hypothesis.
  • What we couldn't see: spend, results and anything outside the EU on TikTok.

To benchmark a client's ads against competitors, fill the same table for the client's own ads and compare row for row on format mix, angle mix and variation count. Compare the argument, not the outcome. A report with CTR and ROAS columns needs the client's own account data; this one doesn't, and that's the point.

Competitor ads change week to week, so the audit has a shelf life. Re-run the same ask monthly before a review, or see how to monitor competitor ads and promotions for a weekly rhythm.

Frequently asked questions

No. For ordinary commercial ads none of the four libraries lists spend or results; Meta's spend figures cover social issue, election and political ads. Log spend as Unknown and use days running and variation count as inferred signals instead.

Three to five. Fewer than three gives you no pattern. More than five turns into a swipe file nobody reads. Pick the rivals the prospect names plus one or two they don't.

About an hour by hand for three competitors, mostly spent on logging and classifying. With an assistant pulling the ads, collecting takes minutes and your time goes on checking the table and writing the one-page output.

Yes, with limits. LinkedIn's library shows previews, advertiser and payer, with impressions and targeting for EU-targeted ads. TikTok coverage is EU-delivered ads, found by exact advertiser name, so a US-only advertiser may show nothing. Record that as Unknown, not as "no ads."

Try it on your brand

Live Meta, Google, LinkedIn, and TikTok ads in your AI chat. Free, no card.

Try Proxy free

More in Competitor Research