Interactive demo · sample data

northpeak.com

Enabled Template web-sdk v2026-04-13
12 480 events in the last hour

Connected Pipes

  • northpeak.com to Meta CAPI to Meta CAPI Enabled
  • northpeak.com to Google Ads to Google Ads Enabled
  • northpeak.com to BigQuery events to BigQuery Enabled
Define the types of events this source can receive.
page_view System default
5a311a62-a780-465b-8d3c-32de9c6bfdcd
Validation: Custom rules · Retention: Forever · Identity rules: 3 configured
purchase Custom
7d41c2e8-3b6a-4f09-a2d5-94e1b8c0f357
Validation: JSON Schema · 4 required fields · Retention: Forever · Identity rules: 4 configured
add_to_cart Custom
2c9e41b0-7d55-4a1e-9f3a-81c0d2e6b7a4
Validation: JSON Schema · Retention: Forever · Identity rules: 3 configured
form_submit System default
084955ee-aaba-4a3a-b4ee-654e4c0dd9f3
Validation: Custom rules · Retention: Forever · Identity rules: 4 configured

Health

Follow a single event as it flows through Pipes, from identity resolution to profile activation. Each step shows backlog size and how far behind real time the oldest item sits.

Updated 12:42
STEP 1
Identity resolution queue

We receive an event and store it first. If it carries identifiers, it waits here so we can stitch it to the right profile before any routing happens.

QUEUE SIZE
0
PROCESSED LAST MIN
1 240
OLDEST WAITING ITEM
No backlog
Queue is clear. Nothing is waiting for processing right now.
STEP 2
Event delivery queue

Once identity is resolved, we fan out delivery tasks per pipe and destination. The event router pulls from this pending queue.

QUEUE SIZE
0
PROCESSED LAST MIN
1 236
OLDEST WAITING ITEM
No backlog
Queue is clear. Nothing is waiting for processing right now.
STEP 3
Profile refresh queue

Profile updates trigger attribute refresh. This queue represents pending refreshes before realtime profile sync checks can run.

QUEUE SIZE
0
PROCESSED LAST MIN
412
OLDEST WAITING ITEM
No backlog
Queue is clear. Nothing is waiting for processing right now.
STEP 4
Profile delivery queue

Updated profiles are pushed to profile destinations (CDP, marketing tools). This queue tracks pending deliveries.

QUEUE SIZE
0
PROCESSED LAST MIN
398
OLDEST WAITING ITEM
No backlog
Queue is clear. Nothing is waiting for processing right now.

Identity Resolution

Define the identifiers that link events to profiles and review where they are used across sources.

Where identifiers connect

Track how identifier types link profiles to event types and data models across your stack.

northpeak.com
31 event types
Northpeak app
18 event types
Store POS
6 event types
CRM
Reverse ETL · daily
user_idemailphoneloyalty_iddevice_idcookiefbclidgclid
Meta CAPI
Event Destination
Google Ads
Event Destination
Meta Custom Audiences
Profile Destination

Identifier types

Limits and priority decide when profiles merge.

emailmax 2 · priority 300
phonemax 2 · priority 250
loyalty_idmax 1 · priority 280
device_idmax 3 · priority 200
cookiemax 20 · priority 100

northpeak.com to Meta CAPI

northpeak.com Meta CAPI
Last delivery: 20:14:03 · 200 OK Enabled
Transform Function
This JavaScript function runs for every event batch. You can transform, filter, or enrich events using profiles and secrets.
// Maps event names, keeps consented customers and hashes PII for Meta CAPI
const EVENT_MAP = {
  'page_view':   'PageView',
  'add_to_cart': 'AddToCart',
  'purchase':    'Purchase',
};

async function sha256(str) {
  const buf = new TextEncoder().encode(str.trim().toLowerCase());
  const digest = await crypto.subtle.digest('SHA-256', buf);
  return Array.from(new Uint8Array(digest)).map(b => b.toString(16).padStart(2, '0')).join('');
}

