Segment has made it a no-brainer to integrate with third-party scripts and services, and has saved us from doing pointless redeploys just to change the It gives you the granularity to toggle services on different environments without having to make any code changes.
It's also a great platform for discovering SaaS products that you could add to your own – just by browsing their catalog, I've discovered tools we now currently use to augment our main product. Here are a few:
- Heap: We use Heap for our product analytics. Heap's philosophy is to gather events from multiple sources, and then organize and graph segments to form your own business insights. They have a few starter graphs like DAU and retention to help you get started.
- Hotjar: If a picture's worth a thousand words, than a video is worth 1000 * 30fps = 30k words per second. Hotjar gives us videos of user sessions so we can pinpoint problems that aren't necessarily JS exceptions – say, logical errors in a UX flow – that we'd otherwise miss.
- Bugsnag: Bugsnag has been a big help in catching run-time errors that our users encounter. Their Slack integration pings us when something goes wrong (which we can control if we want to notified on all bugs or just new bugs), and their source map uploader means that we don't have to debug minified code.
Does the Slack integration for Bugsnag ever get overwhelming? I have a Typeform slack bot that is awesome until I get 4 in less than a minute.
It can certainly get noisy – here's what we've done to help cut down on the noise:
- One channel per app, per env. This lets those interested opt-in to the notifications they want. As a front-end dev, I mute the backend channels. Also, I keep the dev envs muted – it's useful to check in when something is going wrong, but I don't need to be proactively alerted, since I'm probably tinkering with what's going wrong anyway.
- Configure granularity. Bugsnag has really good granular settings, so you can choose the frequency of your notifications. We have ours set to only ping us in Slack if the bug is new, or if a fixed bug has been re-opened (regression).