repos
/ orchard main

orchard

mirror

Every site I host, in one repo, along with the Cloudflare Tunnel and Caddy that front them. It's all Go, Vite, and SQLite, and it runs on a desktop at home with nothing listening on an inbound port.

blogbuncaddycloudflare-tunneldockergogolanghomelabhtml-templatemonorepoself-hostedseosqlitestatic-sitetypstuptime-monitoringviteweb-analytics

2.9 KB · 124 lines · markdown Raw History
  1# {{ $.Property.Name }}
  2
  3**Property ID:** `{{ $.Property.ID }}`
  4**Operator:** operator
  5**Date range:** {{ $.Dash.DateStart }} → {{ $.Dash.DateEnd }} ({{ $.Dash.DateRange }} days){{ if $.Dash.FilterURL }}
  6**Filter · url:** `{{ $.Dash.FilterURL }}`{{ end }}
  7**Generated:** {{ $.ReportedAt }}
  8**Live users (last 30m):** {{ $.Dash.LiveUsers }}
  9
 10---
 11
 12## Metrics · period vs previous
 13
 14| Metric | Value | Change |
 15|---|---|---|
 16{{ range $.Dash.EventCards }}| {{ .Name }} | `{{ .Value }}` | {{ if gt .PercentChange 0 }}+{{ end }}{{ .PercentChange }}% |
 17{{ end }}
 18
 19## Events over time
 20
 21| Date | Count |
 22|---|---|
 23{{ range $.Dash.Graph }}| {{ .Label }} | {{ .Count }} |
 24{{ end }}
 25
 26{{ if $.Dash.PageViewsByPageURL }}## Top pages · page views
 27
 28| URL | Views |
 29|---|---|
 30{{ range $.Dash.PageViewsByPageURL }}| `{{ .Label }}` | {{ .Count }} |
 31{{ end }}
 32{{ end }}
 33{{ if $.Dash.ByPageURL }}## Top pages · all events
 34
 35| URL | Events |
 36|---|---|
 37{{ range $.Dash.ByPageURL }}| `{{ .Label }}` | {{ .Count }} |
 38{{ end }}
 39{{ end }}
 40{{ if $.Dash.SessionsByReferrer }}## Top referrers
 41
 42| Referrer | Sessions |
 43|---|---|
 44{{ range $.Dash.SessionsByReferrer }}| `{{ .Label }}` | {{ .Count }} |
 45{{ end }}
 46{{ end }}
 47{{ if $.Dash.ByCustomEvent }}## Top custom events
 48
 49| Event | Count |
 50|---|---|
 51{{ range $.Dash.ByCustomEvent }}| `{{ .Label }}` | {{ .Count }} |
 52{{ end }}
 53{{ end }}
 54{{ if $.Dash.ByDevice }}## Device
 55
 56| Device | Events |
 57|---|---|
 58{{ range $.Dash.ByDevice }}| {{ .Label }} | {{ .Count }} |
 59{{ end }}
 60{{ end }}
 61{{ if $.Dash.ByBrowser }}## Browser
 62
 63| Browser | Events |
 64|---|---|
 65{{ range $.Dash.ByBrowser }}| {{ .Label }} | {{ .Count }} |
 66{{ end }}
 67{{ end }}
 68{{ if $.Dash.ByPlatform }}## Platform
 69
 70| Platform | Events |
 71|---|---|
 72{{ range $.Dash.ByPlatform }}| {{ .Label }} | {{ .Count }} |
 73{{ end }}
 74{{ end }}
 75{{ if $.Dash.ByScreenSize }}## Screen size
 76
 77| Size | Events |
 78|---|---|
 79{{ range $.Dash.ByScreenSize }}| {{ .Label }} | {{ .Count }} |
 80{{ end }}
 81{{ end }}
 82{{ if $.Dash.PageViewsByUTMSource }}## UTM source
 83
 84| Source | Views |
 85|---|---|
 86{{ range $.Dash.PageViewsByUTMSource }}| `{{ .Label }}` | {{ .Count }} |
 87{{ end }}
 88{{ end }}
 89{{ if $.Dash.PageViewsByUTMMedium }}## UTM medium
 90
 91| Medium | Views |
 92|---|---|
 93{{ range $.Dash.PageViewsByUTMMedium }}| `{{ .Label }}` | {{ .Count }} |
 94{{ end }}
 95{{ end }}
 96{{ if $.Dash.PageViewsByUTMCampaig }}## UTM campaign
 97
 98| Campaign | Views |
 99|---|---|
100{{ range $.Dash.PageViewsByUTMCampaig }}| `{{ .Label }}` | {{ .Count }} |
101{{ end }}
102{{ end }}
103{{ if $.Dash.Bots.Total }}## Bot traffic (excluded from metrics above)
104
105**Total bot events:** {{ $.Dash.Bots.Total }}
106{{ if $.Dash.Bots.TopBots }}
107| Bot | Events |
108|---|---|
109{{ range $.Dash.Bots.TopBots }}| {{ .Label }} | {{ .Count }} |
110{{ end }}
111{{ end }}
112{{ if $.Dash.Bots.TopPages }}
113### Top pages hit by bots
114
115| URL | Events |
116|---|---|
117{{ range $.Dash.Bots.TopPages }}| `{{ .Label }}` | {{ .Count }} |
118{{ end }}
119{{ end }}
120{{ end }}
121---
122
123_Report generated by Analytics, self-hosted website analytics._