Know where your leads come from — without sacrificing their privacy.
Lead Insights automatically captures UTM parameters, referrers, and landing pages from your visitors and attaches them to Statamic form submissions. See which campaigns, sources, and pages drive real conversions — right from your Control Panel dashboard.
No database required. No third-party scripts. No cookies without consent.
Features
- Automatic UTM capture (source, medium, campaign, term, content)
- Referrer and landing page tracking
- Attribution data attached to every form submission
- Dashboard widgets with lead counts and share percentages
- First-party cookie with configurable TTL
- Consent-gated by default (EU-first)
- Works with any cookie-based consent management platform
- Flat-file storage — no database migrations, no external services
- Available in English, German, and Dutch
Free vs Pro
| Feature | Free | Pro |
|---|---|---|
| UTM capture & form enrichment | ✓ | ✓ |
| Consent gating (EU-first) | ✓ | ✓ |
| Configurable cookie & attribution key | ✓ | ✓ |
| Leads by Source widget | ✓ | ✓ |
| Leads by Campaign widget | ✓ | |
| Leads by Form widget | ✓ | |
| Form → Source Breakdown widget | ✓ | |
| CSV export | ✓ | |
| Data retention & prune command | ✓ | |
| First-touch + last-touch attribution | ✓ |
Installation
composer require isapp/statamic-lead-insights
The addon registers automatically via Statamic's addon discovery.
How It Works
1. Capture — A lightweight middleware reads UTM parameters, the referrer, and the landing URL on every page visit. If consent is given, it stores the data in a first-party cookie.
2. Enrich — When a visitor submits a Statamic form, the attribution payload is automatically attached to the submission. No form changes needed.
3. Visualize — Dashboard widgets show which sources, campaigns, and forms drive the most leads. Export the data as CSV for deeper analysis.
Configuration
All settings are managed in the Control Panel under Addons → Lead Insights.
General
| Setting | Default | Description |
|---|---|---|
enabled |
true |
Enable or disable the addon globally |
attribution_key |
__attribution |
Key used to store attribution data on submissions |
cookie_name |
lead_insights_attribution |
Name of the first-party cookie |
cookie_ttl_days |
30 |
Days the attribution cookie persists |
Consent / GDPR
| Setting | Default | Description |
|---|---|---|
consent_required |
true |
Require consent before storing cookies |
consent_cookie_name |
— | Cookie name to check for marketing consent |
consent_cookie_value |
— | Expected value (empty = presence check only) |
store_landing_without_consent |
true |
Store landing URL even without consent |
store_referrer_without_consent |
false |
Store referrer without consent |
Reporting
| Setting | Default | Description |
|---|---|---|
top_n |
10 |
Maximum rows shown in dashboard widgets |
default_date_range_days |
30 |
Default date range for widgets |
Retention (Pro)
| Setting | Default | Description |
|---|---|---|
retention_days |
365 |
Days to keep attribution data before pruning |
prune_schedule_enabled |
false |
Enable automatic scheduled pruning |
prune_schedule_frequency |
daily |
How often to prune: daily, weekly, or monthly |
prune_schedule_time |
02:00 |
Time of day to run (HH:MM, 24-hour format) |
Widgets
Widgets are registered automatically but need to be added to your dashboard. Add them in config/statamic/cp.php:
'widgets' => [ ['type' => 'leads_by_source', 'width' => 50], ['type' => 'leads_by_campaign', 'width' => 50], ['type' => 'leads_by_form', 'width' => 50], ['type' => 'form_source_breakdown', 'width' => 50, 'form' => 'contact'],],
Leads by Source (Free)
Groups form submissions by utm_source — see which traffic sources generate the most leads.
Leads by Campaign (Pro)
Groups submissions by utm_campaign — measure which campaigns convert.
Leads by Form (Pro)
Groups submissions by form handle — find out which forms get the most attributed leads.
Form → Source Breakdown (Pro)
Select a specific form and see a per-source breakdown. Configure the form handle in widget settings.
All widgets display a table with Label, Leads, and Share % columns, filtered by the configured date range.
CSV Export (Pro)
Export any widget's data as a CSV file. Available export types:
source— Leads by sourcecampaign— Leads by campaignform— Leads by formform_source— Source breakdown for a specific form
Access exports from the Control Panel or via:
GET /cp/lead-insights/export?type=source&days=30
Requires the Export Lead Insights permission.
Data Retention (Pro)
Remove old attribution data while keeping form submissions intact:
php artisan lead-insights:prune
This strips the __attribution key from submissions older than the configured retention_days (default: 365). The submissions themselves are preserved.
Override the retention period per run:
php artisan lead-insights:prune --days=90
Automatic scheduling
Enable automatic pruning in Addons → Lead Insights → Retention. Choose a frequency (daily, weekly, or monthly) and a time of day. The addon registers the schedule automatically — no changes to routes/console.php needed.
Make sure php artisan schedule:run is set up in your server's crontab.
Privacy & GDPR
Lead Insights is designed EU-first. Consent is required by default — no cookie is set and no UTM data is stored until consent is detected.
What is NOT collected
- IP addresses
- User-agent strings
- Browser fingerprints
- Click IDs (gclid, fbclid, etc.)
- Cross-site or third-party tracking data
Cookie properties
- First-party only
SameSite=LaxSecureon HTTPSHttpOnly- Configurable name and TTL
Consent integration
Lead Insights works with any cookie-based consent management platform (Cookiebot, CookieYes, Complianz, etc.). Configure the consent cookie name and expected value in settings. No built-in consent banner — it respects your existing setup.
Without consent
When consent_required is true (default) and no consent is detected:
- No cookie is set
- No UTM parameters are stored
- Only the landing URL and timestamp are attached at form submission time (configurable)
Permissions
| Permission | Edition | Description |
|---|---|---|
| View Lead Insights | Free + Pro | Access dashboard widgets |
| Export Lead Insights | Pro | Download CSV exports |
Assign permissions to roles in CP → Users → Roles.
Requirements
- Statamic 6
- PHP 8.2+