Capture & Convert Leads

Prev Next
SERVICETITAN · LEAD MANAGEMENT
Capture & Convert Leads

Never lose a lead. Track every call, capture every opportunity, and convert leads into booked jobs.

I use:
Set Up Lead Tracking
Add or edit call tracking numbers

⚠︎ Never reuse tracking numbers across campaigns. Each campaign needs a unique number for accurate attribution.

a. Go to Settings > Phones > Phone Numbers and click Add New Number.

b. To add a local number, search by area code or ZIP code. To add a toll-free number, click Toll-Free Number and search by area code.

c. Click a number, then click Choose Number. Enter the Set Forwarding Number. Set the Default Call Type to Lead or Not Lead.

⚠︎ Complete the "Register to Enable Text Messaging" form before requesting the number. Without this, SMS delivery will fail.

d. If you want to assign this number to a campaign now, select it from the campaign dropdown. Click Add Number.

Assign tracking numbers to your campaigns

a. Go to Settings > Phones > Phone Numbers. Find the tracking number you want to assign.

b. Click the Edit (pencil) icon next to the number. In the Set Campaign dropdown, select the campaign to associate with this number.

c. Click Save. Test the number by calling it and verifying the Marketing Campaign field auto-populates on the Calls screen.

⚠︎ If the Marketing Campaign field does not auto-populate, verify the tracking number is also linked in Settings > Operations > Campaigns. The campaign's Advertised Number field must match.

Marketing Pro Ads
Set up dynamic call tracking on your website

a. Go to Settings > Integrations > Marketing Integrations. Find Dynamic Call Tracking (DNI) and click Configure, then Add New.

b. Choose Auto-DNI (recommended) or Manual DNI. Enter your website domain.

c. Click Copy Code and install the JavaScript snippet in your website's tag. This dynamically swaps the phone number displayed on your site based on the visitor's source.

⚠︎ If DNI is not installed on a landing page, calls from that page appear as "Direct" — breaking attribution for that channel entirely.

Scheduling Pro
Track where your leads come from

a. When customers book online through Scheduling Pro, ServiceTitan automatically captures the lead source and attributes it to the correct campaign.

b. Review lead attribution for online bookings at Marketing > Analytics > Marketing Overview, or go to Reports > All Reports and search for Campaign Summary. Filter by Scheduling Pro campaigns to see which sources drive bookings.

Connect third-party lead sources

a. Go to Settings > Integrations > Marketing Integrations. Select the provider you want to connect: Thumbtack, Angi, or other available partners.

b. Follow the setup steps for your chosen provider. For Thumbtack: sign in with your Thumbtack account credentials. For Angi: connect your Angi Pro account.

c. Once connected, third-party leads appear automatically on the Bookings screen for your team to review and convert.

⚠︎ Map incoming lead types to specific Job Types in your integration settings. Mismatched mappings can prevent leads from routing to the correct dispatch board.

⚠︎ Lead Integrations are enhanced by Marketing Pro.

Second Chance Leads
Recover missed calls with Second Chance Leads

a. Set up the View Second Chance Leads permission for team members who will review leads. Go to Settings > People > Role Permissions, click Edit next to the desired role, and enable View Second Chance Leads under Job Booking & Dispatching > Calls.

b. Configure notifications. Go to Calls > Calls Preferences and enable in-app, text, or email alerts for new Second Chance Leads.

c. Go to Calls Booking > Second Chance Leads > Get Started. Setup steps differ by phone package.

⚠︎ Second Chance Leads requires call recordings. After a call is flagged as a Second Chance Lead, no additional SCL will be generated for that phone number for 14 days.

d. When a Second Chance Lead is created, go to Calls > Second Chance Leads. Click Review Call to read the AI-generated summary and listen to the recording, then follow up with the customer.

e. After follow-up, update the lead status: click Call Customer Back to initiate a callback, or click Dismiss Call and select a reason (e.g., "It's not a lead" or "Lead — not following up") to keep your pipeline accurate.

Capture & Convert Leads
Capture a lead during an incoming call

a. When a caller isn't ready to book, go to the Calls screen. Click the incoming call bubble.

b. Search for and select the customer location. If the customer is new, add them first.

c. Add the marketing campaign and job details. Close the call bubble, then select a Call Reason marked as a lead.

⚠︎ Lead-to-job conversion is NOT automatic. If the CSR books a job separately from the lead record, the lead stays open. Always convert through the lead record (Section 2, Step 3 below).

Create a lead manually

a. Go to Follow Up > Leads and click Create Lead.

b. Search for and select the customer. If the customer doesn't exist, add them first.

c. Fill in the lead details — campaign, business unit, job type, and any notes. Click Save.

Convert a lead into a booked job

⚠︎ Always book the job through the lead record so it converts automatically. Booking separately leaves the lead in Open status and breaks lead-to-revenue attribution.

a. Go to Follow Up > Leads. Find the lead you want to convert and click to open it.

b. Review the lead details, then click Convert to book a job directly from the lead.

c. Complete the booking details — job type, appointment window, business unit, and assigned technician — then confirm. The lead status automatically updates to Converted.

⚠︎ Use standardized reason codes for leads that don't convert (e.g., Price Too High, No Availability, Out of Service Area, Competitor Won). Without these, you cannot diagnose why leads are falling out of the funnel.

Troubleshoot Lead Issues
Marketing Pro Ads
Troubleshoot: Dynamic call tracking test failed

a. Verify the DNI JavaScript snippet is installed in your website's tag — not in the body or footer.

b. Clear your browser cache and test in an incognito/private window to rule out caching issues.

c. Confirm the website domain in Settings > Integrations > Marketing Integrations > Dynamic Call Tracking matches your actual site URL exactly.

Troubleshoot: Third-party leads not appearing

a. Go to Settings > Integrations > Marketing Integrations and verify the integration status is Active.

b. If the integration shows an error, try disconnecting and reconnecting your account credentials.

c. Check that incoming leads match the business units and job types mapped in your integration settings. Mismatched mappings can prevent leads from appearing.

⚠︎ Third-party leads appear on the Bookings screen, not in Follow Up > Leads. If your team is looking in the wrong place, leads may appear "missing" when they're actually waiting on the Bookings screen.

Troubleshoot: Verify tracking number setup

a. Go to Settings > Phones > Phone Numbers. Confirm the number type is set to Tracking number — not Direct Dial. Direct Dial numbers do not track campaign events.

b. Verify the number has a campaign assigned in the Set Campaign field.

c. Place a test call to the tracking number. Check the Calls screen to confirm the Marketing Campaign field auto-populates correctly.

⚠︎ Lead source attribution works via DNIS — the inbound phone number is matched to Campaign.DNIS. If the tracking number isn't linked to a campaign in both Settings > Phones > Phone Numbers AND Settings > Operations > Campaigns, attribution will break.

Measure the impact
Volume
Total leads captured
A low count may signal missed calls, disconnected lead sources, or CSRs not marking calls as leads.
Conversion
Lead-to-booking rate
A declining rate signals follow-up delays, CSR training gaps, or capacity issues preventing booking.
Marketing > Analytics > Marketing Overview ↗Reports > All Reports > search "Campaign Summary" ↗
Recovery
Missed call follow-up rate
Every missed call without a callback is a potential lost job.
Accuracy
Campaign attribution rate
High "Unknown" campaign rates mean broken tracking numbers, missing campaign assignments, or CSRs overriding the auto-populated campaign field.
Reports > All Reports > search "Campaign Summary" > check "Unknown" campaign row ↗