Cross-domain stitching across 6 travel brands feeds deduplicated profiles into Meta and Google. Suppression audiences keep paid spend off existing customers.
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

In production
What stitching delivered for two Pipes customers.
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.
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.
cookie_A1 Profile P1 created with 1 cookie. view_item and add_to_cart attach to P1.
cookie_A1 + email_X Pipes matches cookie_A1 to P1 and attaches email_X.
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.
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.
device_M + cookie_M1 P1 with 1 device, 1 cookie. Behavioural events accrue.
+ email_X P1 gains email_X. email has priority 300.
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.
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.
email_alice + device_X + cookie_A creates P1 (1/2 emails) email_bob + device_X + cookie_A merges into P1 (2/2 emails) 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.
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.
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.
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.
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.