Skip to main content

Metrics

This page lists every metric the events endpoint can compute. Add the ones you want to the fields parameter of your request. Each request must include at least one metric. Rates and percentages are returned as decimals between 0 and 1 (e.g. 0.25 means 25%).

These metrics use the conversion, lead, customer, and spend terms defined in Key terms.

Counts​

MetricDescription
conversionsNumber of conversion events. Not unique by customer
eventCountTotal number of events, including multiple events per customer
leadsUnique leads: distinct customers whose first event was a conversion
soldLeadsLeads that reached a sold state at least once
closedLeadsLeads that reached a closed state at least once
opportunityCountDistinct number of opportunities in the result. Unlike customers, it is not restricted to each opportunity's furthest stage
customersDistinct customers, by current state
bookedCustomersUnique customers who had an appointment booked in the period. Point-in-time: the booked event still counts even if the customer later sold, closed, or canceled
canceledCustomersUnique customers with a cancellation in the period
matchedCustomersCustomers matched to source-system activity (current state estimated, sold, or closed)
unmatchedCustomersCustomers not matched to source-system activity (customers − matchedCustomers)
payingCustomersCustomers whose current state is sold or closed

Revenue​

MetricDescription
totalTotal revenue value summed across events from your FSM
spendTotal ad spend, including management fees
estimatedRevenueExpected revenue of customers whose current state is estimated
soldRevenueExpected revenue of customers whose current state is sold
closedRevenueClosed and completed revenue of customers whose current state is closed
revenuePotentialExpected revenue across all customers: unsold estimates (averaged per customer) plus sold and closed revenue, counted at each customer's last step to avoid double-counting

"Expected revenue" here averages (rather than sums) each customer's estimates, so aggregation doesn't inflate revenue.

Averages and cost-per ratios​

MetricFormula
avgConversionsPerLeadconversions ÷ leads
avgCostPerConversionspend ÷ conversions
avgCostPerLeadspend ÷ leads
avgCostPerPayingCustomerspend ÷ payingCustomers
avgCostPerBookedCustomerspend ÷ bookedCustomers
avgTicketexpected revenue of paying customers ÷ payingCustomers

Rates​

MetricFormula
bookRatebookedCustomers ÷ customers
matchRatematchedCustomers ÷ customers
payingCustomerRatepayingCustomers ÷ customers
customerCancelRatecanceledCustomers ÷ customers (shown as "Cancellation Rate (Legacy)")
cancelRateOf customers who booked in the selected period, the fraction later canceled. The cancellation may fall in or beyond the period (shown as "Cancellation Rate")

ROAS​

MetricFormula
roasPotentialrevenuePotential ÷ spend
roasClosedclosedRevenue ÷ spend

Conversion grading​

Conversion grading scores individual conversions by whether they represent bookable business. These metrics require the lead-grading feature; for accounts without it they return 0.

MetricDescription
gradedConversionsConversions that have been graded
bookableConversionsConversions graded bookable (booked or not)
unbookableConversionsConversions graded unbookable
bookedConversionsConversions graded bookable and booked
bookableUnbookedConversionsConversions graded bookable that didn't book
percentConversionsGradedgradedConversions ÷ conversions
conversionQualitybookableConversions ÷ gradedConversions

Funnel step rates​

Step rates measure conversion from one funnel stage to the next. Each rate's denominator is restricted to customers whose entry into the prior stage falls inside the selected date range. The numerator is forward-looking: it counts those that reached the next stage at any point, even after the range ends.

MetricMeasures
stepBookRateOf leads that originated in the period, the fraction eventually booked
stepEstimateRateOf customers first booked in the period, the fraction eventually estimated
stepSoldRateOf customers first estimated in the period, the fraction eventually sold
stepCloseRateOf customers first sold in the period, the fraction eventually closed

Interpreting the core metrics​

The six metrics most dashboards and reports center on, in plain language: what each one measures, what it does not, the most common misread, and what typically causes it to change. Formulas use the metric names defined in the tables above.

Unique Leads​

What it is: The number of distinct people who contacted the business in a period — counted once per person, regardless of how many times they called or submitted a form.

What it tells you: The size of the top-of-funnel — it measures demand for the business in people, not contact volume.

What it doesn't tell you: How many of those people became customers. Unique Leads says nothing about conversion quality or revenue — it's pure volume.

Common misread: Comparing Unique Leads to conversions as if they're the same thing. conversions counts every individual call and form — one person who called three times = 3 conversions but 1 unique lead. Always use Unique Leads when the question is about people.

What causes it to change:

  • Marketing spend and campaign reach (up or down)
  • Seasonality (HVAC peaks in summer/winter; plumbing is more consistent)
  • A new marketing channel going live or going offline
  • Changes in search demand for the service category

Book Rate (bookRate)​

What it is: The share of tracked contacts who had an appointment booked (bookedCustomers ÷ customers).

What it tells you: How well the business converts incoming demand into scheduled appointments. This is the primary measure of CSR (customer service representative — the people answering the phones) and scheduling effectiveness.

What it doesn't tell you: Whether the leads were qualified in the first place. A low book rate could mean the CSR team is underperforming — or it could mean a high percentage of the calls were unbookable to begin with (spam, out-of-service-area, etc.). Always check the unbookable rate alongside book rate before drawing conclusions.

