OpenAdLibraryOpenAdLibrary
Ad Transparency & Supply Chain

How to Identify the Ad Network Behind Any Ad

Every native ad leaves fingerprints in its click URL, loader script, and tracker domains that name the network serving it, and here's how to read them by hand or at scale.

Diagram tracing a native ad's click URL through tracker domains to reveal the ad network behind it

Every ad you see in a content recommendation widget was placed by a specific network, and that network left fingerprints. The serving domain in the click URL. The loader script that built the widget. The tracker domains that fire on impression. Each one names the marketplace that brokered the placement. Once you know what to look for, identifying the network behind a native ad takes about fifteen seconds with browser dev tools. The same logic, run continuously, scales to millions of placements.

I'll cover the manual method first, because understanding the signals makes the automated approach make sense. Then I'll show how we classify networks (and the rest of the supply chain) across the 589,000+ creatives in our index.

The short answer#

To identify the ad network behind a native ad, inspect the click URL and the script that loaded the widget. The serving domain gives it away. trc.taboola.com means Taboola. outbrain.com or zemanta.com means Outbrain (now Teads). jsc.mgid.com means MGID. trends.revcontent.com means Revcontent. The unclicked href and the loader <script> are the two most reliable fingerprints, and neither requires clicking the live ad.

That covers the common case. Now the why, and the part that actually matters for research.

Three parties, easy to confuse#

When you look at a sponsored recommendation, three different parties are involved. People mix them up constantly.

The ad network is the marketplace that matched the placement and gets paid per click. The publisher is the site hosting the widget. The advertiser is the brand whose offer the ad promotes. When someone says "this is a Taboola ad," they usually mean "this is an ad served through Taboola for some advertiser I haven't identified yet."

The distinction is practical. If you're a media buyer scouting where to launch, the network tells you which platform to open an account on. If you're running competitive research, the network is just the first hop in a chain that ends at the advertiser's landing page. And the network is deliberately obscured. The visible click destination is almost always a tracking redirect, not the advertiser's domain. Untangling that chain is the core of ad intelligence, and it starts with naming the network.

The creative tells you what is being sold. The network tells you how it reached you. Only the click destination tells you who is actually selling it. You need all three to have a signal rather than a screenshot.

Taboola finance native ad with an IRS tax-forgiveness headline
Caption: A live Taboola finance ad from Fresh Start Information, captured by OpenAdLibrary, June 2026. The headline reads '2026 - IRS Forgives Millions By June 30th Tax Deadline.'

That ad above is a perfect example. The headline screams a tax offer. But "Fresh Start Information" is a lead-gen brand sitting in front of a tax-relief advertiser, served through Taboola, with the real destination hidden behind a redirect. The network was the easy part to read. The advertiser took a server-side trace.

The manual method: read the fingerprints#

Open any content site with a recommendation widget at the bottom of an article. Right-click a sponsored unit and choose Inspect. You're hunting for four signals, in roughly this order of reliability.

1. The click URL (the strongest signal)#

Hover over the ad or find its anchor tag in the DOM. The href is rarely the advertiser's URL. It's a redirect through the network's click-tracking server, and the host of that redirect names the network outright. You don't need to follow the link to read the host, which means you can identify the network without generating a billable click.

2. The loader script#

Every widget is built by a JavaScript loader fetched from the network's CDN. Search the page source for the script src. These are stable and hard to disguise, because the network's own infrastructure has to serve them.

3. The widget container and class names#

Networks render into containers with recognizable IDs and class prefixes. taboola and trc_ for Taboola. ob- and OUTBRAIN for Outbrain. mgbox and M_ for MGID. Publishers can theme these, but the structural prefixes usually survive.

4. Impression and pixel domains (Network tab)#

Open the Network tab, filter to the widget, and watch what fires on load. The reporting and pixel domains corroborate the network and often reveal additional supply-chain partners (exchanges, verification vendors, data brokers) layered on top.

Here are the fingerprints for the networks you'll hit most often:

Network Click / serving domain Loader script host DOM tell
Taboola trc.taboola.com cdn.taboola.com trc_ IDs, taboola containers
Outbrain / Teads outbrain.com, zemanta.com widgets.outbrain.com ob- classes, OUTBRAIN
MGID jsc.mgid.com, cdn.mgid.com jsc.mgid.com mgbox, M_ prefixes
Revcontent trends.revcontent.com assets.revcontent.com rc- containers
Yahoo native trc.taboola.com (powered by Taboola) cdn.taboola.com Taboola tells

