Core Features

Analytics

Track form views, starts, and submissions with completion metrics.

FilaForms tracks form engagement through analytics events. Requires the ANALYTICS feature flag (enabled by default). Events are deduplicated per session to ensure accurate counts.

Tracked Metrics

MetricDescription
ViewsUnique sessions that loaded the form
StartsUnique sessions that began filling the form (first field interaction)
SubmissionsUnique sessions that completed and submitted the form
Completion Rate(submissions / starts) x 100%
Avg Time to CompleteAverage duration from first interaction to submission (seconds)

Session Fingerprinting

Each visitor gets a session fingerprint generated using an xxh64 hash. For authenticated users, the session ID is hashed. For anonymous visitors, the IP address and User Agent string are combined and hashed.

Only one event per session per event type is recorded. This prevents duplicate counting from page refreshes or repeated interactions.

Events Table

Events are stored in the form_events table:

ColumnTypeDescription
idULIDPrimary key
form_idForeign keyThe form this event belongs to
eventStringEvent type: view, start, or submit
session_fingerprintStringHashed visitor identifier
created_atTimestampWhen the event occurred

Accessing Analytics

Form Summary

Usage
$analytics = $form->getAnalytics();

// Returns:
// [
//     'views' => 1250,
//     'starts' => 840,
//     'submissions' => 620,
//     'completion_rate' => 73.8,
//     'avg_time_to_complete' => 45,
// ]
Usage
use FilaForms\Core\Models\FormEvent;

$trends = FormEvent::getDailyAnalytics($formId, days: 30);

Returns a 30-day rolling window of daily event counts grouped by date and event type. Useful for rendering charts showing form performance over time.

Submission Statistics

Usage
use FilaForms\Core\Actions\GetFormSubmissionStatsAction;

$stats = app(GetFormSubmissionStatsAction::class)->execute($form);

// Returns:
// [
//     'total' => 620,
//     'today' => 12,
//     'this_week' => 84,
//     'this_month' => 310,
//     'average_per_day' => 20.7,
//     'latest' => '2026-03-06T14:22:00+00:00',
// ]

Dashboard

Analytics are displayed on the form's view page in the admin panel. The dashboard shows a funnel visualization (views to starts to submissions) and submission statistics including totals, averages, and recent activity.

Daily trend data uses a 30-day rolling window. Older events remain in the database but are not included in the trend charts.
Copyright © 2026