SyncGTM now works inside Claude and ChatGPT. Learn more
All GTM agents

B2B Ads Search

/b2b-ads-search

Search the B2B ads a company is running from its domain and get back the creative, targeting and landing page behind every ad.

Download Skillb2b-ads-search.zip · free

Overview

B2B Ads Search is a SyncGTM MCP tool that takes a company domain and returns the B2B ads that company is running, as normalized ad objects with creative, targeting and performance data plus the resolved company details. Running ads is a spend signal: a company buying B2B ads has budget and an active demand-gen motion, which makes this the cheapest way to rank an account list before you spend on enrichment. The skill runs `b2b_ads_search` at 0.5 credits per call, one call per company.

What it does

  1. 1

    Takes `company_domain` or `company_name`. Pass at least one, and pass the domain whenever you have it — a name has to resolve to a company first, and common or ambiguous names resolve badly.

  2. 2

    Returns normalized ad objects with the creative, targeting and performance data, plus the resolved company details for the domain you sent.

  3. 3

    Works as a qualification filter across a list, not an enrichment. Flagging which of 50 accounts are running ads costs 25 credits and tells you who has a live demand-gen budget.

  4. 4

    Returns no contacts, emails or phone numbers. Chain `find_people_within_company` and `find_work_email` when you need someone to send to.

  5. 5

    Does not cover Facebook or Instagram page ads. Those come from `meta_ads_analysis`, also 0.5 credits, keyed on a Facebook Page ID or page URL rather than a domain.

  6. 6

    Costs 0.5 credits per call, billed per company and not per ad returned. `check_credits` is free — run it before a batch.

How to use it

  1. 1

    Download the skill file — it saves as b2b-ads-search.zip.

  2. 2

    In Claude, open Settings → Capabilities → Skills and upload the .zip (or unzip the b2b-ads-search/ folder into .claude/skills/ for Claude Code).

  3. 3

    Connect the SyncGTM MCP server — browser sign-in, no API key. Follow the setup guide for your client at docs.syncgtm.com/mcp_server/setup.

  4. 4

    Type /b2b-ads-search and paste in one company domain, or a list of domains one per line. The skill states the credit total before running anything over 20 companies.

  5. 5

    The one setting worth tuning: always pass `company_domain` instead of `company_name`. A failed name lookup returns an empty result that reads like 'not advertising' when it was really a resolution miss.

Use cases

Account prioritization

Run every domain on a target list through the tool and work the accounts that are actively buying ads first. A company with a live paid budget has money moving through marketing right now.

Competitor ad monitoring

Pull a competitor's live creative, targeting and landing pages to see what promise they are making and to which persona. Feeds battlecards and objection handling.

Cold email openers

Turn the campaign an account is currently running into a paraphrased first line that proves you looked at their marketing, not just their headcount.

Demand-gen fit check

Confirm a prospect actually runs paid campaigns before pitching anything that only pays off for teams already spending on ads. Disqualifies fast for 0.5 credits.

GTM workflow examples

Monday: rank a 200-account target list by ad activity

  1. 1Run `check_credits` to confirm the balance covers the batch — 200 domains at 0.5 credits each is 100 credits.
  2. 2Run `b2b_ads_search` on all 200 domains with `company_domain`, splitting the list into 'running ads' and 'no ads found'.
  3. 3Run `enrich_organization` on only the ads-running accounts to attach industry, headcount and funding, producing a tier-1 sheet.
  4. 4Run `find_people_within_company` on each tier-1 domain and keep the demand gen, growth and marketing ops titles.
  5. 5Run `find_work_email` on the two best contacts per tier-1 account.

Outcome: A tier-1 account sheet where every row has a named demand-gen contact, a verified work email, and the ad promise to open the email with.

Build a competitor battlecard from live creative

  1. 1Run `b2b_ads_search` on each of your five competitor domains to capture their headlines, targeting and landing pages.
  2. 2Run `similarweb_insights` on the same five domains to get the paid versus organic traffic mix, showing whose ad spend is actually converting to visits.
  3. 3Run `company_product_launch` on each competitor to see what they shipped in the last quarter and whether the ads are pushing it.
  4. 4Run `linkedin_page_posts` on each competitor page to compare the organic message against the paid one.

Outcome: A one-page battlecard per competitor with their paid promise, target persona, landing page, launch timing and paid share of traffic, handed to reps for objection handling.

Write an opener from the prospect's own campaign

  1. 1Run `b2b_ads_search` on the account domain to see the promise their marketing team is making this quarter.
  2. 2Run `find_people_within_company` on the same domain and pick the CMO, VP Demand Gen or Head of Growth.
  3. 3Run `linkedin_profile_posts` on those profiles to check the person is publicly pushing the same message as the ads.
  4. 4Run `find_work_email` on the two picks to get verified business emails.
  5. 5Draft the opener as a paraphrase of the ad's promise — never the headline itself.

Outcome: Two contacts per account with verified emails and a first line tied to the campaign they are running right now.

Prompts

Paste any of these into Claude once the skill is installed and the SyncGTM MCP is connected.

Search B2B ads for the company domain stripe.com. Give me the headline, targeting and landing page for each ad.
Run b2b_ads_search on the 20 domains below, one per line, and return a table with domain, ads running yes/no, ad count and the main promise in the creative. That is 10 credits at 0.5 per domain — check my balance first. [paste your 20 domains here]
For notion.so, search B2B ads and tell me which persona they target and what problem the creative claims to solve. Paraphrase the promise into a cold email opener, do not quote the headline.
I only have the company name Gong. Resolve the domain first, then run b2b_ads_search with company_domain set to the domain you found and company_name as Gong.
Check my credits, then run b2b_ads_search on the 50 domains below, one per line. Return only the ones running ads, sorted by ad count. This batch costs 25 credits at 0.5 per domain — stop before calling anything if my balance is below that. [paste your 50 domains here]

Best practices

  • Pass `company_domain`, not `company_name`. It is the single biggest driver of hit rate on this tool.

  • When a name is all you were given, resolve the domain first and then send both fields together.

  • Treat an empty result as unproven, not negative. Most empty results are a name that failed to resolve — retry with the domain before writing the account off as not advertising.

  • Use it as a filter, not an enrichment. A yes/no ads pass across 50 accounts costs 25 credits and needs no follow-up call.

  • Deduplicate your domain list first. The same company under two spellings is charged twice at 0.5 credits each, and retrying name variations multiplies spend silently.

  • Paraphrase the creative, never quote it. For Facebook and Instagram page ads switch to `meta_ads_analysis` at 0.5 credits — it takes a Page ID or page URL, not a domain; for the traffic mix behind the spend use `similarweb_insights` at 2 credits.

Complementary skills

Explore more

Ready to run /b2b-ads-search on your own data?