Forms drop the click ID.
Embedded Jobber forms often drop the GCLID (Google's click ID). Housecall Pro's booking form doesn't keep it.
For agencies running ads for home-services contractors
BookedROI matches each paid Jobber, Housecall Pro or GoHighLevel invoice to the call, form or click behind it. It sends the revenue to Google Ads and Meta and builds a white-label report for each client.
For one client, free. Our team matches 90 days of paid jobs to your ads and sends you the report within 5 business days.
“yesterday I got 17 leads, but only 6 became paying customers… the lead costing me around $300”
Every ad platform counts leads. None of them counts who paid.
The problem
Google knows who clicked. Jobber knows who paid. Nothing connects the two, so your best campaigns look like your worst.
That's how most contractor accounts are set up today.
Embedded Jobber forms often drop the GCLID (Google's click ID). Housecall Pro's booking form doesn't keep it.
Smart Bidding chases cheap calls, because an $89 tune-up and a $6,300 furnace both count as 1.
Without proof of paid jobs, your client trusts their gut. The account churns.
“There's no way for me to get the gclid into the CRM, its a closed industry CRM called housecall pro. I have two clients on two different closed CRM's and its a PITA lol.”
“My clients often use closed CRM's i.e. Jobber, housecall pro etc. It is often difficult to pass the gclid to these systems then have them pass that back to Google ads.”
How it works
This is what the product is built to do. Until launch, our team runs the same steps by hand for each free audit.
Calls from CallRail with their click ID. Web forms through a small site script. LSA leads from the Google Ads API. Jobs and paid invoices from Jobber, Housecall Pro or GoHighLevel.
Each paid job is matched to its lead: phone, then email, then a similar name at the same address, within 60 days. Unclear ones get a quick yes/no with an AI suggestion.
"Booked job" when the job is scheduled, then "Paid: $6,300" when the invoice is paid. Both go to Google Ads and Meta daily. Lost click ID? Enhanced Conversions for Leads matches on hashed phone and email.
A monthly white-label report with your logo: spend, paid jobs, revenue and cost per paid job for each campaign, LSA included.
Setup
90 days of history in your first report. New paid jobs go to Google and Meta daily.
Who it's for
HVACPlumbingRoofingElectricalGarage doors
Pricing
BookedROI · at launch
$49per client
per month
No contract. No setup fee. Cancel any month.
Pilot offer
$99
for your first month for 3 clients (normally $147).
Then $49 per client per month, cancel anytime. Pilots start at launch; nothing is charged before then.
Ask about the pilotFAQ
Something missing? Ask on the audit call.
Not yet. BookedROI is in development. Today our team does the free Booked Jobs Audit by hand, from your client's ad accounts, call tracking and CRM. Pilot agencies get the product first, at launch.
WhatConverts is a full call and lead tracking platform with a built-in Jobber integration that sends sales value to Google Ads. If it already proves booked revenue for your clients, keep it. BookedROI is for agencies that want to keep CallRail, have clients on Housecall Pro or GoHighLevel too, want unclear matches reviewed before anything is sent, and want one per-client price.
ServiceTitan's Marketing Pro add-on already sends booked jobs to Google Ads. BookedROI is for Jobber, Housecall Pro and GoHighLevel. GoHighLevel can send conversions, but only when the click ID was saved and someone builds the workflow.
You can get part of the way. Zaps break quietly when a field changes. They can't recover a click ID that was never saved. And they don't match a "Carlos" invoice to a "Maria" call at the same address. BookedROI is built to match, retry failed uploads and show you what didn't go through.
Since June 15, 2026, the Google Ads API rejects offline conversion uploads from developer tokens that weren't already using them. New integrations must use Google's Data Manager API, so a new homemade script may be blocked.
A booked job is scheduled in the CRM. A paid job has a paid invoice. BookedROI sends both to Google Ads and Meta, and the report counts paid jobs and the revenue they brought in.
Phone numbers and emails are normalized and hashed with SHA-256 before they go to Google or Meta. That's what Enhanced Conversions for Leads and the Meta Conversions API expect. We ask for read-only access to your client's CRM. We never change jobs, invoices or customers. Google Ads and Meta access is used to send conversions. We delete a client's data within 30 days of disconnecting, or sooner on request.
Matches go phone first, then email, then name plus address. Anything less than clear lands in a short review queue with an AI suggestion. You click yes or no. Nothing unclear is sent without your OK.
Jobber: the owner clicks Allow. Housecall Pro: the owner creates an API key (MAX plan). GoHighLevel: connected from your agency account. For the audit, a CSV export also works.
Pick one client. Our team matches the last 90 days of paid jobs to the calls, forms and clicks behind them. Within 5 business days you get a report with paid jobs, revenue and cost per paid job by campaign, and we walk you through it on a 20-minute call. You keep the report.
Free Booked Jobs Audit
Pick one client. Our team matches 90 days of paid jobs to your ads, sends you the report within 5 business days and walks you through it on a 20-minute call.
Read-only access to your client's CRM. We never change jobs, invoices or customers.