Skip to main content

Cross-navigation enrichment

This enrichment parses the extended cross-navigation format in the _sp query string parameter, and attaches a cross_navigation entity to an event.

Check out the cross-navigation page to learn why this can be useful.

The extended cross-navigation format is _sp={domainUserId}.{timestamp}.{sessionId}.{subjectUserId}.{sourceId}.{sourcePlatform}.{reason}. The domainUserId and timestamp fields will always be present, but some of the other fields may be null or empty. They're configured within the tracker.

If this enrichment isn't enabled, Enrich parses the _sp query string parameter according to the short format, _sp={domainUserId}.{timestamp}

Event fields always populated

The pipeline will always populate the refr_domain_userid and refr_dvce_tstamp enriched event fields from the cross-navigation query string, even if this enrichment isn't enabled.

Configuration

This enrichment has no configurable parameters. Enable it in Console.

For Self-Hosted, provide the following JSON:

json
{
"schema": "iglu:com.snowplowanalytics.snowplow.enrichments/cross_navigation_config/jsonschema/1-0-0",
"data": {
"enabled": false,
"vendor": "com.snowplowanalytics.snowplow.enrichments",
"name": "cross_navigation_config"
}
}
Testing with Micro

Unsure if your enrichment configuration is correct or works as expected? You can easily test it using Snowplow Micro, either through Console or on your machine.

Input

This enrichment extracts the _sp query string parameter from the page_url field from the Snowplow event.

Output

Enrich always populates the refr_domain_userid and refr_dvce_tstamp event fields when possible, regardless of whether the cross-navigation enrichment is enabled.

The enrichment adds a cross_navigation entity to the enriched event.

cross_navigation

Entity
Schema for a user and session identifiers entity included in cross platform or cross domain navigation.
Schema URIiglu:com.snowplowanalytics.snowplow/cross_navigation/jsonschema/1-0-0
Example data
json
{
"domain_user_id": "c6ef3124-b53a-4b13-a233-0088f79dcbcb",
"timestamp": "2026-05-06T09:00:00.000Z",
"session_id": "987abc12-3456-7890-abcd-ef1234567890",
"user_id": "u_123",
"source_id": "acme-web-app",
"source_platform": "web",
"reason": null
}
Properties and schema
PropertyDescription
user_id
null
Optional. The business user ID, the user was identified in the source app.
domain_user_id
string
Required. Domain user ID of the source app from which a link was followed. The corresponding atomic property is named refr_domain_userid.
session_id
null
Optional. Session ID of the source app from which a link was followed.
timestamp
string
Required. Timestamp of the link click in the source app which triggered this navigation. The corresponding atomic property is named refr_dvce_tstamp.
source_id
null
Optional. ID of the source app where the link that started this navigation originated from.
source_platform
null
Optional. Platform of the source app (e.g., mob, web, tv).
Must be one of: web, mob, pc, srv, app, tv, cnsl, iot, headset,
reason
null
Optional. Cross navigation linking information/identifier.

On this page

Want to see a custom demo?

Our technical experts are here to help.