Published on July 3, 2022

Track user sign in events in NodeJs

Track user sign in events in NodeJs

Most of the time, when building a NodeJs product that requires users to authenticate and sign in to access the product, you may decide that it is essential to track the sign-in attempts.

Monitoring the sign-in events is an excellent way to track the number of users who continue to log in and use your NodeJs application. This is a great way to gauge the effectiveness of your product and measure your user retention rate.

A good understanding of this metric is critical to the success of a product. It can give you great insight into how your business grows and how your users interact with your NodeJs product.

An easy way to set up event tracking is to use LogSnag, a simple event tracking tool that works seamlessly with NodeJs.


Start monitoring user sign-in events

  1. Sign up for a free LogSnag account.
  2. Create your first project from the dashboard.
  3. Head to settings and copy your API token.

NodeJs code snippets

All you have to do next is to copy the following code snippets into your NodeJs code and replace the YOUR_API_TOKEN and project values with your API token and project name.

Using NodeJs with Axios
const axios = require('axios');
let data = JSON.stringify({
"project": "my-saas",
"channel": "auth",
"event": "User Signed In",
"description": "email: john@doe.com",
"icon": "🔓",
"notify": true
});

let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.logsnag.com/v1/log',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
},
data : data
};

axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Using NodeJs with Native
var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
'method': 'POST',
'hostname': 'api.logsnag.com',
'path': '/v1/log',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
},
'maxRedirects': 20
};

var req = https.request(options, function (res) {
var chunks = [];

res.on("data", function (chunk) {
chunks.push(chunk);
});

res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});

res.on("error", function (error) {
console.error(error);
});
});

var postData = JSON.stringify({
"project": "my-saas",
"channel": "auth",
"event": "User Signed In",
"description": "email: john@doe.com",
"icon": "🔓",
"notify": true
});

req.write(postData);

req.end();
Using NodeJs with Request
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.logsnag.com/v1/log',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
},
body: JSON.stringify({
"project": "my-saas",
"channel": "auth",
"event": "User Signed In",
"description": "email: john@doe.com",
"icon": "🔓",
"notify": true
})

};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
Using NodeJs with Unirest
var unirest = require('unirest');
var req = unirest('POST', 'https://api.logsnag.com/v1/log')
.headers({
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_TOKEN'
})
.send(JSON.stringify({
"project": "my-saas",
"channel": "auth",
"event": "User Signed In",
"description": "email: john@doe.com",
"icon": "🔓",
"notify": true
}))
.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.raw_body);
});

NodeJs integration details

LogSnag is a simple event tracking tool that works seamlessly with NodeJs and makes it easy to track almost anything in your NodeJs code.

LogSnag allows you to track your important events in real-time and create timelines of your events. It also makes it easy to create custom metrics and charts such as the number of sign-in attempts per day, the conversion funnels for users who sign up and sign in, and other such metrics.

You may also create simple or complex user journeys for tracking and monitoring individual user journeys through your product.

LogSnag is also available on desktop, mac, iOS, and Android and allows you to receive real-time updates and push notifications when your users sign in, sign out, or use your product.

Other use-cases for LogSnag

  1. Monitor your CI/CD build status for your NodeJs application
  2. Monitor your CPU usage in your NodeJs application
  3. Monitor when database goes down in your NodeJs application
  4. Monitor high disk usage in your NodeJs application
  5. Monitor when a user changes their email address in your NodeJs application
  6. Monitor failed logins in your NodeJs application
  7. Monitor failed payments for your NodeJs application
  8. Monitor memory usage in your NodeJs application
  9. Monitor MySQL downtime in your NodeJs application
  10. Monitor when a new feature is used in your NodeJs application
  11. Monitor your Postgres downtime in your NodeJs application
  12. Monitor Redis downtime in your NodeJs application
  13. Monitor suspicious activity in your NodeJs application
  14. Monitor when a user exceeds the usage limit for your NodeJs service
  15. Monitor when a user is being rate limited in your NodeJs application
  16. Get a notification when your NodeJs code is done executing
  17. Send push notifications to your phone or desktop using NodeJs
  18. Track canceled subscriptions in your NodeJs application
  19. Track your NodeJs cron jobs
  20. Track when a file is uploaded to your NodeJs application
  21. Track when a form is submitted to your NodeJs application
  22. Track payment events via NodeJs
  23. Track user signup events via NodeJs
  24. Track waitlist signup events via NodeJs
View all common use-cases with NodeJs