SIG//01 Integrations
Connect both
ends of the trace.
Spend comes in from the ad platforms. Outcomes come in from wherever your sales process lives. Everything below is labelled with what it actually does today.
Advertising
Spend and entity sync in, conversion signals back out.
Meta Ads
AvailableCampaign, ad set and ad metrics on a rolling 28-day re-sync, plus Conversions API export with deduplicated event IDs.
Google Ads
In buildCampaign and keyword metrics, plus offline conversion upload against gclid, gbraid and wbraid.
TikTok Ads
PlannedNot in the first release. The integration contract is shared, so adding it is additive.
LinkedIn Ads
PlannedNot in the first release.
CRM and booking
Where the outcomes that matter actually live.
GoHighLevel
AvailableOAuth connection, contact and appointment webhooks, opportunity stage mapping onto your own funnel definitions.
Calendly
PlannedBooking and attendance events via webhook.
HubSpot
PlannedDeal stage changes as conversion events.
Anything else
AvailableIf it can send a webhook or call an HTTP endpoint, it can post outcomes to the events API today.
Commerce
Order value attributed back to the campaign that earned it.
Shopify
PlannedOrders and refunds as valued conversion events.
WooCommerce
PlannedOrders and refunds via plugin or webhook.
SIG//02 The API
If we do not integrate with it, you still can.
Every outcome the platform understands can be posted directly. Scoped keys, idempotency built in, and a 202 the moment it is accepted — attribution happens on a queue, never in your request.
{
"event": "booking_show",
"occurred_at": "2026-08-10T15:32:00Z",
"idempotency_key": "ghl-appt-92812-show",
"identify": {
"email": "a@b.com"
},
"value": {
"amount": 250.00,
"currency": "EUR"
},
"properties": {
"staff": "Ana",
"location": "Skopje"
}
}
Scoped keys
A public key for the browser, restricted to your origins. A secret key for your server. Scopes per action, revocable, never a user token.
Replay-safe
Send the same idempotency key twice and the second call is a no-op. Your retry logic can be as aggressive as you like.
Signed webhooks
Inbound payloads are verified and logged raw before parsing, so a parse bug is replayable rather than lost.
Need one that is not here?
Integrations get built in the order customers ask for them. Tell us what your outcomes live in and we will tell you honestly where it sits.