That last row trips up manual analysts constantly. Yahoo's native inventory has been powered exclusively by Taboola since their 30-year commercial agreement went live, so a "Yahoo" placement fingerprints as Taboola. Same story with Outbrain: it completed its Teads acquisition in early 2025 and now operates under the Teads name, so Outbrain and Teads infrastructure increasingly overlap. Network identification is not static. Ownership and partnerships rewrite the map, and any method worth using has to track that.

It also helps to know where each network actually plays. Taboola is the giant: 157,727 creatives in our index, skewing heavily toward health (6,048), finance (5,558) and insurance (4,303). Outbrain runs leaner at 84,252 creatives and leads with finance and insurance. MGID looks different from both, with 49,689 creatives dominated by entertainment (8,904 creatives, mostly those quizzy "what's your IQ" and gaming units). When a fingerprint and a vertical line up the way you'd expect, your read is probably right. When they don't, you've found something interesting (figures from the OpenAdLibrary index, June 2026).

MGID-style entertainment quiz ad, an IQ test creative
Caption: An IQ-quiz native ad from My IQ, captured by OpenAdLibrary, June 2026. Quiz-style entertainment units like this one ran continuously for 28 days, the longest stretch in our current index.

Where the manual method breaks down#

The fingerprint approach is reliable for one ad on one page at one moment. It does not survive contact with real research questions, which sound like "which networks is this advertiser running on this month?" or "who else is buying native traffic in the cardiovascular-supplement vertical?" Manual inspection collapses under three pressures.

  • Scale. You cannot inspect ten thousand placements by hand, and a single advertiser may run the same creative across four networks at once. Network identification has to happen per placement, not per creative.
  • Rotation. Widgets reshuffle on every page load. The ad you inspected is gone on refresh, and so is the evidence. There's no archive unless you build one.
  • The redirect chain. Reading the network is step one. Following the click through the network's redirect, any affiliate hop, and on to the real landing page is where the actual intelligence lives, and you can't do that safely or repeatably by clicking live ads. (Affiliate hops are why the affiliate network often sits between the ad network and the advertiser.)

This is exactly the gap a purpose-built native ad library closes, and it's why a general-purpose ad transparency tool built for social platforms doesn't help here. Native inventory lives outside the walled gardens, in the open web's recommendation widgets, and nobody published a library for it until recently.

How auto-classification works at scale#

The automated version of the manual method does the same fingerprint reading, continuously, on captured copies of live ads rather than on the live ads themselves. The capture is API-driven and never clicks the live unit, which keeps it clean and non-billable. From each captured placement, a classifier extracts the signals you'd read by hand and resolves them into structured fields.

We run this pipeline across native ad networks including Taboola, Outbrain, MGID, Revcontent, Teads, MediaGo, Yahoo and MSN: 42 networks in all, feeding an index of 25,933 advertisers and more than 5.4 million ad observations. For every captured ad it records three things.

  1. The serving network, derived from the click domain, loader script, and DOM structure, with partnerships like Yahoo-Taboola resolved so the label reflects the real operator.
  2. The full supply chain: the exchanges, trackers, and verification vendors layered on the placement, classified from the impression-time requests. This is the same chain you can read in the Network tab, captured and labeled automatically. Our deeper walkthrough of the native ad supply chain with real traces shows what these chains actually look like.
  3. The advertiser behind the ad, recovered by following the click server-side through every redirect and affiliate hop to the final landing page, without ever touching the live ad. We've resolved more than 926,000 landing-page captures this way. This is the answer to the question most people are really asking, and it's the basis for figuring out who is buying ads on a given website.
Taboola health native ad about hearing aids
Caption: A Taboola health ad from Nebroo, captured by OpenAdLibrary, June 2026. 'Americans Are Ditching Hearing Aids for This New Device' ran for 26 observed days.

Because every placement is timestamped and stored, you also get the signals a single inspection can never give you: how long a creative has run, how many networks an advertiser spreads across, and which placements keep reappearing. The hearing-aid ad above logged 26 days of continuous observation. The longest-running creatives in our index right now sit at 28 days, the full width of our current observation window: an Outbrain pet-content ad ("Dog licks aren't kisses. Here's what your dog really means"), a SmartAsset finance unit about IRA taxes, and a cluster of those Microsoft Audience Network IQ quizzes.

