Meiro Pipes · Identity resolution

Stop paying twice for the same customer.

Meiro Pipes is a self-hosted Customer Data Infrastructure. It stitches every event (anonymous, known, cross-device) into one profile in real time, with identifier limits and priority that keep merges sane on shared devices.

Free trial · No credit card · Used in production at banks, retailers and travel operators

Tried & trusted by clients worldwide
Oktagon
Direct
CNC
Der Touristik
DrMax
Chemist Warehouse
BCA
Home Credit
KB
Super Mom
Ergo
Heureka Group
iPrima
Wego
Société Générale

In production

What stitching delivered for two Pipes customers.

DER Touristik Travel · DACH region · 6 brands
+92% increase in Return on Ad Spend
$200K incremental revenue in 30 days

Cross-domain stitching across 6 travel brands feeds deduplicated profiles into Meta and Google. Suppression audiences keep paid spend off existing customers.

Komerční Banka Banking · Czech Republic · On-prem
400M+ events resolved monthly
95% of customer interactions tracked in real time

Identity stitching runs on-premise in a Kubernetes-managed environment to meet Czech financial regulations. Zero data egress; sub-second resolution.

Examples

Three journeys that only resolve correctly when identity is stitched in real time.

Example 01

Anonymous cart that returns as a logged-in user

A visitor browses three SKUs anonymously, drops two into a cart and closes the tab. Two days later they sign in from a different network to finish checkout. Without stitching, that is two profiles, no abandoned-cart trigger and a "first-time customer" credit going to a paid channel that never reached them.

With Pipes, the cookie from session one and the email from session two share a profile the moment the login event lands. The abandoned-cart journey fires inside seconds, with the right SKUs.

T+0 Anonymous browse cookie_A1

Profile P1 created with 1 cookie. view_item and add_to_cart attach to P1.

T+2d Login cookie_A1 + email_X

Pipes matches cookie_A1 to P1 and attaches email_X.

T+2d+3s Journey fires email_X

Abandoned-cart Engage journey triggers with the original SKUs.

What this enables: abandoned-cart journeys fire on returning visitors that previously looked anonymous, instead of going silent.

Example 02

Cross-device journey that paid ads keep paying for twice

Mobile-first research, desktop conversion. Without stitched identity, you pay Meta and Google to retarget the desktop cookie that is already 80% down the funnel, and your attribution model credits whichever last touch fired loudest.

With Pipes, both devices share email_X the moment the customer logs in on either side. Suppression audiences in Engage push converters out of the retargeting pool and lookalikes train on deduplicated profiles.

Mobile Browse device_M + cookie_M1

P1 with 1 device, 1 cookie. Behavioural events accrue.

Login on mobile Identify + email_X

P1 gains email_X. email has priority 300.

Desktop login Merge device_D + cookie_D1 + email_X

Pipes merges into P1. One profile, two devices, one ad-spend ceiling.

What this enables: existing customers stop appearing in your retargeting pools. Spend reallocates to net-new prospects, lookalikes train on cleaner seeds.

Example 03

Shared workstation: support agents, family computers, kiosks

A call-centre agent files three customer claims an hour from the same workstation. Each form submit fires an event with that customer's email plus the agent's device and cookie. Without limits, every customer the agent has ever helped collapses into one "super-profile", with churn predictions, offers and lifetime value all wrong.

Pipes caps email at maxIdentifiers: 2. The first two emails merge. The third spawns an overflow profile, clean and isolated, ready to grow on its own when that customer next logs in from their own device.

Event 1 email_alice + device_X + cookie_A creates P1 (1/2 emails)
Event 2 email_bob + device_X + cookie_A merges into P1 (2/2 emails)
Event 3 email_carol + device_X + cookie_A blocked by limit; P1 untouched, P2 created with email_carol only

What this enables: churn predictions, LTV scores and offers stay accurate for the customer, not for the workstation that processed their request.

Stitch your first identifier in an afternoon, on infrastructure you control.

How it works

Identifier types are the contract.

01

Define Identifier Types

email, user_id, device_id, cookie, each with a maxIdentifiers cap and a priority. Stable identifiers (email) outrank transient ones (cookie) when merges conflict.

02

Extract them at ingest

Each Event Type declares JSONPath rules ($.email, $.user_id) that pull identifiers off every payload as it lands. No transform code required.

03

Resolve in real time

Background workers match the new event's identifiers against the profile graph. New identifier? Attach it. Multiple profiles match? Merge them, unless a limit would break.

04

Overflow protects the graph

When a merge would push a profile past its identifier cap (e.g. 3 emails on one cookie), Pipes spawns an overflow profile instead of polluting the original. Shared devices, support agents and family computers do not collapse identities.

What sets Pipes apart

What stitching gives you when it runs in real time and on your stack.

Sub-second resolution

The merge happens before the next event fires. Journeys, suppression lists and live personalization see the new identity within the same session.

Configurable limits and priority

email: max 2, priority 300. device_id: max 3, priority 200. cookie: max 20, priority 100. The graph stays clean; pathological super-profiles do not form.

Deterministic by default

Pipes stitches on signed-in identifiers (email, user_id, account_id) first. Probabilistic signals are layered as enrichment in Engage attributes, never as a silent merge.

Identity stays in your VPC

No third-party SaaS in the merge path. Self-hosted on AWS, GCP, Azure, OCI or fully on-prem. Banking, insurance and public-sector workloads pass review.

Free trial · No card required

Stitch your first identifier in an afternoon.

Spin up a Pipes workspace, point a Source at it, declare a few identifier types and watch your anonymous and known traffic collapse into one profile in real time.