If it's a server on the internet that browsers connect to (like a standard web app), it already knows all the connecting IPs from the HTTP requests.
If it's some sort of wrapper running Node locally on client computers, well, presumably it would communicate with your server anyway (or else what good are the analytics)? In that case your server would still have their IP address.
You don't need to use a third party like whatismyip.com unless for some reason you didn't want your server involved at all, you just want to find their public IP and then store it locally (for some reason) on that same computer. Hard to imagine why you'd do that unless you're building some sort of malware or long-term user tracking.