It's a question rather of personal opinion, but I can tell you two ways you have to monitor the web and your API simply.
If you do not want to depend on third-party services.
The best solution would be to record the events that take place in a database, which you can easily return in your own dashboard.
This service would be very useful when it comes to knowing data in real time, retention of users, where your users are from, etc.
Now GA has an API, with which we can create a Dashboard with the data that GA gives us about our website, although I only recommend it to be used on the web and not with the API, since in the api you make calls of all kinds, GET, POST, OPTIONS, PUT, DELETE.
Summing up
A good practice would be to use Google Analytics for web data, and to record events when users make calls to the API, for example, when you receive the call to the server, you can create an Middleware that is in charge of registering that event that has received the API , with values like, the headers, the body, the query, all this of the method req that you would receive.
Middleware that collects the call data
app.use('*', (req,res,next) => {
console.log(req.method);
guardarEnBD(req.method, req.headers, req.body)
.then((data)=> {
next()
})
}