Go use cases

Track Feature Usage in Go

Understand how users interact with your product

View this guide for other frameworks

The problem

You built features in your Go app you thought users would love, but you are not sure if they are actually using them. Traditional analytics tell you page views and session duration, but not whether users completed the action that matters.

Product decisions become guesswork. Should you invest more in that feature nobody seems to use? Or is it actually popular but you just cannot see it? You end up relying on user interviews and anecdotes instead of data.

The feedback loop between shipping and learning is too long. You push a feature in your Go codebase, wait weeks for enough data, and by then you have moved on to something else. You lose the connection between what you build and how it performs.

The solution

Quicklog lets you track specific feature interactions in real-time. With a simple HTTP call and a few lines of Go in your handlers, when a user exports a report, runs an analysis, or enables an integration, you see it immediately. You learn how features perform as users discover them.

This is not about tracking everything. Pick the moments that matter. The actions that indicate engagement and value. Watch them happen and build intuition about how people use your Go product.

Correlate feature usage with user segments. Do power users favor certain features? Do new users find the core value quickly? Real-time data helps you answer these questions without waiting for weekly reports.

Why track this?

  • See which features drive engagement
  • Learn how users discover functionality
  • Make product decisions with real data

Quick setup

Add tracking to your Go app:

Go
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
    "os"
)

// Using Quicklog REST API

// Track Feature Usage
func trackEvent(user User) error {
    body, _ := json.Marshal(map[string]interface{}{
        "channel":     "features",
        "event":       "feature.used",
        "description": "Describe what happened",
        "user": map[string]interface{}{
            "id":    user.ID,
            "email": user.Email,
            "name":  user.Name,
        },
        "metadata": map[string]interface{}{
            // Add relevant context here
        },
    })

    req, _ := http.NewRequest(
        "POST",
        "https://api.quicklog.io/v1/events",
        bytes.NewBuffer(body),
    )
    req.Header.Set("Authorization", "Bearer "+os.Getenv("QUICKLOG_API_KEY"))
    req.Header.Set("Content-Type", "application/json")

    _, err := http.DefaultClient.Do(req)
    return err
}

Ready to track feature usage?

Set up in under 5 minutes. See events in your dashboard instantly.