Why don't the websites track users from the server instead? Because it's "eaasier" for the site owner to just drop-in the google analytic/whatever 3rd tracker script in the head, then setting up the server to proxy the submission?
I may understand why the sites don't do analytics on their own (because it's easier to just hand to the 3rd party provider, and the site owner may not be programmer at all). However I don't see why they prefer to do the tracking from the client side.
For example, if you have a landing page and only track on the server side, you can not know the session length as you only know when the request to that page happened, but not when the user left.
I am considering to also add a server-only tracking option for for my analytics platform[0], but the data it provides will be limited by a lot. For example now you can tag users based on the actions they do (click a button, scroll on the page, encounter an error, etc.) and it's gonna be lot harder, if not impossible to track those actions on the server-side, thus user segmentation and other useful features are vastly restricted.
Also, as you mentioned, tracking server-side means that your server should be able to run the analytics platform and it might be harder to integrate analytics than simply including a JS on your pages. Imagine you have a static website, hosted for free, in that case you don't even have the option to add analytics on the server-side.
Personally, I feel the negatives of client-side tracking outweigh the benefits, in no small part because of the lack of focus on privacy that it shows. So far I've fought off their desires to put it in my product. But it is a battle - too many of the people who are not tech-savvy think client-side is the best answer.
- anti-fraud
- sales conversion verification
- bot filtering
- ads and ads network policies
- heatmaps and session recording
All above brings money/revenue to home.