Common misread: Comparing to an internal CRM book rate and finding a discrepancy. SearchLight counts every tracked contact in the denominator with no exclusions. CRM systems often filter their denominators (excluding spam, existing customers, etc.), so both numbers can be correct while being different.

What causes it to change:

  • CSR team performance (the most common cause of meaningful drops)
  • Changes in lead quality / unbookable rate (marketing targeting changes)
  • Scheduling availability — in periods when the business is booked out, leads can't convert
  • Call handling process changes

Rough calibration: Book rates below 35% typically warrant investigation. Above 55% is strong. The "normal" range depends heavily on the business type and how unbookables are classified.

Bookable Not Booked (bookableUnbookedConversions)​

What it is: Contacts where the caller had a legitimate, schedulable service request but left without booking an appointment. Computed as bookableConversions − bookedConversions; requires the conversion-grading feature (see Conversion grading).

What it tells you: The most direct missed-revenue signal. BNB calls are real demand that the business had the opportunity to capture but didn't. Each BNB is a job that went to a competitor or simply didn't happen.

What it doesn't tell you: Why the call didn't book. The common causes are very different and require different responses:

  • No availability → scheduling / capacity problem
  • Pricing friction → pricing conversation or objection-handling issue
  • Call ended without a clear next step → CSR coaching issue
  • Caller not ready to book yet → a "Planned Follow Up" (still potentially recoverable)

Common misread: Treating all BNB as equivalent. A BNB from a Planned Follow Up situation is not lost revenue — it's pending revenue. A BNB from a "no availability" situation points to a scheduling gap. The reason matters.

What causes it to change:

  • CSR coaching and call handling quality
  • Scheduling availability (if the business is overbooked, BNB increases)
  • Changes in bookable lead volume (more bookable calls = more BNB opportunities)

ROAS Closed (roasClosed)​

What it is: Return on ad spend, calculated using only completed, invoiced jobs (closedRevenue ÷ spend).

What it tells you: How much confirmed revenue the business earned for every dollar spent on marketing. This is the most conservative, most reliable ROI measure because it only counts completed work.

What it doesn't tell you: Future performance. ROAS Closed looks backward at work that has already been paid. It also doesn't include jobs that are sold but not yet completed (soldRevenue) or estimated but not yet sold.

Critical caveat — time lag: Closed revenue typically lags job completion by 2–4 weeks, because the job has to be completed, invoiced, and closed in the FSM before it shows up. A ROAS drop in the second half of any month should not be diagnosed as a performance problem until the period is complete and revenue has had time to post.

Common misread: Treating a ROAS drop as a marketing problem when spend increased. ROAS = Revenue ÷ Spend. If spend went up 20% and revenue hasn't caught up yet, ROAS drops arithmetically — not because anything went wrong.

Only calculated for paid channels: ROAS is meaningless for channels with no spend (Direct, Organic, AI). Always exclude zero-spend categories.

Rough calibration: A healthy ROAS range for home services paid search is typically 4x–10x, depending on average ticket size. High-ticket services (HVAC system installs) often show higher ROAS than lower-ticket services. Compare to the same channel in prior periods rather than to an absolute benchmark.

Average Ticket (avgTicket)​

What it is: Average revenue per paying customer — (soldRevenue + closedRevenue) ÷ payingCustomers.

What it tells you: The typical job value. This is the revenue-efficiency metric — it tells you whether the same number of bookings is producing more or less revenue.

What it doesn't tell you: Whether revenue is healthy in aggregate. Average Ticket can increase while total revenue falls, if the number of jobs declined. Look at both the ticket and the job count.

Common misread: Using it to compare across very different service types. A plumbing company that does both $150 drain clears and $8,000 repiping jobs will have a blended average ticket that represents neither well. When average ticket drops, first check whether the job mix changed — more small jobs, fewer large ones.

What causes it to change:

  • Seasonal job mix (emergency calls in winter tend to be larger; tune-up volume in spring pulls the average down)
  • Campaign changes that attract a different type of customer
  • Pricing adjustments
  • A new service category added to the business

Match Rate (matchRate)​

What it is: The share of tracked contacts that SearchLight successfully linked to a job record in the client's FSM (field service management software — ServiceTitan, Housecall Pro, etc.): matchedCustomers ÷ customers.

What it tells you: How completely SearchLight can attribute revenue to marketing. A high match rate means the data is reliable. A low match rate means some job revenue isn't showing up in the SearchLight analysis, which understates ROAS and revenue figures.

What it doesn't tell you: Whether marketing is working. Match Rate is about data quality, not performance quality.

Common misread: Treating a low match rate as a sign that leads aren't converting. A 40% match rate doesn't mean 60% of leads failed — it often means the FSM data is incomplete, phone numbers aren't being recorded correctly in the FSM, or there's a sync issue. Before concluding performance is poor, check whether match rate is the limiting factor.

What causes it to change:

  • FSM data entry practices (CSRs not capturing phone numbers)
  • FSM integration health (sync errors, API gaps)
  • Changes in business type (businesses that do commercial work often have worse match rates because commercial jobs are booked differently)