Analytics & attribution

Know where your leads come from.
See what they’re worth.

Lead source tracking for home service businesses. Connect website activity, lead costs, and job invoice revenue to see which sources turn into won business.

Know the sourceWhere the inquiry started
Follow the contactFrom first inquiry to won
Connect the valueInvoices + clear estimates
Compare the returnSpend, wins, and ROAS
Quick answer

tl;dr: LeadTruffle connects lead-source attribution, website analytics, and supported CRM invoice data. Compare spend, contact outcomes, and estimated ROAS, with recorded values and estimates kept visible.

Explore lead-source performance in an interactive dashboard

Interactive product preview Fictional sample data · USD
LeadTruffleDashboard Revenue

Revenue

See where inquiries come from, what they cost, and what won contacts are worth.

Sep 1–30 · Sample month
Try a source filter or change the revenue settings below.

Performance overview

Revenue settings

Changes affect this sample only. In CRM mode, matched invoice totals replace estimates; other wins use this average.

Estimated spend$14,600Recorded + estimated costs
Inquiries received130107 new contacts
Won value$34,850Invoice totals + estimates
Qualified pipeline$24,30027 active, AI-qualified contacts

Contact outcomes

Win rate 54%

New contacts by current status

Active 42Won 35Lost 30

Marketing efficiency

Cost per inquiry$112
Cost per new contact$136
Cost per won contact$417
Estimated ROAS2.05×

Performance by lead source

Estimates included
Lead sourceSpendInquiriesNewWonCost / newWon valueROAS
Google LSAProvider costs$4,800403212$150$12,0002.50×
ThumbtackRecorded lead costs$3,00030257$120$6,5002.17×
YelpEstimated costs$3,60024205$180$4,3501.21×
Website · Paid searchEstimated costs$3,20020166$200$7,1002.22×
Website · OrganicNot trackedNot tracked16145—$4,900—
Total$14,60013010735$136$34,8502.05×
Behind the ROAS number

$29,950 eligible won value ÷ $14,600 eligible spend = 2.05×

Organic sources have no tracked paid cost and are excluded from this ratio. Invoice totals are not collected cash.

$24,050 from matched invoices + $10,800 estimated won value. Qualified pipeline is separate.

Sample preview based on LeadTruffle’s Revenue and Website analytics dashboards. Simplified for this page.

Built around the dashboards in the app. Try a lead source, change the average job value, or explore Website analytics.

01 / Start with the source

A new inquiry should come
with a little context.

Someone finds you on Google, clicks an ad, or sends a marketplace inquiry. Your team needs the conversation. You need to know where that opportunity started.

Bring Google LSA, Thumbtack, Yelp, Angi, Meta Lead Ads, and supported website inquiries into LeadTruffle. Available website campaign details stay with the inquiry, so “a website lead” can have a more useful source.

  • UTM source, medium, and campaign when available
  • Supported ad click IDs and referring websites
  • Source context alongside the lead conversation
Explore website lead capture
One inquiry. Its source attached.
your-business.com/repair
New website inquiry · Sample“Can you repair my AC this week?”
New
Attribution detailsAttached to inquiry
Source
Google
Medium
Paid search · cpc
Campaign
ac-repair-local
Landing page
/repair

Illustrative data. Capture depends on the visitor’s browser and your tracking setup.

UTMs, campaigns & referrers

Keep the campaign context
when a visitor becomes a lead.

Your ads and emails bring people to your site. LeadTruffle’s web widgets capture available tracking details when those visitors reach out.

  1. 1

    Tag the link you share

    Use utm_source for the source, utm_medium for the channel, and utm_campaign for the campaign. Optional utm_content and utm_term distinguish ad variations and keywords.

  2. 2

    The visitor reaches out

    They submit your website texting widget, embedded form, or popup. Available UTM parameters, supported click IDs, and page details are captured with the inquiry.

  3. 3

    See the context with the lead

    Review the campaign details alongside the conversation. The page URL tells you where they reached out; the referrer can show which page sent them to your site.

Example campaign linkyour-business.com/repair?utm_source=google&utm_medium=cpc&utm_campaign=ac-repair-local

Google → Paid search → AC repair campaign. These details give your team more context than “website inquiry” alone.

UTMs are labels you add to a link. Referrers come from the browser and may be missing or limited. Capture depends on your widget installation, browser permissions, and available data.

02 / See what happens on your site

From website visits
to actual inquiries.

Sessions and page views show activity. Inquiries show who reached out. Compare them in Website analytics, then follow those contacts into the Revenue dashboard.

Understand your traffic

View sessions, page views, website inquiries, and source breakdowns from your connected website tracking.

Work with your analytics

Supported widgets send events to your existing GA4 or Meta Pixel setup. Available campaign and analytics identifiers add context.

