Analytics
Charts and tables for understanding where your leads come from, how they move through the pipeline, and which acquisition channels work. Filter the whole page by date range: 7 days, 30 days, 90 days, or all time.
The charts are empty. Did something break?
What does "Paid vs Organic" compare?
What do the small arrows under the stat cards mean?
Why is a lead I moved straight to Won counted under Contacted and Quoted?
What does the GCLID capture rate measure?
What's the "Audience Sync" button do?
Why don't I see the server-side tracking section?
Stat cards
Four headline numbers across the top: total leads, conversion rate (won/total), average days to close, total messages sent. Move the date filter to scope them to a window.
On the 7, 30 and 90 day views each card also shows how it moved against the window before it. Leads and messages compare as a percentage, the conversion rate in percentage points, and days to close in days. Green is the good direction (more leads, a higher rate, fewer days). The comparison is a dash on "All time" and whenever the previous window was empty, because there is nothing to measure against.
Charts
Eight charts, all powered by Chart.js:
- Lead pipeline bar — count of leads by current status.
- Leads over time — weekly trend line.
- Source performance — horizontal bar showing total vs won per source.
- Insurance type doughnut — distribution of types.
- Appointment outcomes doughnut — confirmed / completed / cancelled / no-show.
- Source conversion rate — won-rate per source.
- GCLID funnel — Google Ads-attributed leads by status.
- UTM campaign performance — total and won counts per
utm_campaign.
Tables and comparisons
Below the charts: an activity summary (emails sent, SMS sent, appointments booked, follow-ups completed), the Paid vs Organic side-by-side (leads, won, conversion rate, average days per group), and a UTM table with one row per source / medium / campaign combination showing leads, won, and conversion rate. The campaign column makes two ads on the same source and medium show up as separate rows instead of being blended together.
Funnel by source (stage reached)
One row per lead source, with a column for each pipeline stage: Contacted, Replied, Quoted, Won. Each cell is a count plus that source's share of leads that got there. A lead counts for a stage if it ever reached it, which the page works out from the status history and from the current status, and a status further down the pipeline implies the ones before it. So a lead you moved straight from New to Won shows up under all four columns, while a lost lead only counts for the stages its history records. Reading left to right tells you where each source loses people: a source with lots of leads but few contacted is a follow-up problem, one with plenty quoted but few won is a pricing or closing problem.
Server-side tracking
Bottom section. Shows GCLID and UTM capture stats, API health indicators (Google Ads, GA4), and the Audience Sync button. The health indicators are pure status — green when the integration is configured and reachable, red otherwise.
"GCLID capture (paid traffic)" is the share of your paid leads that arrived with a Google click ID. A lead counts as paid when it has a gclid or when its utm_medium is an ad medium such as cpc, ppc, paid, paid_social, sem or display. Organic leads are not in the denominator, since they never had a click ID to lose, which is why this number can sit at 100% even when most of your leads come from referrals. If it drops, check that your landing pages pass the query string through to the form. With no paid leads in the window it reads 0.0%.