Les vues
Tout ce que lit eodia insights est dans le schéma analytics de la base. Il ne contient que
des vues, en lecture seule pour le rôle eodia_analytics. Trois règles :
- chaque vue porte
site_id: la règle de ligne d’insights s’y accroche, pour qu’un tableau de bord ne montre qu’un site ; - chaque vue et chaque colonne a son commentaire, en français : insights les lit et les affiche dans son écran Structure et dans le contexte de son assistant IA ;
- on n’y trouve ni adresse IP, ni secret, ni personne au sens d’un compte de l’application.
Les jours et les heures (day, hour) sont dans le fuseau horaire du site. Les types sont
lisibles par le connecteur PostgreSQL de Trino : pas de tableaux, jsonb lu en json.
L’audience
Section intitulée « L’audience »page_views
Section intitulée « page_views »Une ligne par page affichée, y compris les changements d’adresse sans rechargement. La campagne et le canal sont ceux de la visite.
| Colonne | Contenu |
|---|---|
at, day, hour | l’instant ; le jour et l’heure dans le fuseau du site |
page_view_id, session_id | la page vue, la visite |
visitor_id, visitor_kind | le visiteur : hachage du jour (daily), cookie de mesure (cookie), ou aucun (none) |
new_visitor | avec un cookie : vrai le jour de sa création, faux ensuite ; vide sans cookie |
user_id, person | le visiteur connecté, rapproché sur toute la visite ; la personne à compter |
entry | vrai pour la page d’entrée de la visite |
hostname, path, title | la page, sans requête |
referrer_host | le site référent externe |
source, medium, campaign, term, content, channel | la campagne et le canal de la visite |
click_id_type | le type d’identifiant de clic (gclid, fbclid…), jamais sa valeur |
country, device, browser, os, language, viewport_width | le pays (ISO 3166), l’appareil, le navigateur, le système, la langue, la largeur de fenêtre |
engaged_seconds, scroll_depth | le temps d’engagement, la profondeur de défilement (%) |
via | script (navigateur) ou server (collecte côté serveur) |
sessions
Section intitulée « sessions »Une ligne par visite. Une visite se termine après 30 minutes d’inactivité, ou quand une page arrive avec une autre campagne ou d’un autre site référent.
| Colonne | Contenu |
|---|---|
started_at, ended_at, day, hour | le début, la dernière activité |
duration_seconds, engaged_seconds | la durée, le temps d’engagement cumulé |
visitor_id, visitor_kind, new_visitor, user_id, person | le visiteur et la personne |
page_views, events | le nombre de pages vues et d’événements |
conversions, conversion_value | les objectifs atteints et leur valeur |
engaged, bounce | visite engagée comme dans GA4 (10 s d’engagement, 2 pages vues ou une conversion) ; rebond sinon |
entry_path, exit_path | les pages d’entrée et de sortie |
referrer_host, source, medium, campaign, term, content, channel, click_id_type | l’origine de la visite |
country, device, browser, os, language | le visiteur |
events et event_properties
Section intitulée « events et event_properties »events : une ligne par événement — track, mesures automatiques, commerce en ligne, envois du
serveur.
| Colonne | Contenu |
|---|---|
at, day, event_id | l’instant, le jour, l’événement |
name, label, declared | le nom ; le libellé et vrai si l’événement est déclaré |
page_view_id, session_id, path | la page et la visite |
visitor_id, visitor_kind, user_id, person | le visiteur et la personne |
props | les propriétés, en JSON (items compris) |
via | script ou server |
event_properties met les propriétés à plat : une ligne par événement et par propriété —
event, property, type, et une colonne par type : value_text, value_number,
value_boolean, value_time.
evt_<nom>
Section intitulée « evt_<nom> »Générées : une vue par événement déclaré, analytics.evt_newsletter_signup,
analytics.evt_purchase… Elles reprennent les colonnes communes (site_id, at, day,
event_id, session_id, page_view_id, visitor_id, user_id, person, path, via) et
ajoutent une colonne typée par propriété déclarée, avec son libellé et sa description en
commentaire. Elles sont régénérées à chaque changement des métadonnées.
SELECT placement, count(*) AS inscriptionsFROM analytics.evt_newsletter_signupWHERE day >= current_date - INTERVAL '30' DAYGROUP BY placementLes objectifs et le commerce
Section intitulée « Les objectifs et le commerce »| Vue | Une ligne par | Colonnes principales |
|---|---|---|
conversions | objectif atteint et visite | goal_id, goal, conversion_id, session_id, person, path, value |
purchases | commande ou remboursement (dédoublonné sur transaction_id) | kind, transaction_id, value (négatif pour un remboursement), currency, tax, shipping, coupon, items, session_id, person, received, confirmed |
commerce_items | article et étape | step, transaction_id, item_id, item_name, category, brand, variant, price, quantity, revenue, currency, position |
Voir le commerce en ligne.
Le parcours et l’attribution
Section intitulée « Le parcours et l’attribution »| Vue | Une ligne par | Colonnes principales |
|---|---|---|
touchpoints | visite d’une personne, dans l’ordre | person, session_id, started_at, rank, channel, source, medium, campaign |
attribution | conversion, visite et modèle | model, conversion_kind, conversion, converted_at, session_id, touchpoint, touchpoints, channel, credit, value, days_before |
Voir l’attribution.
Les clics et les zones
Section intitulée « Les clics et les zones »| Vue | Une ligne par | Colonnes principales |
|---|---|---|
clicks | clic | page_view_id, path, selector, zone, x, y (0 à 1 dans l’élément), viewport_width, device |
zone_views | zone et page vue | zone, label, visible_seconds, seen (visible au moins une seconde) |
Voir les zones.
Les repères et les métadonnées
Section intitulée « Les repères et les métadonnées »| Vue | Contenu |
|---|---|
sites | les sites : name, key, domains, timezone, tracking_mode, identified_visitors, attribution_days, created_at, archived — pour afficher des noms |
annotations | les annotations, une ligne par site |
cls_<nom> | générées : les classifications importées, key et une colonne par attribut |
event_definitions | les événements déclarés : name, label, description, system, properties |
zones | les zones déclarées : zone, label, description |
goals | les objectifs : name, kind (page ou event), path_pattern, event_name, value_mode, value |
channels | les canaux dans l’ordre de leurs règles : position, channel, description |
Quelques requêtes
Section intitulée « Quelques requêtes »-- Visites et taux de rebond par canal, ce mois-ciSELECT channel, count(*) AS visites, avg(CASE WHEN bounce THEN 1.0 ELSE 0 END) AS rebondFROM analytics.sessionsWHERE day >= date_trunc('month', current_date)GROUP BY channelORDER BY visites DESC-- Personnes uniques par semaine (cookie ou identité rapprochée)SELECT date_trunc('week', day) AS semaine, count(DISTINCT person) AS personnesFROM analytics.sessionsWHERE visitor_kind = 'cookie'GROUP BY 1ORDER BY 1eodia analytics est un logiciel libre d’Eodia.