{% extends "portal_base.html" %} {% block title %}Analytics · Portal{% endblock %} {% block topbar_title %}Analytics{% endblock %} {% block portal_content %}
Views (last 30 days)
{{ pageviews_last_30_days }}

Top pages

Public visits, last 30 days
{% for row in top_pages %} {% empty %} {% endfor %}
Page Visits
{{ row.path }} {{ row.count }}
No public page views in the last 30 days.
UTM landings
{{ total_visits }}
Attributed leads
{{ total_attributed }}
Top source
{{ top_source|default:"—" }}
Top campaign
{{ top_campaign|default:"—" }}

Landing volume by source

{% for row in visits_by_source|slice:":8" %}
{% empty %}
{% endfor %}

UTM landings

From ?utm_* hits
{% for row in visits_by_combo %} {% empty %} {% endfor %}
Source Medium Campaign Landings
{{ row.utm_source|default:"(direct)" }} {{ row.utm_medium|default:"—" }} {{ row.utm_campaign|default:"—" }} {{ row.count }}
No UTM landings yet. Open a public URL with ?utm_source=…

Recent landings

{% for visit in recent_visits %} {% empty %} {% endfor %}
When Path Source Campaign
{{ visit.created_at|date:"M j, g:i A" }} {{ visit.path }} {{ visit.utm_source|default:"—" }} {{ visit.utm_campaign|default:"—" }}
No visits recorded.

Lead attribution

After contact-form submit
{% for row in leads_by_combo %} {% empty %} {% endfor %}
Source Medium Campaign Leads
{{ row.utm_source|default:"(direct)" }} {{ row.utm_medium|default:"—" }} {{ row.utm_campaign|default:"—" }} {{ row.count }}
No attributed leads yet — submit the contact form after a UTM landing.
{% endblock %}