async function transform({ events, profiles }) {
  const out = [];
  for (const ev of events) {
    const profile = profiles.find(p => p.id === ev.user_id) ?? {};
    if (!profile.ads_consent) continue;  // no consent, nothing is sent
    const user_data = {};
    if (profile.email) user_data.em = await sha256(profile.email);
    if (profile.phone) user_data.ph = await sha256(profile.phone);
    if (profile.fbclid) user_data.fbc = `fb.1.${ev.ts}.${profile.fbclid}`;
    out.push({ ...ev, event_type: EVENT_MAP[ev.event_type] ?? ev.event_type, user_data });
  }
  return out;
}
Transform Function Tester
Run the function with sample events and profiles to verify the output.
Input · Emma’s purchase
// events
[{ "event_type": "purchase", "event_id": "ord_88412",
   "value": 189, "currency": "EUR", "user_id": "4b7e19c2…" }]
// profiles
[{ "id": "4b7e19c2…", "ads_consent": true,
   "email": "emma.s@…", "phone": "+49 •••• 214",
   "fbclid": "IwAR2k…" }]
Output
Run the test to see what Meta receives.[{ "event_type": "Purchase", "event_id": "ord_88412",
   "value": 189, "currency": "EUR",
   "user_data": {
     "em": "9f2c41d0…e41a",
     "ph": "c04b7e93…19d2",
     "fbc": "fb.1.1793…IwAR2k…" } }]

Profile Syncs

Connect profile syncs to profile destinations. Deliver profiles instantly as they refresh.

SYNCS
All profiles → BigQuery
1 destination · last: Emma, 12:42:09
Customers with email → HubSpot
1 destination
App users → Braze
1 destination
DESTINATIONS
BigQuery profiles table
Connected
HubSpot Contacts Sync
Connected
Braze Users
Connected

DWH Connections

  • Northpeak analytics BigQuery
    northpeak-analytics · eu-west3
    Connected Last checked: 3. 11. 2026 12:30
  • CRM replica (Reverse ETL) BigQuery
    northpeak-crm · daily at 02:00
    Connected Last checked: 3. 11. 2026 02:04

All Destinations

Manage event and profile destinations. Route events to data warehouses, APIs, and marketing platforms, or sync profiles to CRMs and engagement tools.

  • Meta CAPI Enabled Event
    Sends conversions to Meta Conversions API, hashed, server-side.
    1 pipe connected · 1 860 deliveries in the last hour
  • Google Ads Enabled Event
    Sends conversions to Google Ads via Enhanced Conversions API.
    1 pipe connected · 1 354 deliveries in the last hour
  • BigQuery events Enabled Event
    Streams every validated event to northpeak-analytics.events.
    3 pipes connected · 17 010 deliveries in the last hour
  • BigQuery profiles table Enabled Profile
    Keeps one row per unified profile, refreshed in real time.
    1 sync connected · 412 deliveries in the last hour
  • HubSpot Contacts Sync Enabled Profile
    Upserts customers with email into HubSpot contacts.
    1 sync connected · 96 deliveries in the last hour
  • Braze Users Enabled Profile
    Updates app users in Braze for push campaigns.
    1 sync connected · 148 deliveries in the last hour

Pipes diagram

All your complete data pipelines sorted by last-hour delivery volume. Hover nodes to highlight connected paths.

SOURCES
northpeak.com
12 480 events/hr
Event Stream
Northpeak app
3 920 events/hr
Event Stream
Store POS
610 events/hr
Event Stream
PIPES
northpeak.com to Meta CAPI
1 860 deliveries/hr
northpeak.com to Google Ads
1 354 deliveries/hr
EVENT DESTINATIONS
Meta CAPI
1 860 deliveries/hr
Google Ads
1 354 deliveries/hr

Last hour at a glance

Aggregated event, routing and delivery counts for the last 60 minutes.

Updated 20:14
Events Received 17 010
Events Sent 3 214
Routing Rate 19%
Errors 0

Secrets

encrypted · used as secrets.KEY_NAME
  • META_CAPI_KEY
    17f203a8-7514-4928-93c7-7b2ca29cad20 Created 22. 5. 2026
    USED BY
    META CAPI (MEIRO PIXEL) EVENT DESTINATION
    1 entity
  • HUBSPOT_ACCESS_TOKEN
    Hubspot access token
    68aa7248-5761-4e4c-935d-6ab5ce20085a Created 28. 4. 2026
    USED BY
    HUBSPOT CLOUD APPS HUBSPOT CONTACTS EVENT DESTINATION
    2 entities
  • BIGQUERY_SERVICE_ACCOUNT
    3b5f56ba-7be3-4a75-b0f7-2272b525dd31 Created 22. 5. 2026
    USED BY
    NORTHPEAK ANALYTICS DWH CONNECTION
    1 entity