At the end of the day Snowplow leverages two event protocols - the original Tracker Protocol and Custom Self-Describing Events.
Buz supports both, but does so in a way that seamlessly blends the data model of Self-Describing Events and the traditional Tracker Protocol. It also validates and redirects tracker-protocol events in the same manner as self-describing events.
Snowplow uses two HTTP verbs for event collection:
GET(request consisting of a single event, as defined via query params)
POST(request consisting of event batches, as defined via json payloads)
It leverages three primary event collection endpoints:
/i(pixel endpoint used for
r/tp2(redirect endpoint used for
com.snowplow.analytics.snowplow/tp2(endpoint used for
Buz supports all of the above, but allows various functionality to be enabled/disabled as needed.
Buz uses a set of static schemas to validate incoming "tracker protocol" events, and the associated
schema property to validate incoming "self describing" events.
Navigating Ad Blockers
Buz supports configurable collection endpoints so tracking does not get blocked by ever-expanding ad blocker lists.
Sample Snowplow Configuration
enabled: true # Whether or not to enable Snowplow event collection
standardRoutesEnabled: true # Whether or not to enable the standard Snowplow routes
openRedirectsEnabled: true # Whether or not to enable open redirects
getPath: /plw/g # The custom path for get-based tracking
postPath: /plw/p # The custom path for post-based tracking
redirectPath: /plw/r # The custom path for open redirect tracking