System window · Meta ads attribution you host yourself

Meta sees one in four of your booked calls. SIGIL sends it the other three.

When the sale closes in your CRM days after the click, on another device, Meta never learns which ad paid for it. SIGIL stores every funnel step, sends the booked call and the sale back to Meta server-side with the click that earned it, and shows you Meta's numbers next to what actually happened, per ad.

Beta access

Where should the invite go?

Free during beta. One workspace per invite.

By sending this you agree to be contacted about the beta by email or text. No lists, no drip.

I have an inviteFree during beta. Your data stays on your server.
54 seconds: what Meta misses, and what SIGIL sends it.
25%
of booked calls the browser pixel caught on the reference account before SIGIL
100%
of bookings and sales sent server-side with the click that earned them
to the cent
spend reconciled against Ads Manager per ad, ad set and campaign
$0/mo
no per-seat SaaS; one small Railway project you own
How it works

Three steps. Then Meta optimises on reality.

01

Your site tells SIGIL about the click

After your opt-in form succeeds, one extra request carries the ad id and click id. Nothing on your lead path changes, and if SIGIL is ever down your lead still lands.

02

Your CRM tells SIGIL about the stage

Booked a call, paid, signed a retainer: your CRM posts an email and a stage name. SIGIL finds the person, finds the ad that earned them, and queues the event.

03

SIGIL tells Meta, server-side

Every stage reaches the Conversions API with the click id, hashed email and phone, and a dedup id. Meta counts each booking once and learns which ads produce money, not just form fills.

What you see

Meta's numbers on the left. The truth on the right. The gap in violet.

The ladder
The ladder
Campaign, ad set, ad. Reported leads and bookings beside attributed ones, with the delta per row.
Monday morning
Monday morning
Spend, leads, booked calls, sales, revenue, ROAS, cost per booked call, and what Meta reported for each.
The people an ad produced
The people an ad produced
Click any ad: its creative, its daily spend and funnel, and the actual people it brought in, with how far each went.
Works with

Any site that can call one URL after opt-in. Any CRM that can fire a webhook on a stage change: GoHighLevel (step-by-step in the app), HubSpot, Close, Zapier, Make, a Stripe relay, or ten lines of your own code. Meta Conversions API and Marketing API.

Set up by Claude

Connect the SIGIL MCP to Claude Code, paste your key, and say “set up SIGIL”. It pastes your tokens, wires your site's opt-in route, adds the CRM webhook, fires a test event and reads Meta's answer back to you.

Beta is invite-only.

Running Meta ads into a call or a sale that closes in a CRM? That is who this is for. Ask for an invite, get a link, create your workspace in a minute, and follow six plain steps in the app.

Beta access

Where should the invite go?

Free during beta. One workspace per invite.

By sending this you agree to be contacted about the beta by email or text. No lists, no drip.

Log in