Meta Pixel fires on a form submit or call page visit. The actual $800 HVAC job closes three days later. Meta never sees it. CAPI closes the loop. ServiceTitan fires a webhook when a job is completed or an invoice is paid. ConversionLoop sends that event to Meta as a server-side Purchase event with the real revenue value. The algorithm stops finding homeowners who click and starts finding homeowners who hire.


When a homeowner clicks your Facebook or Instagram ad and lands on your website, the Meta Pixel fires a PageView. If they fill out a contact form or book a call, it fires a Lead. That is where Pixel tracking ends. The job gets booked in ServiceTitan. The technician shows up and completes the work. The invoice is sent and paid. None of that reaches Meta. The algorithm's model of your ideal customer is built on whoever clicks ads and submits forms, not on whoever actually hires a contractor and pays the invoice. You end up spending budget finding the wrong people at a higher cost per booked job.
Why the manual process breaks — and what changes when you automate it
ConversionLoop captures the fbclid when a homeowner first clicks your Facebook or Instagram ad. That ID is stored server-side. When ServiceTitan fires a webhook for a job completion or paid invoice, ConversionLoop sends a Purchase event to Meta CAPI with hashed contact data and the real revenue amount.
Homeowner clicks your Facebook or Instagram ad. cl.js captures their fbclid and stores it against their email or phone number.
Homeowner submits a form or calls your office. A job is created in ServiceTitan.
Technician completes the job. ServiceTitan fires a Job Completed webhook to your ConversionLoop endpoint.
ConversionLoop sends a Purchase event to Meta CAPI with hashed email, phone, and the stored fbclid for high-quality matching.
Meta registers the conversion. The algorithm starts optimizing for people who hire contractors, not just people who browse.
14-day free trial. No credit card. Setup takes 10 minutes.
Start free trialFollow these steps once. Everything after is automatic.
PurchaseInvoice Paid in ServiceTitan with the exact payment amount. Highest-quality signal for ROAS optimization and Lookalike Audience creation. Tells Meta what a paying customer looks like.
ScheduleJob Booked or Appointment Confirmed. Maps to Meta Schedule event. Useful mid-funnel signal for contractors with longer sales cycles.
LeadNew contact or inquiry. Earlier-funnel signal that helps Meta find prospects more likely to convert to booked jobs.
No. ConversionLoop sends a unique event ID with every CAPI event. Meta's deduplication logic removes any matching Pixel event from the reported count. Your conversion numbers stay accurate.
ConversionLoop sends hashed versions of the customer's email address and phone number, alongside the stored fbclid. All personally identifiable information is hashed with SHA-256 before leaving ConversionLoop servers. Raw customer data is never transmitted to Meta.
Phone leads who never visited your site from an ad will not have a stored fbclid. ConversionLoop will still send the event with hashed email and phone for identity matching. Match rate will be lower for these contacts but still valuable for event-level optimization.
Yes. Each ServiceTitan business unit can send to a separate Meta Pixel. ConversionLoop supports multiple integrations under a single account with independent routing rules per location.


Stop optimizing on guesswork. Every invoice, treatment, and booking — tracked and attributed automatically.
Start free — 14 days on usNo credit card required · 10-minute setup · Cancel anytime