A plain-language guide for event teams

One visitor walks in. Five records walk out.

Every event runs on a few tools that each keep their own version of the same people. This guide shows — with real fields and values — how one person becomes several disconnected records, what that quietly costs you, and the four-part idea that puts them back together. No code. If you've ever exported a list and fixed it by hand, you already know the problem; we're just going to name it and solve it.

Worked example: Foire de Paris We follow one man: Marc

The five people we'll meet

  • Marc — the bulk-buying merchant. Free ticket, but here to buy by the pallet. Our main character.
  • You — the freebie tourist. Here for the wine and paté; acts the part.
  • Claire — the real VIP buyer. Genuine high spender, flagged VIP at the door.
  • Bodegas García — the exhibitor. Returning exhibitor whose name is spelled three ways.
  • Dr Lefèvre — speaker & exhibitor. On the stage and on a stand.

The tools they pass through

  • KlipsoRegistration & badges — the front door. Rebuilt every edition.
  • SplioMass newsletters to consumers (the B2C world).
  • HubSpotSales CRM for exhibitors & sponsors (the B2B world).
  • LinkedIn NavWhere reps find prospects and hand-copy them in.
  • ValidityWatches your email reputation — the smoke alarm.

Splio (consumers) and HubSpot (businesses) never talk to each other. Klipso feeds both — by hand.

The problem, in real data

Meet Marc. Your systems think he's four different people.

Marc Dubois runs a regional food wholesaler. He grabbed a free visitor ticket, then spent two days getting bulk-pricing quotes from exhibitors. Here is what he literally looks like inside your tools after the show. Read down each column: same man, four times, nothing connecting them.

The same person · as stored in four systems
FieldKlipso (registration)Splio (newsletter)Exhibitor A's CSVExhibitor B's CSV
Record IDKLP-2027-44821splio_88213row 47, leads_hallC.xlsxline 1120, FdP.csv
NameMarc DuboisMarc DuboisM. DuboisDubois, Marc
Emailmarc.dubois@gmail.commarc.dubois@gmail.com— blank —mdubois@grossiste-sud.fr
Company— (registered as individual)— blank —Grossiste SudGROSSISTE DU SUD
Type / roleVisitor (free)Newsletter subscriberLead — "hot"Prospect
Buying intent— none captured"premium?" (guessed)Wants pallet pricingBulk buyer
Linked to the others?NoNoNoNo
conflicting or unhelpful value missing value

Why this costs you money

Three things go wrong — and each has a victim.

Marc isn't a data curiosity. Because his four records never connect, three concrete things happen, every one of them avoidable.

CONSEQUENCE 1
Splio sees only a "free visitor," so it mass-mails Marc €9 tasting offers.

A wholesaler ready to buy by the pallet gets treated like a tourist — your most generic email lands on your best prospect.

Who pays: your sales pipeline
CONSEQUENCE 2
Two exhibitors each captured Marc as a fresh lead, never comparing notes.

Two reps chase the same buyer, duplicating effort and sometimes undercutting each other — neither knows he's a repeat customer.

Who pays: your exhibitors' trust
CONSEQUENCE 3
In your stats, Marc counts as one anonymous free visitor.

Next year's planning has no idea a serious buyer attended on a free ticket, so you can't invite him back as one. The intelligence evaporates.

Who pays: next year's revenue
The root cause is one thing: no system shares a single ID for a person. Klipso's "KLP-44821" means nothing to Splio or HubSpot — so the only thing that can link Marc's records is a human with a spreadsheet. Everything below follows from that.

See it happen

Walk one person through the show.

Pick someone, then step through the three stages. Watch one human at the door turn into scattered records — then watch them resolve into a single trustworthy one. The two dials at the top show the show-wide damage and recovery.

The 612,000 → 410,000 figures are illustrative, to show the shape of the effect. Swap in real Foire numbers and they flow straight through.

The fix · part 1 of 4

Deciding that two records are the same person.

This is the whole game (its proper name is entity resolution): you compare records and decide, with a confidence level, whether they're the same person or company. Some signals are near-certain; others say "probably — have a human check." Nothing is deleted; you just record that records belong together. Click through Marc's three matches.

