Business

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.

Quick answers
The charts are empty. Did something break?
Probably not. Charts render from your actual data; new workspaces with few leads will show sparse charts. Try switching to "All time" instead of the default 30 days. If everything still looks empty after that, you genuinely have very few leads — work on lead capture first.
What does "Paid vs Organic" compare?
Paid = leads with a Google Ads click ID (gclid) captured on their first form submission. Organic = everything else. The comparison shows lead count, won count, conversion rate, and average days to close per group. Useful for "is my ad spend actually closing better than my SEO traffic" questions.
What do the small arrows under the stat cards mean?
They compare the window you picked with the one right before it. On the 30-day view, "↑ 18% vs prior 30d" under Total Leads means you got 18% more leads than in the previous 30 days. Conversion rate compares in percentage points, days to close in days (a drop is the good direction there, so it shows green). "All time" has no earlier window to compare against, and neither does a window whose previous period had no data, so those cards show a dash.
Why is a lead I moved straight to Won counted under Contacted and Quoted?
The "Funnel by source" table counts stages a lead reached, not the stage it sits in today. A later stage implies the earlier ones, so a lead that jumped from New to Won counts in every column. Lost leads only count for the stages their status history actually shows.
What does the GCLID capture rate measure?
Of your paid leads, how many arrived with a Google click ID. Paid means the lead has a gclid, or its utm_medium says it came from an ad (cpc, ppc, paid, paid_social, sem, display and similar). Organic leads are left out because they were never going to carry one. A rate well under 100% usually means a landing page is dropping the query string before the form submits.
What's the "Audience Sync" button do?
Uploads your won-client emails to Google Ads as an exclusion list and your active leads as a remarketing list. Requires the Google Ads API integration to be configured. Useful for "don't show ads to people I've already converted" and "show ads to people I'm working but haven't closed yet" tactics.
Why don't I see the server-side tracking section?
It's always there but the API health indicators next to it show red when Google Ads API or GA4 Measurement Protocol aren't configured. Configure them in Settings → Integrations to light them green and enable the Audience Sync button.

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:

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%.