Meiro Pipes · Web SDK

Replace your tracker stack with one governed SDK.

Meiro Pipes is a self-hosted Customer Data Infrastructure. It ships a single browser SDK with predefined event names, JSON Schema validation and identifier-aware delivery, running on AWS, GCP, Azure, OCI or your own data centre.

Free trial · No credit card · 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
~60 KB Pipes Web SDK mpt.js in production
200 KB+ typical multi-SDK stack you'd otherwise carry
~50 predefined, GA4-aligned event names
1 /collect endpoint, on your own domain

Run Lighthouse on a page. Count the trackers in the Network tab. Compare it to mpt.js loaded from your own domain. The case for one SDK is largely scannable from your DevTools.

Why this matters

Running several SDKs in parallel breaks your data.

Schema drift

Different teams ship different SDKs with subtly different event names: add_to_cart, AddToCart, cart-add. Reporting becomes a reconciliation exercise.

Consent and PII bypass governance

Each SDK reads its own cookies and writes its own storage. Privacy reviews stall every launch. When something leaks, nobody can say which loader was responsible.

Vendor lock-in

Once event names are wired into a SaaS taxonomy, switching vendors means re-tagging every page. The SDK ends up owning the schema.

The Pipes Web SDK

One mpt.js file. One taxonomy. One place to enforce rules.

Pipes ingests via a single browser SDK and a single /collect endpoint per Source. Every event is matched to an Event Type, validated against a JSON Schema, deduplicated and routed before it leaves your infrastructure.

Predefined event taxonomy

The SDK accepts a curated, GA4-aligned event set: page_view, add_to_cart, purchase, generate_lead, sign_up and around 50 more. Unknown names are rejected with a console error.

JSON Schema validation at the edge

Each Event Type carries an AJV-validated JSON Schema. A bad purchase payload (missing amount, wrong currency code) is rejected at /collect with a precise error.

Tracking rules in a sandboxed Web Worker

DOM event logic (clicks, form submits, dataLayer pushes, scroll thresholds) lives in tracking rules edited in the Pipes UI. They run in a sandboxed worker with an explicit storage allowlist. No inline JS in your page.

One identity model, declared once

Identifier extraction ($.email, $.user_id) is declared on the Event Type, so the SDK never owns identity. Limits and priority on Identifier Types keep merges sane on shared devices.

Setup

Setup is a copy-paste. Schema, rules and identity live in Pipes.

The SDK queues commands before the script loads, so the first page_view is never dropped on slow connections. Events flow into /collect/<source> on your own domain, where Pipes validates, deduplicates and routes them.

  • Edit Event Types and JSON Schemas in the Pipes UI without redeploying the SDK.
  • Edit tracking rules in the Pipes UI; they ship via /tracking-rules/<source>.
  • Update consent, reset identity or attach a user_id with one call.
<script>
  window.mpt = window.mpt || function () {
    (window.mpt.q = window.mpt.q || []).push(
      Array.prototype.slice.call(arguments)
    );
  };
  window.mpt("config", {
    collection_endpoint: "https://your-instance.com/collect/web",
    link_tracking:   { enabled: true },
    tracking_rules:  { enabled: true }
  });
  window.mpt("consent", {
    storage_persistence: "granted",
    user_id:    "granted",
    session_id: "granted"
  });
  window.mpt("event", "page_view");
</script>
<script async src="https://your-instance.com/mpt.js"></script>

Spin up a Pipes workspace and instrument your first page in under an hour.

Governance

Where governance is actually enforced.

Event contracts

Every event lives under a named Event Type with an optional JSON Schema. Producers and consumers share one contract, versioned in your config.

Identity contracts

Identifier Types declare which fields are joinable, with limits and priority that prevent runaway super-profiles on shared devices.

Storage allowlist

The SDK reads only the cookies and storage keys your tracking rules explicitly request. Everything else returns null.

Self-hosted

Deploy to your AWS, GCP, Azure or OCI account, or fully on-prem. /collect is your domain. No third-party SaaS in the request path.

Side by side

What changes when one SDK owns ingestion.

Capability Meiro Pipes Vendor SDK stack
Trackers in the page 1 (mpt.js) 3 to 8 loaders
Event taxonomy One curated, validated set Per vendor, reconciled in BI
Schema validation JSON Schema at /collect Caught later in the warehouse
Identity model Centralised Identifier Types with limits Per-SDK cookies and rules
DOM event logic Sandboxed Web Worker Inline JS via tag manager
Where data lives Your cloud or on-prem; no egress Vendor SaaS clouds
Cost model Flat rate Per MTU plus per destination
Switching cost Replace a destination, not the page Re-tag every page

Free trial · No card required

Replace the SDK pile with one mpt.js.

Spin up a Pipes workspace, point a single SDK at it and watch a clean event stream land in your warehouse and ad networks during your first sprint.