All posts
Owner Guides

CRM for Contractors: Track Each Estimate to a Signed Job

A CRM for contractors should follow every estimate from first call to paid job and keep the ad or referral behind it. Stages, tools and a worked quarter.

October 14, 2026·9 min read·by Alexander Cheberko
Table of contentstap to expand

A CRM (customer relationship management system, the database where every lead and estimate is kept) earns its place in a contracting business when it shows, for each estimate, who sent the customer, what you quoted and whether it signed. If it cannot name the ad, call or referral behind a signed job, it is an address book.

Quick answer

Write down the seven moments an estimate passes through, from first call to final payment, and check that your system holds a dated record of each one. Add the lead source at the first moment, not the last. Add a lost reason from a short list at the moment you give up. Then compare the sources by signed value, not by number of leads. If your field service software already holds these, you may not need another system.

Where does an estimate get lost between the first call and the final payment?

The first call and the final invoice are hard to forget; the weeks between them are where records go missing. Each row is one moment that should leave a dated trace, entered by one named person.

MomentWhat the record must holdWho enters it
Lead arrivesSource, date, name, phone, and the ad click id if it came from an adAutomatic from the form or call line; office person for phone calls
Estimate visit bookedDate and time, who goesOffice
Estimate sentAmount, date sentThe estimator, same day
Follow-upEach call or text, with date, and the next date dueWhoever contacted the customer
Signed or lostDate, signed amount, or a lost reason from a pick listEstimator or owner
Deposit paidDate and amountOffice, from the accounting system
Job done and paidFinal amount and dateOffice

The two entries that matter most for ad decisions are the lost reason and the lead source. Without the first, you cannot see why a source fails; without the second, you cannot see which source it was.

Is the software I already have enough, or do I need a separate sales CRM?

Your field service software may already carry a basic CRM. Jobber's pricing page lists a client manager, lead management that tags a client as a lead, and a requests list, and it sells a Pipeline sales tracker as a $49 a month add-on (Jobber, checked 2026-10-14). Housecall Pro puts quotes and proposals in every plan and sells Pipeline, automated follow-ups that turn leads into jobs, as an add-on (Housecall Pro, checked 2026-10-14); ServiceTitan lists mobile estimates in its packages and quotes its per-technician pricing only on request (ServiceTitan, checked 2026-10-14). For the wider question of what field service software does, read field service management software.

A separate sales CRM starts to pay for itself in three situations: estimates that take weeks to close, several salespeople sharing leads, and canvassing or storm work that produces lists of names rather than inbound calls. If you sell a replacement roof once per customer, the sales record counts for more than the job schedule.

Run two systems only if one of them is the source of truth for each fact. A signed amount typed in two places will sooner or later disagree.

How does the lead source land on the record before anyone types it?

Four small settings do most of the work. First, the website form saves UTM tags, the labels added to an ad's web address that name its campaign and source, into hidden fields. Second, it saves the gclid, the click id Google Ads attaches to every ad click (Google Ads Help, checked 2026-10-14). Third, each ad or listing gets its own tracking phone number, so a call carries its source (best call tracking software covers vendors and setup). Fourth, a required field asks "How did you hear about us?" with a short list, because referrals and yard signs leave no click behind.

Test it. Submit your own form from an ad's address, call each number, and open the new records. If any shows a blank source, fix that before you choose software.

What do vendors say on their own pages?

I read each vendor's own pages on 2026-10-14. JobNimbus's site blocked my requests, so its row uses an archived copy of its pricing page from June 12, 2026, plus its help center today. "Not stated" does not mean the product lacks the feature; it means the pages I opened did not say, so ask.

ProductBuilt for, per its pagePrice as publishedLead source and ad integrations it documents
JobberSolo contractors to 15+ person teams (pricing)Core $29, Connect $99, Grow $149 a month for one user, billed annually; Plus $399 for its 5-user minimumLead tagging; UTM tags on request and booking links fill the lead source (help); CallRail integration for calls (help)
LeapContractors in roofing, remodeling, windows and doors, siding and more (pricing)Essential $79 a month, one user; Team from $298; Premium from $750; Enterprise by contacting sales; one-year contractsAngi Leads and Zapier listed (partners); Google Ads, Meta and call tracking not stated
AccuLynxRoofing companies (pricing)Quote onlyCallRail, Angi and HubSpot integrations listed (integrations); Google Ads and Meta not stated
HubSpot CRMGeneral business CRM (HubSpot)Free for two users and 1,000 contacts; Starter from $15 per seat a month as a new-customer discount; Professional from $50; Enterprise from $75Free ad management for Google and social campaigns that shows which ads turn prospects into customers
JobNimbusRoofing, siding, gutter and fencing contractors (archived pricing)Quote only, four plans by number of usersAngi integration (help center); a marketing add-on with ads run for you; Google Ads, Meta and call tracking integrations not stated
BuildertrendHome builders, remodelers, commercial and trade contractors (pricing)From $499 a month with unlimited users, 10% off paid annually; final price depends on construction volume and onboardingLeads, proposals and contracts in one pipeline; Google Ads, Meta and call tracking not stated

