Web Analytics Best Practices -- Metrics, Dashboards & Reporting
In this tutorial, you'll learn about Web Analytics Best Practices. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.
Web analytics best practices help you select meaningful metrics, design dashboards that drive decisions, avoid vanity metrics, and create reports that stakeholders actually read and act on.
What You'll Learn
In this tutorial, you will learn how to define a metrics framework using the HEART and AARRR models, build action-oriented dashboards, implement data quality checks, and create weekly analytics reports that influence product and marketing decisions.
Why It Matters
Most analytics dashboards are data cemeteries -- full of charts that nobody looks at. The problem is not a lack of data but a lack of discipline. Without a metrics framework, you track everything and learn nothing. With best practices, every chart has a purpose and every metric drives a decision.
Real-World Use
DodaZIP reduced dashboard sprawl from 47 unused charts to 12 actionable metrics by applying the One Metric That Matters (OMTM) framework. The weekly analytics report now fits on one page and directly drives the engineering roadmap based on user behavior data.
Metrics Framework
flowchart TD
A[Business Goals] --> B{Select Framework}
B --> C[HEART Model]
B --> D[AARRR Pirate Metrics]
C --> E[Happiness]
C --> F[Engagement]
C --> G[Adoption]
C --> H[Retention]
C --> I[Task Success]
D --> J[Acquisition]
D --> K[Activation]
D --> L[Retention]
D --> M[Revenue]
D --> N[Referral]
Defining Actionable Metrics
Map each metric to a specific decision it influences:
const metricsFramework = {
acquisition: {
metric: "New users per week",
source: "Plausible API",
target: "+5% week-over-week",
decision: "Increase ad spend if below target",
dashboard: "marketing-overview",
},
activation: {
metric: "Signup completion rate",
source: "Custom events",
target: "> 60%",
decision: "Simplify signup flow if below target",
dashboard: "product-funnel",
},
retention: {
metric: "Day-7 return rate",
source: "PostHog",
target: "> 30%",
decision: "Improve onboarding if below target",
dashboard: "retention",
},
};
Expected behavior: Each metric is tied to a specific target, data source, decision, and dashboard location. No metric exists without a corresponding action.
Building an Action Dashboard
A good dashboard answers three questions at a glance:
-- Dashboard query: key metrics for the executive view
SELECT
date_trunc('week', event_time) AS week,
count(DISTINCT user_id) AS active_users,
count(DISTINCT CASE WHEN event_name = 'signup_complete' THEN user_id END) AS signups,
count(DISTINCT CASE WHEN event_name = 'purchase' THEN user_id END) AS purchasers,
avg(CASE WHEN event_name = 'page_view' THEN load_time_ms END) AS avg_load_time
FROM analytics_events
WHERE event_time >= now() - interval '90 days'
GROUP BY week
ORDER BY week DESC;
Expected output:
| week | active_users | signups | purchasers | avg_load_time |
|---|---|---|---|---|
| 2026-06-15 | 28450 | 1230 | 342 | 1247 |
| 2026-06-08 | 27100 | 1150 | 310 | 1280 |
| 2026-06-01 | 26200 | 1080 | 288 | 1310 |
Avoiding Vanity Metrics
Vanity metrics look impressive but do not drive decisions:
# Bad: total page views (vanity metric)
total_page_views = 45230 # Looks good, means nothing alone
# Good: page views per session (actionable metric)
pages_per_session = 4.2 # Low? Improve navigation. High? Users are engaged.
bounce_rate = 34.2 # High? Improve landing page content.
conversion_rate = 2.8 # Low? Optimize checkout flow.
Expected behavior: Vanity metrics are identified and excluded from dashboards. Every visible metric has a benchmark, a target, and an associated action if it deviates.
Dashboard Design Principles
Apply these rules to every dashboard:
1. One screen, no scrolling -- if stakeholders must scroll, they stop reading.
2. Most important metric top-left (highest eye-fixation zone).
3. Red/yellow/green thresholds on every number -- no interpretation needed.
4. Time comparison on every chart -- current period vs previous period vs year ago.
5. One KPI per panel -- never cram multiple metrics into a single visualization.
Expected behavior: Executive dashboards fit on a single screen. Each panel has a clear threshold indicator. Stakeholders can identify problems within 5 seconds of opening the dashboard.
Tool Comparison
| Feature | Plausible | PostHog | Mixpanel | Google Analytics 4 |
|---|---|---|---|---|
| Focus | Web analytics | Product analytics | Product analytics | Web + app analytics |
| Metrics framework | Page views + goals | Custom events + funnel | Events + retention | Events + explore |
| Dashboard type | Pre-built | Custom | Custom | Exploratory |
| Data ownership | Full | Full | Limited (cloud) | Google-owned |
| Free tier | 10K/mo | 1M events/mo | 20M events/mo | Unlimited |
| Report frequency | Real-time | Real-time | Real-time | Delayed 24-48h |
Common Errors
1. Dashboard Sprawl Without Governance
Teams create dashboards for every question, ending up with 50 dashboards nobody maintains. Implement a dashboard governance policy: one dashboard per team, reviewed quarterly.
2. Comparing Raw Numbers Without Normalization
Comparing total signups week-over-week ignores growth. Always normalize: signup rate (signups / visitors) instead of raw signup count.
3. Reporting Without Recommendations
A dashboard that shows numbers without context or recommended actions is a data dump. Every metric should answer "so what?" and suggest "now what?"
4. Ignoring Statistical Significance
A 2% conversion rate increase from 100 visitors is not meaningful. Always pair metrics with confidence intervals or sample sizes.
5. Over-Alerting on Noise
Setting alerts on every small fluctuation causes alert fatigue. Use statistical anomaly detection (e.g., 3-sigma deviation) instead of fixed thresholds.
Practice Questions
1. What is the difference between vanity metrics and actionable metrics? Vanity metrics look good but do not inform decisions (total page views). Actionable metrics have a target and trigger a specific action if the number moves (conversion rate, bounce rate).
2. How does the HEART framework apply to analytics dashboards? HEART maps metrics to five categories: Happiness (satisfaction), Engagement (frequency), Adoption (new users), Retention (returning users), Task Success (completion rate). Each category gets one or two dashboard panels.
3. Why should dashboards fit on one screen? Stakeholders scan dashboards in seconds. Scrolling reduces engagement and key metrics get missed. One-screen dashboards force prioritization of the most important data.
4. What is the OMTM framework? One Metric That Matters identifies the single most important metric for the current business objective. All other metrics are secondary. The OMTM changes as the business evolves.
5. Challenge: Audit your current analytics dashboards against the one-screen rule, metric-action mapping, and threshold indicators. Identify 3 vanity metrics to remove and 3 actionable metrics to add. Redesign one dashboard following the one-KPI-per-panel principle.
Mini Project
Design and build a one-screen weekly analytics report for a SaaS product. Include acquisition (new users, traffic sources), activation (signup completion rate, time to first value), retention (D7, D30 return rates), revenue (MRR, ARPU), and a single health score that combines all four categories into one number. Automate the report to generate and email every Monday at 8 AM.
Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro