Competitor LinkedIn ad watchlist with a permanent archive
Browse every ad your competitors are running on LinkedIn, keep a permanent archive of the ones that stopped, and see what changed since your last visit.
Build me a competitive creative desk for LinkedIn ads that I open every morning. The home view is a card grid of the ads my competitors are currently running. I keep a watchlist of competitor companies inside the app and can add or remove companies at any time. For each company on the watchlist, pull its currently running ads with the LinkedIn Ad Library Search Ad Library operation and render one card per ad showing the creative, the ad headline and body copy, the paid-for-by advertiser name, the impression range, the country breakdown, and the targeting metadata. The public Ad Library website does not surface most of that detail, so put the impressions, countries, and targeting directly on the card instead of hiding them behind a click.
Every time the app loads, write a snapshot of everything it saw into a General Input Database: one row per ad per sighting, with the ad identifier, the company, all of the metadata above, and a timestamp. This is the whole point of the app. LinkedIn removes an ad from the library the moment its campaign stops, so the library is a live snapshot and not an archive, and my database becomes the archive instead. Keep a first seen and last seen timestamp per ad so I can tell how long something has been running, and store the full creative text and metadata so an ad I captured stays readable long after LinkedIn drops it.
At the top of the home view, show a changed since your last visit strip. Compare the current sighting against the previous snapshot for the same watchlist and list two groups: newly launched ads, meaning the first time the app has ever seen them, and ads that have gone dark, meaning they were in the previous snapshot and are missing now. Store the last visit timestamp per user so the strip reflects what changed since I personally last opened the app, not since the last load by anyone on the team. Clicking an entry in the strip filters the grid down to that ad. Default the grid to ads first seen in the last 14 days, with easy controls to widen to 30 days, 90 days, or everything including ads that have stopped running.
Add a second view called Them versus Us that puts my own live creatives next to theirs. Use LinkedIn Ads to pull my ad account with Search Ad Accounts, my active campaigns with Search Campaigns, and my running creatives with Search Creatives, then pull impressions, clicks, click-through rate, and spend for each of my creatives with Get Ad Analytics. Lay my creatives out against the watchlist ads so I can compare the promise being made side by side. The question I am answering in this view is whether I am making the same claim as everyone else in my category and whether my version is working, so show my click-through rate and impressions on my own cards even though LinkedIn only gives impression ranges on theirs.
Every competitor ad card has a Tear this down button that kicks off a background agent. The agent reads the creative, headline, body copy, and targeting, looks up the earlier ads from the same company already stored in the database, and writes back a structured teardown: the hook, the proof or credibility claim, the call to action, and a note on what shifted in their positioning compared to their previous ads. Save the teardown into the database against that ad and render it on the card once it exists, so the whole team sees it later without re-running anything. Show a pending state on the card while the agent is working, and let me re-run a teardown when I want a fresh take.
Let me tag ads into named boards, for example pricing angles, good hooks, or a specific competitor's rebrand. Boards live in the database, an ad can sit on more than one board, and I can filter the grid to a single board. Boards must include archived ads that are no longer running, since those are often the most useful reference.
Use the General Input Database for the watchlist, the sighting snapshots, the boards and tags, the teardowns, and the per-user last visit timestamp. Handle a competitor with nothing currently running by showing their archived ads with a clear label rather than an empty state. Keep the grid fast to scan: creative first, headline second, metadata compact underneath.
What does this prompt do?
- Keeps a watchlist of competitor companies and shows every ad they are currently running on LinkedIn in one card grid, with the creative, the headline, who paid for it, the impression range, the countries it ran in, and who it was aimed at.
- Saves a snapshot every time you open it, so ads that vanish from LinkedIn the moment a campaign stops stay in your own archive.
- Opens with a changed since your last visit strip listing the ads that just launched and the ones that quietly went dark.
- Puts your own live ads side by side with theirs, including your click-through rate and impressions, so you can see whether you are making the same promise as everyone else in your category.
- Gives every competitor ad a Tear this down button that writes back a hook, proof, and call to action breakdown plus what shifted in their positioning, and lets you tag ads into named boards.
What do I need to use this?
- A LinkedIn account with access to the LinkedIn Ad Library. LinkedIn reviews this access and approval usually takes a few business days.
- A LinkedIn Ads account you administer, for the side by side view of your own creatives and their performance.
- The names or LinkedIn Pages of the competitors you want on your watchlist.
- A General Input database to hold the snapshot history, boards, and teardowns. This is created for you.
How can I customize it?
- Change the default 14 day window on the grid to match how often you actually review, or widen it to include ads that have already stopped running.
- Add or remove competitors from the watchlist whenever your category shifts. The archive keeps everything the app has ever seen.
- Filter the grid by country, ad format, or board, and rename boards to match how your team thinks about angles.
- Tell the teardown agent what to focus on, for example pricing claims, proof points, or which persona the ad is speaking to.
FAQs
Does this show ads that have already stopped running?
Do I need a LinkedIn Ads account of my own?
How far back does the competitor data go?
Can my whole team see the teardowns?
Will it notify me when a competitor launches something new?
Related templates
Every logo, photo, video cut and ad export in one searchable grid, with previews, campaign tags and rights expiry dates at a glance.
Watch every live room on one screen, remove disruptive guests, start recordings and end stuck sessions without anyone opening a terminal.
Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.
See the exact hours your chat queue backs up and customers give up waiting, then plan next week's shifts before it happens again.
See every phone number, the route it takes and the voice agent that answers, then change routing safely with a real test call and a full change log.
Every proposal you have ever submitted in one searchable archive, with the closest past answers lined up against each question in a new RFP.
Stop losing competitor ads the moment they stop running.
Build your own archive of what your category is advertising, and open it every morning instead of hunting through tabs.