Prices are starting prices and change; the pages above are the source. Nothing here is a ranking.

Can I text and email estimate follow-ups?

Yes, with limits. In the US, the Telephone Consumer Protection Act (TCPA) makes it unlawful to place a call to a cell phone using an autodialer or an artificial or prerecorded voice without the called party's prior express consent (47 U.S.C. 227(b), checked 2026-10-14). The FCC's consumer guide says that consent rule reaches autodialed or prerecorded texts to a wireless number as well, and that a commercial text needs written consent, while for an informational one oral consent may do (FCC, checked 2026-10-14).

For email, the FTC's CAN-SPAM guide says a commercial email, one whose main purpose is to advertise or promote, must carry a valid physical postal address, and opt-outs must be honored within 10 business days (FTC, checked 2026-10-14). Store the date and wording of each consent on the record. This is not legal advice, and I am not a lawyer.

Canada's anti-spam law, CASL, requires express or implied consent before you send a commercial electronic message, and its definition of an electronic message takes in texts as well as email. A message whose only content is a quote or estimate the recipient asked for is exempt from that consent rule, though the message must still name the sender and include a way to unsubscribe (CASL, s. 1 and s. 6, checked 2026-10-14). A reminder to sign goes beyond providing the quote, so it may fall outside that exception.

How do signed jobs get back to Google Ads and Meta?

Google describes it plainly: you save each click's id with the lead, and when the sale closes you send that id back with the conversion type and time (Google Ads Help, checked 2026-10-14). Meta describes its Conversions API as a connection that carries an advertiser's data, offline conversions included, from its server, website platform, app or CRM to Meta (Meta, checked 2026-10-14).

I have set up the same loop, sending booked outcomes from a practice system back to Google Ads, for an anonymized NYC medical practice; I have no contractor clients, and nothing here is a hands-on review of the CRMs named. The steps are in offline conversion tracking from a CRM to Google Ads. Contracts take weeks, so send the signed stage, not the lead, and send it with its real date.

What does one quarter of estimates look like by source?

Illustrative: every number below is made up for an imaginary siding and window company, and none comes from a client.

SourceSpendLeadsEstimates sentSignedSigned value
Google Ads$9,00060246$168,000
Meta ads$6,00045152$44,000
Referrals$020147$203,000

Spend divided by leads gives $150 a lead for Google and $133 for Meta, so Meta looks cheaper. Spend divided by signed jobs gives $1,500 and $3,000. Signed value divided by spend gives $18.67 and $7.33 of signed contracts per ad dollar. Signed value is a contract total, not profit, so subtract your cost of doing the work before judging either.

Apart from spend, which comes from the ad accounts, every figure comes from three fields on each record: source, estimate sent, and signed amount. The referral row shows why the pick list matters: it has the best close rate and no click.

What should a vendor show me live before I pay?

  • Make a test lead from an ad address and show the source and click id on the record.
  • Move an estimate to lost and show the reason list, then report lost reasons by source.
  • Export all leads with source, each stage date and amount.
  • Say what sending a signed job to Google Ads or Meta needs: which plan, which setup and who does it.
  • Say who owns the data and in what format I get it if I leave.

Tags

crm-for-contractorscontractor-crmhome-service-crmestimate-trackinglead-sourceoffline-conversionsremodeling

Frequently asked questions

Is a free CRM enough for a small contractor?

It can be, if it holds the lead source, the estimate date, the amount, and a signed or lost status with a reason. HubSpot's own page says its free CRM has no expiration date and covers up to two users and 1,000 contacts, checked 2026-10-14. If you have three salespeople or more than that many contacts, the limit decides before the price does.

Who should type the lost reason into the CRM?

The person who made the last contact, on the day the estimate is marked lost, from a short pick list such as price, timing, chose another contractor or no answer. A free-text box gets skipped, and a lost estimate with no reason cannot be compared across ad sources a quarter later.

What should I do with estimates that never answer?

Give them a fixed closing date, for example 30 days after the last contact, and then mark them lost with the reason no answer. Leaving them open makes your close rate look better than it is and hides which source produces tire-kickers.

Can the CRM tell me which ad produced a signed contract?

Only if the click id or the source was saved when the lead arrived, and the signed stage is dated. Without both, the CRM can count signed jobs but cannot connect them to an ad.

Do I need to move off my field service software to get a CRM?

Not at first. Check whether your current software records source, estimate stages and a lost reason; if it does, adding another system only creates a second place to update. A separate sales CRM earns its cost when estimates take weeks, several salespeople share leads, or canvassing and storm work bring in lists of names.

Written by

Alexander Cheberko

Marketing Analytics & Conversion Tracking Engineer, US and Canada, run remotely

LinkedIn

Related posts