Skip to content
LogZuno

Product analytics6 min readUpdated

Product analytics best practices that hold up over time

Start from questions, name events for people, send them from the server, keep properties consistent and prune what nobody uses.

Product analytics best practices are mostly about restraint. Most teams don't fail at analytics because they lack data; they fail because they collected everything, named it inconsistently, built forty dashboards and still argue about what "active" means. The practices below keep the setup small, trustworthy and tied to decisions.

They apply whatever tool you use. Where it helps, we show how each one works in LogZuno.

1. Start from decisions, not from data

Before you write a line of tracking code, list the five decisions your team will make in the next quarter. For example:

  • Should we rebuild onboarding, or is the drop-off somewhere else?
  • Is the new reporting feature worth more investment?
  • Which plan should we push in the trial emails?

For each decision, write the one number that would change your mind. Those numbers define your first charts, and the charts define the events you need. Everything else can wait.

This sounds obvious, yet "track everything and figure it out later" is still the most common setup. It produces thousands of events nobody trusts. If you're starting from zero, what is product analytics covers the basics first.

2. Keep a written tracking plan

A tracking plan is a short document, or a spreadsheet, listing every event, what it means, when it fires, its properties and who owns it. It's the single most effective practice on this list, because it turns tracking from tribal knowledge into something you can review.

EventFires whenPropertiesOwner
Signed upAccount created and email verifiedplan, sourceGrowth
Created projectFirst save of a new projecttemplateProduct
Invited teammateInvitation sentroleProduct
Payment receivedStripe webhook confirms paymentplan, amount, currencyBilling

Review it in the same pull request that adds the tracking code. Our event tracking examples give starting plans for several kinds of business.

3. Name events as past-tense actions

Use the form Object verb-ed: Project created, or Verb-ed object: Created project. Pick one and stick to it. Avoid names that describe the interface (blue_button_click), because the button will move and the name will lie.

Use properties for variation. One Feature used event with a feature property is far easier to analyse than forty separate events, and it gives you feature adoption for every feature with a single breakdown.

4. Send the events that matter from your backend

Browser tracking is convenient but lossy: ad blockers, closed tabs and flaky networks all drop events. For anything you'll make decisions on, such as sign-ups, payments, cancellations and key product actions, send the event from your server, after the action succeeds.

Server-side events are also more truthful. A Payment received event sent from your payment webhook means money arrived. The same event sent from a "Pay" button click only means someone pressed a button. LogZuno takes events over plain HTTP from any language; the docs have tested examples.

5. Identify users early, and add accounts for B2B

Call identify as soon as a person signs in, so events before and after sign-up join into one profile. If you sell to companies, send a group (account) ID with every event. Without it you can count users, but not the thing you actually bill: active accounts. See groups.

6. Define each metric once

"Active user" can mean anyone who logged in, anyone who did anything, or anyone who did the one thing your product is for. All three are valid. Having all three on different dashboards isn't.

Write each definition down, put it next to the chart, and use the same definition in every report. In LogZuno, dashboard notes sit beside the charts they define. The glossary entries for active users and activation rate explain the common choices.

7. Measure funnels per person, in order

A funnel that divides the count of step 3 by the count of step 1 includes people who reached step 3 without doing step 1, and people who did step 3 months later. The result looks better than reality.

A correct funnel follows each person through the steps in order, within a conversion window you choose. That's the only version that tells you where people get stuck. If your current tool can't do this, it's worth knowing before you trust your activation rate.

8. Look at retention by cohort

Overall retention mixes old and new users and hides change. Cohort retention groups people by when they started and shows what share came back in each later week. If newer cohorts retain better than older ones, your product is improving. Read more about cohort analysis and SaaS customer retention.

9. Prefer actionable metrics to impressive ones

Total sign-ups since launch only goes up. It feels good and decides nothing. Weekly activation rate can go down, and when it does, you know where to look. Our guide to vanity metrics vs actionable metrics has more examples of the difference.

10. Keep dashboards few and owned

One dashboard per team, with five to eight tiles, reviewed on a schedule by the people who own the numbers. Every extra dashboard dilutes attention. Delete charts that nobody opened in a month. Dashboards in LogZuno share one date range and filter across all tiles, so a team reads its numbers the same way.

11. Get told, don't go looking

The most useful number is the one you see when it changes. Set threshold alerts on your key metrics and instant alerts on events that need a human, such as a failed payment or a spike in errors. You'll catch a broken release in an hour instead of at the monthly review. See alerts.

12. Audit the data every quarter

Once a quarter, compare event counts with their source of truth: sign-ups against your user table, payments against your payment provider. Look for events that stopped firing, properties that changed type and duplicates. Ten minutes of auditing protects every decision downstream.

Common anti-patterns to avoid

  • The ownerless event. Nobody knows who added it or what it means, so nobody trusts it. Every event in the plan has an owner.
  • The silent rename. An event is renamed in code and the old charts quietly go to zero. Rename in the plan first, then migrate dashboards.
  • The bot-inflated funnel. Automated browsers enter the top of a web funnel and never convert, so conversion looks worse than it is. Count people, not page loads; see web analytics.
  • The dashboard nobody opens. If no one would notice it was gone, delete it.

Putting the practices together

A sensible first month looks like this:

  1. Week 1: write the decision list and the tracking plan; send five to ten backend events.
  2. Week 2: identify users and accounts; build the activation funnel.
  3. Week 3: add weekly retention and one team dashboard with written definitions.
  4. Week 4: set alerts on the three numbers you'd act on fastest; audit the data.

LogZuno is built around this workflow: a live event feed to check tracking as you add it, per-user funnels, cohort retention, dashboards with notes, and alerts to six kinds of destination. If you lead a product team, see LogZuno for product teams, or compare product analytics tools first.

Key takeaways

  • Start from decisions and keep a written tracking plan.
  • Send important events from your backend, name them as actions, and identify users and accounts.
  • Define metrics once, measure funnels per person and retention by cohort.
  • Keep dashboards few, set alerts, and audit the data quarterly.

Send your first event today.

7 days free on any plan, up to 500 events. Then from $17 a month. Cancel during the trial and you pay nothing.