Understanding network_userid and domain_userid in Snowplow
Blog post from Snowplow
User tracking is essential in digital analytics, and Snowplow utilizes two main identifiers, network_userid and domain_userid, to track users and their interactions across web sessions. The domain_userid, generated by the Snowplow JavaScript tracker, is stored in a first-party cookie and identifies users within a specific domain. However, its persistence is limited to the same browser and device unless cookies are cleared or expire. Conversely, the network_userid is set by the Snowplow collector as a third-party cookie, allowing for cross-domain tracking, though recent browser restrictions have reduced its reliability. Discrepancies between domain_userid and network_userid, such as multiple domain_userid values for a single network_userid, can occur due to cookie clearing, multi-device access, or misconfigured cookies. For effective multi-touch attribution, users can map these identifiers to associate actions across sessions and devices, identify cross-device interactions, and manage edge cases like cookie clearing. Best practices include prioritizing first-party data due to third-party cookie restrictions, centralizing data processing, and using Snowplow's dbt models for structured data processing and user stitching. Understanding these identifiers is vital for accurate user tracking and attribution, enabling a comprehensive view of user journeys and enhancing campaign measurement.