Published on July 3, 2022

Track user sign in events in Go

Track user sign in events in Go

Most of the time, when building a Go 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 Go 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 Go product.

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


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.

Go code snippets

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

Using Go with Native
package main

import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)

func main() {

url := "https://api.logsnag.com/v1/log"
method := "POST"

payload := strings.NewReader(`{"project":"my-saas","channel":"auth","event":"User Signed In","description":"email: john@doe.com","icon":"🔓","notify":true}`)

client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)

if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer YOUR_API_TOKEN")

res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()

body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}

Go integration details

LogSnag is a simple event tracking tool that works seamlessly with Go and makes it easy to track almost anything in your Go 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 Go application
  2. Monitor your CPU usage in your Go application
  3. Monitor when database goes down in your Go application
  4. Monitor high disk usage in your Go application
  5. Monitor when a user changes their email address in your Go application
  6. Monitor failed logins in your Go application
  7. Monitor failed payments for your Go application
  8. Monitor memory usage in your Go application
  9. Monitor MySQL downtime in your Go application
  10. Monitor when a new feature is used in your Go application
  11. Monitor your Postgres downtime in your Go application
  12. Monitor Redis downtime in your Go application
  13. Monitor suspicious activity in your Go application
  14. Monitor when a user exceeds the usage limit for your Go service
  15. Monitor when a user is being rate limited in your Go application
  16. Get a notification when your Go code is done executing
  17. Send push notifications to your phone or desktop using Go
  18. Track canceled subscriptions in your Go application
  19. Track your Go cron jobs
  20. Track when a file is uploaded to your Go application
  21. Track when a form is submitted to your Go application
  22. Track payment events via Go
  23. Track user signup events via Go
  24. Track waitlist signup events via Go
View all common use-cases with Go