Most of the industry uses “account graph” and “identity graph” as if they’re the same asset wearing two names. They aren’t. One of them is a genuinely rare thing to build properly, and it isn’t the one that gets the coverage number printed on the sales deck.
In a nutshell: an identity graph is a solved problem. Stitching IP 1, 2, 3 and 4 to the same device, the same cookie, the same hashed email, that’s mature, commoditised plumbing, and most of the market has a version of it. Its job is to take something you already know about a person and extend the addressability of that fact across every device and identifier they touch. It’s as relevant to B2C as it is to B2B, arguably more so, because B2C never needs the second graph at all.
An account graph is an entirely different and much harder problem, specific to B2B, and hardly anyone building B2B media has actually built one. What gets sold as an “account graph” in most pitch decks is a well-branded identity graph with a company name bolted on top. That’s not a small distinction. It’s the difference between knowing which fragments belong together and knowing which businesses belong together, and B2B targeting lives or dies on the second one
New here? I’ve spent 15+ years building the plumbing this piece is about, first at PowerLinks and now running FunnelFuel, a B2B-native programmatic business, so I’m writing from inside the resolution logic rather than commentating on it from the outside.
If data quality is the itch this piece is scratching, two from the archive go deeper: The Dirty Secret of B2B Intent Data on why more signal often makes targeting worse rather than better, and The Bland Segment Is Dying on what replaces pre-canned data segments once you stop trusting any single source.
Get next week’s argument on where B2B programmatic actually breaks, straight to your inbox.
What you’ll learn in this piece:
Why an identity graph and an account graph solve two different problems, not one problem wearing two names, and we’ll take both apart properly
What actually builds the account layer, the enrichment stack most vendors skip
Where identity resolution comes back in, and why you still need it once the business structure is understood
Why one graph, correctly built, does the job of five separate point solutions, from signal mining through to attribution
What the canonical object of an account graph really is
How the two layers interrelate, and where confidence is won or lost between them
Why B2B specifically can’t afford to get this wrong
Before any of that, it’s worth being honest about what problems we’re actually trying to solve, because it isn’t just “better targeting.” It’s:
Mapping user-level buying committees to accounts, and qualifying that mapping all the way from website traffic through to ad impressions
Building an addressable, data-driven target account list from CRM exports, existing lists, or multi-variate inputs across firmographic, technographic, and other enrichment data
Applying signal to segment that list properly, rather than treating every account as an equal-sized prize
Targeting each of those accounts with the highest realistic probability of actually reaching the right people inside them
Reporting on the impact of the advertising, from ad impression through to website analytics, on the same object throughout
Attributing account progression back to marketing activity, so marketing-influenced pipeline is something you can demonstrate rather than assert
Solve that properly and you need two graphs, not one.
What an identity graph is actually doing
Start with the more familiar of the two, because it’s worth being precise about its job before anything else. An identity graph is an interoperability layer. It takes fragments, an IP address, a cookie, a device ID, a hashed email, and works out which of them are the same underlying thing showing up in different clothes.
IP 1, 2, 3 and 4 might all resolve to the same device. That device might share a hashed email with a mobile ad ID (MAID) seen somewhere else entirely. The identity graph’s whole job is stitching that interoperability together so a single known fact about someone can be addressed everywhere they show up. It doesn’t know or care what business any of it belongs to. Its job is to maximise addressable scale, full stop.
What an account graph is actually doing
An account graph starts somewhere completely different. It maps the relationships between real companies: which subsidiary sits under which parent, which entities share a global holding structure, which trading relationships connect one business to another, where the org chart genuinely sits versus where a stale firmographic database thinks it sits. It also looks like the people that constitute the company; which offices host which roles, where does the c-suite sit, how big is each department etc.
So the graph asks itself lots of key questions to help us understand precisely what a company does. Stuff like; Which office do the engineers actually work out of? What’s the org’s revenue range? What do they do, and what technologies do they run? Are they hiring AI engineers right now, and what does that tell you about what’s coming? None of that requires a single device ID or cookie to build. It requires enrichment, at scale, from sources that have nothing to do with the bidstream. Its job is to build the biggest, most joined-up repository of account-level signal you can, full stop, in the same way the identity graph’s job is to maximise addressable scale.
That’s the distinction worth holding onto, because the industry collapses it constantly. A big identifier graph is not a proxy for a well-built account structure, and a lot of what gets marketed as “account-level” targeting is really just identity resolution with a logo pasted over the top. Working out that a subsidiary in Frankfurt, a holding company in Delaware, and a trading entity in Singapore are all, functionally, the same buyer is a genuinely uncommon capability. Most of the market never gets past the identifiers.
Once you have the best, most complete account graph you can build, that’s when you stitch an identity graph into it, not the other way round.
Why the standard identity graph doesn’t fit B2B
Here’s the part most of the industry misses entirely. The standard identity graph is B2C-shaped. It thinks in households, matching one household’s IPs and devices to everyone living under that roof. In B2B, households are irrelevant. What’s missing instead is an entirely different layer of hierarchy that programmatic, as a discipline, was never built to think about:
The account, where every relevant identifier maps up to a single global account level
The buying committee, where every relevant identifier maps to the specific group of people actually involved in that decision
Neither of these is native to programmatic, because programmatic thinks in one unit: the end-user. That is equally true for B2C focussed walled gardens like Meta, YouTube and Reddit.
The standard ask of an ID graph could go like this; end-user-1 visited a sneaker site, added to basket, didn’t buy. Sneaker intender, retarget. There’s no buying group needed to sell trainers. There is one for $100m of enterprise server infrastructure.
Take a live example. Run a standard identity graph against a $100m enterprise infrastructure deal and the small handful of buying committee members who happened to visit a hyperscaler’s website get heavily graphed and retargeted, individually, as if they were five separate sneaker intenders. What that standard ID graph, the one everyone talks about having, can’t do is understand the relationship between those people, or how they map into a single buying group. Run the same exercise through an account graph and you’re picking up that same signal and mapping it back to an active buying committee inside a wider account.
An account graph becomes the ultimate B2B enabling technology
That single shift from individual identity [graph] to an account identity graph changes what you can actually do with your marketing. Now you are empowered to;
Re-engage the whole buying group, or the whole account, rather than five disconnected individuals
Manage frequency and pacing across the group rather than per browser (or even worse if you run half a dozen managed services, self serve seats and direct buys - by the provider
And orchestrate a message at a buying committee level across channels so the CFO and the security lead aren’t seeing the same generic creative twelve times each while someone else on the committee sees nothing at all.
Run properly joined up ABM programmes globally, across channels. This is why it matters as much as it does.
One graph, the whole spectrum
That last point is worth pulling apart properly, because it’s the difference between an account graph as a targeting nicety and an account graph as infrastructure. I very much see an elite B2B account graph as B2B infrastructure
Once every signal resolves back to the same account and committee object, rather than living in five separate point solutions that don’t talk to each other, the whole list of problems from the top of this piece stops being five separate problems.
Frequency and orchestration are the clearest case. Without a shared account and committee object, every channel caps frequency in its own silo, display doesn’t know what CTV already showed the same person, audio doesn’t know what DOOH just did outside their office, and the buying committee ends up over-served on one channel and invisible on the others. With a shared object, frequency gets managed at the account and committee level across the whole media mix, not per channel, which is the difference between reaching a buying group and repeatedly reaching the one person on it who happened to be easiest to identify.
The same object carries the rest of the spectrum too. Signal mining and analytics on your own website resolve onto the same node used for targeting, rather than needing a second identity exercise bolted on afterwards to make the two talk to each other. Imagine the power of GA4, Adobe analytics or any other such kit, but with the ability to resolve sessions back to the account graphs accounts and personas? How would that impact your list segmentation, and your campaign reporting?
Segmentation stops treating every account as an equal-sized prize, because the enrichment layer already tells you which ones are worth weighting harder. And reporting and attribution close the loop on the same object they started on, so account progression, a deal moving stage, a committee member re-engaging, attributes back to the specific marketing activity that touched it, rather than to a generic MQL fired by an anonymous cookie that happened to convert around the same time.
One graph, correctly built, does the job that five disconnected tools are usually stitched together, badly, to attempt.
What actually builds the account layer
The account graph is built from a multi-variant stack of enrichment partnerships, not from anything captured in an auction. This is where the unglamorous, expensive part of the work sits: firmographics, technographics, industry classification, open job roles as a hiring-intent signal, credit ratings, ownership and trading-relationship records, and the varying, often contradictory, levels of data quality that exist across different providers covering the same company. Marry this together with extensive web crawling, on contextualisation, big stream modelling and other data ingestion across APIs, MCPs, and all other available data sources. It is one heck of an exercise to do it well.
Every one of those sources answers a different piece of “who is this business, and who is it connected to.” Technographic scans tell you what they run. Job postings tell you what they’re about to need. Ownership records tell you whether the account you’re targeting is actually three accounts wearing different domains after an acquisition nobody updated. None of this is identity work. It’s the business-structure work that has to happen before identity resolution means anything at all, because resolving a device to the wrong account, cleanly and confidently, is still wrong.
Where identity comes back in - to make an account identity graph
Understanding the business doesn’t buy you a single impression.
Three hundred million known businesses mapped and structured is a genuinely useful asset, but it’s not much use if you can’t reach any of them.
To actually activate against it with live programmatic advertising, you need to map real, ephemeral signals back onto that business structure: hashed emails, probabilistic and predictive identifiers, mobile ad IDs and device IDs, contextual signals, hyperlocal signals, network-level IP signals.
This is identity graph work again, but it’s no longer standing alone and mapping to end users singularly. It’s being resolved onto a business structure that was built independently of it, which is the part most of the market skips. Mapping identifiers to business-relevant hierarchies like the account and the buying committee is what makes identity actually mean something in B2B, rather than just meaning something in general.
This is also where FunnelFuel’s actual definition sits, and it’s worth being direct that it isn’t industry-standard vocabulary, because it isn’t. An account graph, as we build it, is the combination of two layers: the account-relationship structure (who owns whom, who trades with whom, who sits under which parent) and the identity-resolution layer mapped onto it (which real signals, in a live auction, actually belong to which node in that structure). Neither layer alone is the account graph. The identity layer without the business structure is just a very good identity graph. The business structure without live identity resolution is a static database you can’t activate against. It’s the combination that’s rare, not either half in isolation.
These things are tedious, capex-intensive, and genuinely difficult to build. We’ve conservatively spent £8m and counting building ours. The focus throughout has been maximising scale on both sides at once, the widest possible map of known accounts, and the deepest possible stack of identifiers, so we can confidently reach them. Confidently is the operative word. It means not taking any single data vendor’s word for it, accepting that even the best providers get things wrong or have gaps, and using machine learning at scale, alongside deep contextual mining and signal aggregation, to actually understand the confidence behind each individual identifier before it gets used. Then it’s about deploying the most advanced programmatic workflows available to unearth what each of those validated signals is actually worth. This isn’t a pitch, it’s the honest scale of the R&D behind doing this properly. And before anyone reads this as something you knock out with an afternoon of AI-assisted coding, most of that £8m has genuinely benefited from automated development and the efficiencies it brings.
That’s not a contradiction. It’s what the sharpest edge of B2B programmatic actually looks like in 2026, built faster because the tools got better, not built any less seriously.
It is also why I get miffed when this type of technology asset is fired up to drive CTR!
The canonical Account Object, properly defined
Every account graph needs one true representation of each real company, and it has to be positioned correctly inside its actual ownership structure, not just deduplicated by name.
A business might present as four domains after a rebrand, a dozen device fingerprints across regional offices, and three conflicting entries across different firmographic providers who don’t agree on where the parent-subsidiary line sits.
The canonical object is the answer: one node per real company, correctly nested under its actual holding group or parent, versioned as the structure changes through acquisition or restructuring, with every identity signal you resolve attaching back to that specific node as an edge rather than spinning up a duplicate elsewhere in the graph. Get the hierarchy wrong here and you don’t get one clean account graph, you get several contradictory ones, bidding against each other for the same buying committee without anyone noticing it’s the same committee.
Where it agrees, and where it doesn’t
This is where the two layers actually meet, and it’s where confidence is won or lost. Once you know a business’s structure and you’ve resolved a set of identity signals onto it, the real question is whether those signals agree with each other and with the structure underneath them.
Does a hashed email match land inside the same corporate entity that a device ID resolved to? Does the network IP range the auction traffic came from sit inside the parent company you’d expect, or does it belong to a subsidiary that was sold off eighteen months ago and never got updated in a firmographic database somewhere?
Contextual and hyperlocal signals corroborate or contradict in the same way. Every additional signal that lands on the same node from an independent source, one that had no reason to agree unless the underlying answer is correct, raises confidence in that resolution. A single signal, however clean, never gets you there alone.
Why B2B specifically can’t afford to guess here
This isn’t an abstract precision argument. Heck, an account graph is expensive to operate against, so it has to earn its keep. In B2B, I know it does (disclaimer; I have seen the CRM data to prove the model)
B2B deals of any real size are decided by committee, and that committee has been getting larger. Gartner’s most recent buying research puts the typical committee at 6 to 10 stakeholders for deals above $100,000, up from 4 to 6 as recently as 2017, and Forrester’s research on deals above $1 million puts that figure at 14 to 23 stakeholders. Median cycle length on enterprise deals above $100,000 runs to roughly 11.5 months.
Every one of those stakeholders is a separate identity that needs correctly resolving back to the same account, over a buying cycle measured in months, not days. Get the account structure wrong, or resolve even a handful of those stakeholders to the wrong node in it, and you’re not slightly off target, you’re running a campaign against a buying committee that doesn’t exist, for the length of an entire sales cycle, without anyone downstream knowing why the pipeline never showed up. That’s the specific reason B2B can afford to pay more for confidence in a way that high-volume, single-decision-maker B2C targeting never has to.
We build both layers ourselves rather than buying an identity graph off the shelf and calling it an account graph. Brand name datasets at raw signal level get stacked against each other, and an impression only gets bought once two independently agree on the account and its place in the structure. If you’re weighing whether to build that kind of stack yourself or license into ours, that’s a conversation worth having, drop me a line at mike@funnelfuel.io and I’ll walk you through where it fits across a managed service, a licensed signal model, or something in between.
Reach graph, or proof graph
Put the two layers together properly and you end up with one of two things, and it’s worth being honest with yourself about which one you’ve actually got.
A reach graph is what you get when the identity layer is doing all the work and the account layer is thin or borrowed. It covers a lot of ground, matches on almost anything, and looks identical to a properly built account graph on a coverage slide. It behaves nothing like one in a live campaign mapped to outcomes, because a device resolved cleanly to the wrong node in a business structure that was never properly mapped is still a wasted impression, just a confidently wasted one.
A proof graph is what you get when both layers are built deliberately and cross-checked against each other before any money moves. It costs more, because enrichment partnerships and hierarchy mapping are expensive and corroboration takes real engineering, not just a bigger identifier database. It also wastes considerably less of the budget sitting on top of it, for exactly the reason the stakeholder numbers above make concrete: in B2B, the cost of confidently targeting the wrong node in the structure compounds over months, not minutes.
A bit of history, since it’s relevant: the last time the industry got genuinely excited about “identity graphs” as a category was 2016-18, when Drawbridge, Tapad, and LiveRamp were the names everyone name-dropped. That entire generation solved cross-device identity for a single consumer, one person across several screens. It never had to solve for a holding company with forty subsidiaries and a buying committee spread across three of them. The vocabulary carried over into B2B. The problem it was actually built for didn’t.
Field Notes
Two data points worth sitting with, both landing within the last year and both pointing the same direction.
A December 2025 DemandScience survey of 750 senior B2B marketing leaders found that the large majority believe their own intent signals are unreliable or inflated, and only a minority of those signals convert into qualified pipeline at all. That’s not a data-availability problem. Every one of those organisations had plenty of signal. What they didn’t have was a business structure solid enough to tell them which of it to trust.
Separately, a 2026 industry benchmarking piece on B2B identification vendors made a point worth repeating precisely because it’s an admission rather than a claim: no independently audited accuracy benchmark exists across visitor-identification vendors. Every accuracy number in the category is vendor self-reported, on the identity layer alone, with no mention of whether that identity was ever resolved onto a correctly structured account in the first place.
So: when you next hear someone describe their “account graph,” ask them a more specific question. Are they describing a business structure, correctly mapped, with identity resolved onto it and cross-checked? Or are they describing an identity graph with a nicer name? Subscribe to the B2B Stack, and I’ll keep outlining how this industry works, and the key questions to ask
Disagree that the two are worth separating this sharply? Tell me why in the comments, I’d genuinely rather have that argument than not!

