Meiro Pipes · Identity stitching

Identity stitching that runs where your data already lives.

Meiro Pipes is a self-hosted Customer Data Infrastructure. Its identity stitching engine merges anonymous, known and cross-device events into one profile in real time. Deterministic identifier types, with limits and priority, keep the graph clean on shared devices. Runs on your AWS, GCP, Azure, OCI or on-prem.

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

browser cookie device_id email facebook_id google_analytics_id linkedin_id meiro_id phone user_id contact-form-submit 3 event types LIVE Contact Form Submit email phone user_id facebook_id Infobip Email Status email newsletter-submit email user_id facebook_id
Real-time Merges land before the next event fires. No overnight batch.
0 Third-party SaaS in the merge path. Identity stays in your VPC.
4+ Identifier types with maxIdentifiers and priority.
Deterministic Stitches on signed-in IDs first. No silent probabilistic merges.

Identity stitching is the merge layer of the Pipes ingestion pipeline. It runs alongside schema validation and routing, so a clean profile graph is a property of how data lands, not a nightly job.

Examples

Three scenarios where stitching changes the outcome.

Example 01

Anonymous cart that returns as a logged-in user

A visitor browses three products anonymously, adds two to a cart and closes the tab. Two days later they sign in from a different network to check out. Without stitching, you get two separate profiles. The abandoned-cart trigger never fires, and the conversion is attributed to a paid channel that did not influence the first session.

With Pipes, the cookie from session one and the email from session two merge into one profile when the login event lands. The abandoned-cart journey fires within seconds, with the original products.

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 journey triggers with the original products.

What this enables: abandoned-cart journeys fire for returning visitors who looked anonymous on the first session.

Example 02

Cross-device journey that paid ads keep paying for twice

A customer researches on mobile and converts on desktop. Without cross-device identity, the desktop cookie looks like a new prospect. Paid channels retarget a user already 80% through the funnel, attribution credits the last touch, and lookalike models train on duplicates.

With Pipes, both devices link under email_X when the customer authenticates on either. Suppression audiences exclude converters from retargeting pools. Deduplicating cross-device profiles can grow addressable audience size by up to 300x.

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 drop out of retargeting pools. Spend shifts to net-new prospects. Lookalikes train on cleaner seeds.

Example 03

Shared workstation: support agents, family computers, kiosks

A support agent files three customer cases per hour from the same workstation. Each form submission fires an event with the customer's email plus the agent's device ID and cookie. Without identifier limits, every customer handled from that workstation collapses into one profile, corrupting churn scores, LTV and personalization.

Pipes caps email at maxIdentifiers: 2. The first two emails attach to the same profile. The third overflows into a clean new profile, isolated from the workstation's history.

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 tied to the customer, not 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 changes when stitching runs in real time 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. Runaway super-profiles do not form.

Deterministic by default

Pipes stitches on signed-in identifiers first: email, user_id, account_id. Probabilistic signals stay as profile enrichment, 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 your identifier types. Anonymous and known traffic collapse into one profile in real time.