{% extends 'admin/stats/_layout.html.twig' %} {% set stats_route_name = 'admin_stats_acquisition' %} {% block stats_title %}Acquisition{% endblock %} {% block stats_help_title %}Acquisition{% endblock %} {% block stats_help_content %}

Acquisition

Cette page repond a la question : d'ou viennent vos visiteurs ?

Sources de trafic — repartition entre Google (SEO), acces direct, reseaux sociaux, sites referents, emails et campagnes payantes.

Appareils — repartition mobile / desktop / tablette. Si la majorite de vos visiteurs sont sur mobile, verifiez que votre site s'affiche bien sur petit ecran.

Heatmap — quand vos visiteurs sont actifs (jour de la semaine + heure). Publiez vos contenus pendant les pics d'audience.

Pages d'entree — les premieres pages vues par vos visiteurs. Ce sont vos "portes d'entree" : elles doivent donner envie d'explorer plus loin.

{% endblock %} {% block stats_content %}
{# --- Donut sources --- #}

Sources de trafic

{% if sources|length > 0 %} {% else %}

Pas encore de donnees.

{% endif %}
{# --- Tableau sources detail --- #}

Detail des sources

{% set total = sources|reduce((carry, s) => carry + s.cnt, 0) %} {% for s in sources %}
{{ s.source|replace({'_': ' '})|capitalize }}
{{ s.cnt }} ({{ total > 0 ? (s.cnt / total * 100)|round(1) : 0 }}%)
{% endfor %}
{# --- Repartition appareils --- #}

Appareils

{% if devices|length > 0 %} {% else %}

Pas encore de donnees.

{% endif %}

Detail par appareil

{% set devTotal = devices|reduce((c, d) => c + d.cnt, 0) %} {% set deviceLabels = { desktop: 'Desktop', mobile: 'Mobile', tablet: 'Tablette', unknown: 'Inconnu' } %} {% set deviceIcons = { desktop: 'fa-desktop', mobile: 'fa-mobile-screen-button', tablet: 'fa-tablet-screen-button', unknown: 'fa-question' } %} {% for d in devices %}
{{ deviceLabels[d.device_type] ?? d.device_type }}
{{ d.cnt }} ({{ devTotal > 0 ? (d.cnt / devTotal * 100)|round(1) : 0 }}%)
{% endfor %}
{# --- Heatmap temporel --- #}

Activite par jour et heure

{% if heatmap.max > 0 %}
{% for h in heatmap.hours %}
{{ h }}
{% endfor %}
{% for dayIdx, dayLabel in heatmap.days %}
{{ dayLabel }}
{% for hour in heatmap.hours %} {% set val = heatmap.grid[dayIdx][hour] %} {% set intensity = heatmap.max > 0 ? (val / heatmap.max) : 0 %}
{% if val > 0 %}{{ val }}{% endif %}
{% endfor %}
{% endfor %}
Faible
Fort
{% else %}

Pas encore de donnees.

{% endif %}
{# --- Top pages d'entree --- #}

Pages d'entree

{% if landingPages|length > 0 %} {% for lp in landingPages %} {% endfor %}
Page Sessions
{{ lp.landing_page }} {{ lp.cnt }}
{% else %}

Aucune donnee.

{% endif %}
{% endblock %}