Count people and inquiries

See new contacts separately from repeat inquiries. Another conversation with the same person shouldn’t look like a brand-new customer.

From an estimate to a recorded value
SJ
Sarah JohnsonGoogle LSA · Illustrative contact
Won
Before invoice match$900Estimated job value
After invoice match$1,250Matched invoice total
Job invoice Sample #1042Matched
AC repair & service
$1,250
Invoice total
$1,250

The matched invoice replaces the estimate.
It does not get added on top.

Example in CRM invoice mode. Invoice totals do not confirm payment.

03 / Connect the job value

The job is worth more
than a “lead converted” tick.

A booked appointment is a useful step. A won contact with a matched job invoice gives you a better value to compare against the cost of acquiring that business.

In CRM invoice mode, supported, matched invoice totals replace the estimate for that win. Where an invoice isn’t available, an average job value can fill the gap. Prefer a consistent planning assumption? Choose Average Job Value mode instead.

Supported invoice connections include
JobberHousecall ProServiceTitan
Find your CRM connection
04 / Compare the return

Put the spend and the
won value side by side.

The cheapest inquiry isn’t always the most valuable one. Compare lead costs, wins, and estimated return on ad spend with the assumptions in view.

Eligible won valueInvoice totals + estimates
Eligible spendRecorded costs + estimates
Return on ad spendEstimated ROAS
01

See the assumptions

Available provider costs come first. Configured averages or industry estimates can fill gaps. Google LSA uses reported campaign spend divided by charged leads.

02

Keep pipeline separate

Active, AI-qualified contacts have potential value. They belong in qualified pipeline until won, separate from the won value used to assess returns.

03

Know what’s included

Sources missing required cost or value coverage are excluded from ROAS. Incomplete matched invoice amounts can show partial value without entering the ratio.

Compare eligible totals—not the average of source ratios. ROAS is not profit, collected cash, or proof of incremental marketing return.

A few useful details

Your tracking
questions, answered.

We’ll help you understand what your connected tools can report.

Walk through your setup →
What is lead source tracking?

Lead source tracking records where an inquiry came from, such as Google LSA, Thumbtack, Yelp, Meta Lead Ads, or your website. LeadTruffle brings supported sources into one inbox and helps compare their inquiries, contact outcomes, costs, and won value. Website attribution can also preserve available campaign parameters, click IDs, and referrers.

How does LeadTruffle calculate ROAS?

Estimated return on ad spend is eligible won value divided by eligible spend. LeadTruffle uses available provider costs and supported invoice data, with configured averages or industry estimates where applicable. Total ROAS is calculated from eligible totals, not by averaging the source ratios. Sources without the necessary cost or value coverage are excluded from both sides of the calculation.

Can I use job invoices instead of average job values?

Yes, where a supported CRM invoice connection is available. In CRM invoice mode, matched invoice totals replace estimates for the relevant won contacts. Wins without matched invoices can still use average job values. In Average Job Value mode, each win uses your configured average. Connections, matching, and saved status mappings affect the result.

Does invoice revenue mean the money has been collected?

No. An invoice total is different from collected cash or profit. Estimated ROAS may also include estimated job values and costs. Use it to compare lead-source performance with its coverage and assumptions in view, not as an accounting statement or proof that an ad caused a sale.

What website analytics can I see?

The Website analytics dashboard shows sessions, website inquiries, page views, and source breakdowns for connected tracking. Supported website widgets can capture available attribution details and send events to existing Google Analytics 4 or Meta Pixel installations. Results depend on your setup, browser permissions, and the data available when an inquiry arrives.

How do UTM parameters and referrers work with the web widgets?

Add UTM parameters to your campaign links to identify the source, medium, campaign, and optionally the ad variation or keyword. LeadTruffle’s website texting widget, embedded forms, and popup widgets capture available tracking details with submitted inquiries. Page and referrer information adds context about where the visitor arrived and which page sent them. A referrer is browser-provided information, not a substitute for campaign tags; it can be missing. Capture depends on your installation, browser permissions, and available data.

How are repeat inquiries and open leads counted?

Inquiries are counted when first received. New contacts are grouped by the date of their first inquiry, with outcomes reflecting their current status. A repeat inquiry can add cost without adding a new contact. Qualified pipeline is the potential value of active, AI-qualified contacts; it is kept separate from won value. Win rate uses won divided by won plus lost, excluding active contacts.

Is the Revenue dashboard available now?

Yes. The Revenue dashboard is available in LeadTruffle. Available metrics depend on connected lead sources, CRM support, saved status mappings, and configured revenue and cost assumptions. Ask for a demo to review what can be measured with your current tools.

From first inquiry to won value

Make the next marketing decision
with more than a lead count.

See how your lead sources, website, and CRM fit together in LeadTruffle.

Get a demo