The fix · part 2 of 4

When records disagree, which value wins?

Now you build one clean version. The trick: you don't pick a winning record, you pick a winning value for each field, by a simple written rule. Press the button and watch Marc's single record assemble.

Each field's winner is chosen by its own rule — so Splio's guess of "premium?" loses to the real evidence of what Marc actually did.

The fix · part 3 of 4

Who is allowed to change each field?

A clean record is worthless if any tool can overwrite it. So each field gets one owner — one path allowed to change it. Fire each action and watch what's allowed through and what bounces.

Pick an action above. The lock on each field only opens for its rightful owner.

The fix · part 4 of 4

Why "just sync the two tools together" makes it worse.

The obvious fix is to wire two tools to update each other. It feels right — but without one owner per field, each sync cycle quietly adds a duplicate and the two tools drift out of agreement. Step through what actually happens to Marc's record.

Both tools start in sync: one Marc each. Press “Run the two-way sync” and watch the cycles play out.

The shape of the fix

Put the four ideas in a line, and you have the whole solution.

Here's the flyover, with Marc threaded through it. Each tool plugs into a small adapter that knows the rules: which fields that tool is the source of truth for, which just pass through, and which are blocked. In the middle sits a data spine — one clean backbone record per person — and the clean values are then pushed back out to the tools that don't own them, via their API, so everyone shows the right value without the sync loop. Every box is an ordinary part; the cleverness is the order, which is why a small team can build it.

① Your tools → adapters (read in)

Klipso registration
  • source of truth: VIP flag, registration
  • name, email → pass through
Splio B2C email
  • source of truth: marketing consent
  • email → pass through
  • "premium?" guess → blocked (can't write intent)
HubSpot B2B CRM
  • source of truth: buying intent, lead status
  • company → pass through (standardised)
Exhibitor CSVs import
  • name, phone → used to match only
  • cannot overwrite the canonical name

② match  +  ③ the data spine — one record, one owner per field

Marc Dubois
one golden record · built from four sources
NameMarc Dubois · from Klipso
Personal emailmarc.dubois@gmail.com · Klipso
Work emailmdubois@grossiste-sud.fr · Exhibitor B
CompanyGrossiste du Sud · standardised
Consentopted-in · Splio
VIPno · Klipso
Buying intenthigh · bulk · HubSpot
Why it never loops: every field has exactly one owner, and edits only flow spine → tool. A tool that doesn't own a field receives the value but can't push it back, so there's no ping-pong.

④ pushed back out (via API)

→ Splio (API)

Receives the standardised name + the VIP flag it doesn't own. Displays them; can't write them back.

→ HubSpot (API)

Gets Marc linked as one contact with his consent & clean company. Keeps owning intent.

→ Klipso (API)

Gets the merged identity so next edition recognises Marc instead of making a new record.

→ Warehouse

The full clean record flows to reporting — counts & ROI built on real people.

Marc, resolved

  • PersonMarc Dubois — one record, four sources folded in.
  • CompanyGrossiste du Sud (standardised, linked).
  • StatusFree visitor who is a high-intent bulk buyer → routed to sales, off the €9 blast.

The knock-on effects

  • ValidityClean lists → bounce & spam fall → the alarm goes quiet.
  • Headline numberCounts real people, not badge scans — ROI reports stop being fiction.
  • Splio/HubSpotStill your tools — now sharing one honest picture.

One sentence to remember

Your tools don't need replacing. They need to stop lying to each other.

Everything here is a concept, not a product — matching, one clean record, an owner per field, one-way edits. Together they form what we call a data spine: a single trustworthy backbone that runs down the middle of the tools you already have and keeps them honest. Building one is well-understood work — and it's what Visual Hive does end to end: auditing your current stack, designing the architecture, implementing it, training and onboarding your team, then hosting and supporting it for the long run. Your tools stay exactly where they are; the spine just runs between them.

Stack auditSolution architectureBuild & onboardingHosting & support
Book a meeting with Visual Hive →