What is the best event logger and why?
Why did Segment seemingly beat Snowplow?
In this thread from the Looker community discussion boards, the CEOs of dbt & Fivetran passionately argue for Snowplow [open-source] over Segment [closed-source/SaaS*] for event logging.
When I say event logging, what I mean is the way full-stack developers send events
to data warehouses/business intelligence tools.
For instance, in Segment/analytics.js
, if I wanted to log and store for future analysis that that the currently logged in user open the app at timestamp ts
, I could write something like:
analytics.track(
{user_id: user.id,
event_type: ‘app_open’,
timestamp: ts}
)
However, contrary to the preferences and perspectives in the reference thread of two CEOs who have built fantastic analytics/modern data stack products, it appears Segment won the day:
From my perspective, here are some possible reasons why they won:
- Segment enabled both the ingest into your data warehouse and the “fan out” — e.g. the reverse ETL bit (a la Census/High Touch) — sending it back to your other SaaS tools, whereas Snowplow just puts it into your data warehouse and lets you deal with the rest (horizontal differentiation)
- Is Segment easier to implement for full-stack developers somehow — either in the JS layer or the Android/iOS SDKs? Did they launch earlier or iterate better or sooner? (stronger top-of-funnel)
- Did they somehow have better go-to-market through Y Combinator brand/aura/network? (branding/GTM)
Curious to hear your thoughts, perspectives, and opinions!
*nominally launched powered by analytics.js but explained in this interview with a Segment co-founder to not be very useful unless it’s hosted.