This Request For Comment (RFC) covers our recent thinking on how GTM SS and Snowplow could fit together. Whilst we’ve been doing some thinking on what would be most helpful to do for users of Snowplow who are also interesting in leveraging GTM Server Side, we haven’t reached any conclusions - so haven’t built anything yet.
However, we understand some users would like to leverage GTM SS, Snowplow and other systems together so we’re opening this Request For Comment (RFC) and would love to understand your use cases for GTM SS and your preferred method of deployment, as this will help us figure out the best possible approach.
We believe there are a few possibilities that are worth exploring further:
GAv4 client side → GTM → Snowplow Client in GTM that claims the GAv4 protocol requests and forwards to the Snowplow collector
- This would be useful for a user that has implemented GA and wants to adopt Snowplow without reinstrumenting tracking on web.
- However there are significant limitations (e.g. lots of the rich data that the Snowplow JS tracker collects client side wouldn’t be collected e.g. time on page, scroll depth, page view ID.
- Also it is might be hard to use e.g. entities to collect rich data in a consistent way across event types, without significant data transformation in GTM.
Snowplow script client side → GTM → Snowplow Client in GTM that claims the request and forwards to Snowplow collector
- This seems like the simplest approach and it creates the opportunity to create other clients in GTM that forward the Snowplow data to other end points. It is a good solution if you want to send Snowplow data to other locations.
- However it might not be that easy working with the Snowplow data in GTM.
Snowplow enriched data → GTM (via e.g. PubSub using our Analytics SDKs)
- This would effectively pipe Snowplow processed data from the enriched stream into GTM SS so it could be forwarded to other systems
- This might be an effective approach to e.g. relaying Snowplow data to other systems
- It has the benefit that the data would be well structured / easy to work with (all JSON and all schemas would have been validated). You also are working with processed data, so would have all the enrichments and e.g. PII redacted if appropriate
- However it is not the intended use case for GTM SS