When the loan funds, Meta should know. Within 24 hours.
Meta optimization starves without close events
A mortgage broker spends $140,000/mo on Meta lead-form ads. The Meta pixel fires on submit. Then the lead vanishes into HighLevel — and 60 days later when the loan funds for $8,500, Meta has no idea. The optimization algo keeps optimizing for form fills, not funded loans. Cost-per-acquisition silently drifts 3-4× from the real customer-acquisition cost.
The fix is offline-conversion-upload — Meta CAPI Offline Events, Google's Click Conversion API, TikTok Offline Events. Every ad platform supports it. Almost nobody uses it. Why? Because it requires: (1) capturing every click ID at form-submit time, (2) persisting it across the 30-90 day sales cycle, (3) uploading the conversion when the deal closes, and (4) doing all of the above for every platform you run, separately.
Insurance agencies, mortgage brokers, auto dealers, and real-estate teams don't have a server-side engineer. They have a Meta agency, a Google agency, a HighLevel admin, and a closer who marks leads “won” in a CRM. The conversion data is right there. The plumbing to get it back to the ad platforms is what TrackLayer's lead-gen vertical does.
Submit → Qualify → Close → Upload
Lead submits the form
HighLevel, HubSpot, Salesforce, or your custom form posts to /v1/integrations/highlevel/webhook with HMAC signature. TrackLayer stores the lead, captures fbp, fbc, gclid, ttclid, li_fat_id, and fans out a lead_submitted event to Meta, Google, TikTok, LinkedIn — so ad platforms see the lead immediately.
Status updates flow in
When your team marks the lead qualified in the CRM, another webhook fires. TrackLayer records the transition and sends a lead_qualified signal to GA4 and Google Ads as a custom conversion. Value-based bidding starts preferring SQLs over MQLs.
Deal closes
Status flips to closed with a value: $8,500 for a funded loan, $2,400 for a bound policy. TrackLayer matches it back to the original click via fbc/gclid/ttclid.
Meta CAPI fan-out
A lead_closed event fans out as Purchase to Meta CAPI Offline (within the 7-day window), converted_lead to Google Ads (within 90 days), CompletePaymentto TikTok offline events, and PURCHASE to LinkedIn. Every platform's optimizer learns from the actual revenue event, not the form fill.
What you actually need vs what HighLevel, LeadConnector, and Hyros ship
- Offline conversion upload
- •
- HighLevel signed webhook
- •
- HubSpot CRM v3 signing
- •
- Salesforce platform events
- •
- Click ID persistence (90d)
- •
- Meta CAPI fan-out (auto)
- •
- Google Click Conv (auto)
- •
- TikTok Offline (auto)
- •
- Per-platform value mapping
- •
- Retroactive value updates
- •
- Source code transparent
- •
- Price (per month, mid-tier)
- $299
- Offline conversion upload
- —
- HighLevel signed webhook
- •
- HubSpot CRM v3 signing
- —
- Salesforce platform events
- —
- Click ID persistence (90d)
- ~
- Meta CAPI fan-out (auto)
- —
- Google Click Conv (auto)
- —
- TikTok Offline (auto)
- —
- Per-platform value mapping
- —
- Retroactive value updates
- —
- Source code transparent
- —
- Price (per month, mid-tier)
- $497+CRM
- Offline conversion upload
- •
- HighLevel signed webhook
- —
- HubSpot CRM v3 signing
- —
- Salesforce platform events
- —
- Click ID persistence (90d)
- —
- Meta CAPI fan-out (auto)
- •
- Google Click Conv (auto)
- •
- TikTok Offline (auto)
- —
- Per-platform value mapping
- —
- Retroactive value updates
- —
- Source code transparent
- —
- Price (per month, mid-tier)
- $397
- Offline conversion upload
- •
- HighLevel signed webhook
- —
- HubSpot CRM v3 signing
- —
- Salesforce platform events
- ~
- Click ID persistence (90d)
- •
- Meta CAPI fan-out (auto)
- —
- Google Click Conv (auto)
- —
- TikTok Offline (auto)
- —
- Per-platform value mapping
- •
- Retroactive value updates
- —
- Source code transparent
- —
- Price (per month, mid-tier)
- $799
Three verticals, three before/after stories
Meta optimizes for lead-form fills at $38 CPL. Bind rate is 18%. Real CPA is ~$211/policy, but Meta sees $38 — so it floods the funnel with low-intent leads. Sales team complains the leads are “tire-kickers.”
TrackLayer fires lead_closedwith the bound premium when the policy issues. Within 28 days, Meta's optimizer shifts toward the audience segments that actually bind. CPL rises to $54, but cost-per-bound drops to $167 — the same budget produces 26% more bound policies.
Funded-loan attribution lives in Encompass. Meta and Google both see only the lead form. The Google rep keeps recommending “value-based bidding,” which is impossible without offline conversions flowing back. Loan officers manually email the marketing team a CSV of funded loans every Friday. Sometimes.
Encompass + HighLevel webhooks → TrackLayer → all three platforms. Funded-loan value (commission to broker, ~0.85% of loan amount) flows back within 24h of close. Google value-based bidding produces a 2.1× ROAS lift in 60 days. Meta Advantage+ campaigns finally outperform the manual ones.
Lead form fires Lead pixel. Walked-in test drives never get back to Meta. CRM (DealerSocket) shows 4.2% test-drive-to-sale, but Meta optimizes purely on the upper funnel. Ad spend allocates to vehicles that generate leads, not vehicles that sell.
DealerSocket webhook → TrackLayer fires lead_qualified when the test drive happens, lead_closed when paperwork signs (with the OTD price as value). Per-vehicle ROAS becomes visible in Meta Ads Manager. Pickups get more spend, sedans less.
Three CRM webhooks shipped today
Signed HMAC-SHA256 webhook
Wire the LeadConnector outbound webhook to /v1/integrations/highlevel/webhook. We verify the x-hl-signature header, parse opportunity stage transitions (won / lost / qualified / closed-won), and read the monetary_value field for the close event.
Webhook v3 signing (HMAC-SHA256 + timestamp)
Configure your HubSpot app's webhook subscriptions for contact.creation, deal.creation, and deal.propertyChange events. We verify the x-hubspot-signature-v3 header against METHOD+URI+BODY+TIMESTAMP, parse dealstage and lifecyclestage, and pull amount + closedate.
Platform Events + custom Apex callouts
Salesforce Flows can post to /v1/integrations/salesforce/lead-event with a shared-secret HMAC. We accept both base64 (platform-event signing) and hex (custom Apex). Lead.IsConverted, Opportunity.StageName, and AnnualRevenue all map to the lead lifecycle.
Three tiers, all include Meta + Google + TikTok offline upload
Up to 1,000 closed leads/mo. Meta CAPI Offline + Google Click Conversion. HighLevel webhook included.
Start free trial →Up to 10,000 closed leads/mo. All 12 platforms. HubSpot + Salesforce webhooks. Retroactive value updates. Lead-funnel dashboard.
Start free trial →Unlimited leads. Custom CRM webhook adapters on request. Dedicated attribution-window tuning. SLA-backed offline-conv upload latency.
Talk to sales →Consent jurisdiction + CCPA opt-out + audit chain.
Consent jurisdiction
GDPR/CCPA-aware routing blocks non-consented events before they reach ad platforms.
CCPA opt-out
Honors consumer deletion and opt-out requests across all downstream destinations.
Audit chain integrity
Immutable logs of every lead event, consent decision, and platform delivery.
What marketers ask before signing up
▸How is this different from running Meta CAPI directly?
▸Do you store PII?
▸What if my CRM isn't HighLevel, HubSpot, or Salesforce?
▸How long is the offline-conversion-upload window?
▸What happens if I update a closed lead's value 30 days later?
▸Is this compliant with GDPR / CCPA?
Wire your CRM in an afternoon.
Most lead-gen integrations are live within 4 hours: 30 minutes for the webhook, the rest is mapping CRM stages to the four lead-gen events. Then you wait for the next close to roll in.