It really depends on what you are trying to do:
Build an opinionated reporting solution for multiple customers
This works fine. Typically you:
- Come up with a standard set of events/contexts
- Standardize your tracking
- Multi-tenant based on
- Build standard reports which are filtered to a given tenant
Provide general event analytics to multiple customers from a single pipeline
This doesn’t work well. The Snowplow pipeline is extremely customizable, but it is designed around the idea that there will be one set of customizations applied to a single pipeline.
A simple example: the referer parser enrichment takes a single set of domain names - these are the domain names which will be treated as internal referrers for all events in the pipeline. It doesn’t make sense to have both coke.com and pepsi.com in that list.
To provide general Snowplow-powered event analytics, you need a Snowplow pipeline per customer.
Hope this helps!