A note on that 28-day figure. It's what we've directly observed, not the creative's full lifespan. The industry lore about "90-day winners" you keep paying to run is a separate, general claim, and it's plausible, but it's not our measurement. What we can say is that longevity and spread are the closest thing native has to a public performance signal. Nobody keeps a losing creative live for four straight weeks. Reading network plus longevity plus spread together is what separates intelligence from a screenshot.

Taboola home and garden native ad about solar batteries
Caption: A Taboola home-and-garden ad from Solar Battery Subsidy, captured by OpenAdLibrary, June 2026. This solar-battery creative ran for 27 observed days, near the top of our index.

A practical workflow#

Put the two methods in their proper place. Use manual inspection when you have one ad in front of you and need a fast answer. Use a native ad spy tool when the question involves more than one placement, more than one moment, or the advertiser hidden behind the redirect.

A typical competitive pass looks like this. Identify the networks active in your vertical. Pull every advertiser running on each. Sort by how long their creatives have survived. Then trace the long-running winners to their landing pages and pre-landers. Finance is the busiest vertical in our index (17,232 creatives), with insurance (15,629) and health (14,895) right behind, so those three are where you'll find the most to chew on. The network identification you just learned to do by hand is step one of that loop, automated and run continuously so the evidence doesn't vanish on refresh. This all sits inside the broader practice of ad transparency: using public ad data to understand who is advertising what, where, and how.

If you want to skip straight to the structured output, start free and browse 200 captured native ads with their network, supply chain, and resolved advertiser already classified. No card required.

Key takeaways#

  • The ad network is encoded in the click URL, loader script, container markup, and pixel domains. The serving domain is the single most reliable fingerprint.
  • You can identify the network without clicking the live ad. The signal lives in the unclicked href and the page markup.
  • Distinguish the network (who placed it) from the advertiser (who's selling). Remember that partnerships like Yahoo-Taboola and the Outbrain-Teads merger change what a fingerprint means.
  • Manual inspection works for a single ad. Scale, rotation, and the redirect chain force you to an automated, captured-copy approach for real research.
  • Network identification is step one. The intelligence comes from pairing it with the resolved advertiser, plus longevity and cross-network spread.

Frequently asked questions

How can I tell which ad network served a native ad?
Inspect the click URL and the widget's loader script: a redirect through trc.taboola.com means Taboola, outbrain.com or zemanta.com means Outbrain (now Teads), jsc.mgid.com means MGID, and trends.revcontent.com means Revcontent. The serving domain in that click link or loader is the single most reliable fingerprint, and you can read it from the DOM without clicking the live ad.
What is the difference between the ad network and the advertiser?
The network (Taboola, Outbrain, MGID) is the marketplace that places the ad and gets paid per click, while the advertiser is the brand whose offer the ad actually promotes. The advertiser is usually hidden behind a tracking redirect or an affiliate hop, so identifying the network is step one and following the click to the landing page is what reveals who's really selling.
Can I identify the network without clicking the live ad?
Yes, because the network is encoded in the page markup and the unclicked href, so you can read it straight from the DOM or the Network tab without triggering a billable click. Tools like OpenAdLibrary go a step further and resolve the click server-side from a captured copy, so you see the final destination without ever touching the live unit.
Why does the same ad show different networks on different sites?
Because advertisers run the same creative across multiple networks at once, so one offer can appear via Taboola on one publisher and MGID on another. That's why network identification has to happen per placement rather than per creative, and why the spread across networks is itself a useful competitive signal.
How long do native ads typically run?
The longest-running creatives in OpenAdLibrary's June 2026 index sit at 28 days of continuous observation, the full width of our current capture window, including an Outbrain pet ad and a cluster of Microsoft Audience Network IQ-quiz units. That 28-day figure is what we've directly observed rather than a creative's full lifespan, but longevity at that level is a strong sign a creative is profitable, since nobody keeps paying to run a loser for four straight weeks.
The OpenAdLibrary Team
Written byThe OpenAdLibrary Team
Ad intelligence & native advertising research

We build OpenAdLibrary, the open ad-transparency platform. Every day our systems capture live native ads across Taboola, Outbrain, MGID, Revcontent, Teads, Yahoo and MSN, identify the real advertiser behind each one, and follow the click to its landing page. These guides distill what we see in that data so you can research the market faster.