{% extends "portal_base.html" %} {% block title %}Analytics · Portal{% endblock %} {% block topbar_title %}Analytics{% endblock %} {% block portal_content %}
Views (last 30 days)
{{ visits_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 %}