This is a bit complicated as there are benefits and drawbacks to tracking on either one. Here are the pros/cons of both:
So we actually record events on both client-side and server-side. If they're events that we want 100% accuracy, we do it server-side. If it's one we're okay with it being off by some amount, or if we want our ad channels to get the data, we'll do it client-side.
For events we want 100% accuracy and have ad channels see them (like Purchases), we'll create two versions. Purchase and Purchase β FE (front-end, aka client-side). That way we can get both.
Hint: Segment makes tracking a ton of events for a variety of different tools on both client-side and server-side (and with multiple domains/sites) a lot easier and cleaner. We've struck up a deal with them to get startups in our community $50k in credits. To learn more, check out demandcurve.com/segment.