valrune/data
all work
identity resolution, two scales

Identity resolution: the join nobody built

Ad platforms, web analytics, call tracking, and the CRM each know a different sliver of the same person. Identity resolution is the warehouse layer that decides those slivers are one customer, deterministically where possible and probabilistically where necessary. It was built twice here: for a regional home-services contractor and for a global enterprise.

stack:bigquery · sql · idr graph
focus:identity resolution
scope:smb to global enterprise
48,117[ identities unified ]smb contractor
62.6%[ click-id capture after go-live ]smb contractor
250K[ identities resolved ]enterprise
89%[ of reconnected pipeline value ]enterprise · probabilistic
[ scale one: the contractor ]

48,117 people, five systems, zero joins

A regional home-services contractor ran six years of business across form software, call tracking, a CRM holding 9.4M raw contact rows and 15.2M raw deal rows, Google Ads, and GA4, with no shared key anywhere. The identity graph unified 48,117 distinct identities by resolving on the signals a phone-first business actually produces: phone first, email second, and an email-to-phone bridge that links a web form to the call that closed the deal.

The client's own CRM practices were inconsistent and getting worse, as internal staffing changes left lead-source fields half-filled. Because the warehouse resolved identity from automatically captured signals, it did not depend on hand-entered fields, and the results held up regardless of how carefully the team tagged records.

The unglamorous finding was that ad-platform IDs, the signal most attribution vendors lead with, covered under 1% of identities when the graph was first built, because nothing on the site was capturing them. The graph made that gap visible, and closing it became a two-week engineering project with a before and after you can see from orbit.

What actually resolves an identity

Share of identities carrying each signal. Phone is the workhorse key (red). Ad-platform and analytics IDs, the signals platforms bid on, barely registered until they were deliberately captured.

metric: % of 48,117 identities per resolution key · source: warehouse identity graph

Click-ID capture, before and after the identity layer

Share of monthly leads (forms and calls) carrying a click ID. Near zero for years, then 52.7% at peak once capture was wired through the graph. The highlighted months (yellow) are after go-live.

metric: % of monthly leads with click id · source: forms, call tracking, crm
[ scale two: the enterprise ]

121,000 leads against 200M rows of anonymous journeys

The same problem, three orders of magnitude larger. A global enterprise's raw stage spans roughly 200 million rows and hundreds of dimensions across web events, CRM objects, and campaign systems. Enterprise B2B buyers research anonymously for weeks, so deterministic-only matching leaves most of the story dark. The graph layered deterministic matching first, then progressively bolder probabilistic matches on timing, domains, and structured fields, each scored with a confidence the downstream models can weigh.

The probabilistic matches were graded, not guessed. The vast majority resolved at 99% confidence, a smaller tier at 95%, and a remainder at 78% or higher, so a model can trust a high-confidence match and discount a weak one.

Share of leads resolved per join method

Log scale, as a share of all resolved leads. Deterministic click-ID joins (gray) resolve the largest share. The probabilistic layers (red), timing proximity and structured-field matching, add smaller, carefully scored shares.

metric: share of resolved leads per method (log) · d = deterministic, p = probabilistic · source: idr layer

The inversion: who has the leads vs. who has the money

Deterministic matching wins on lead count; probabilistic matching carries 88.9% of the reconnected pipeline value. The anonymous journeys were the valuable ones.

metric: share of resolved leads · share of reconnected opportunity value · source: idr layer + crm
48,117[ identities unified ]smb contractor
62.6%[ click-id capture after go-live ]smb contractor
250K[ identities resolved ]enterprise
89%[ of reconnected pipeline value ]enterprise · probabilistic