Documentation
Track API & webhooks
Server-side event ingest, session joins, and optional customer webhook forwarding.
Use the Track API when conversions or events happen off the browser: backend purchases, CRM syncs, offline leads, or server-confirmed signup. The same account API key (adt_…) authenticates Track, MCP, and SDK config.
Browser capture still goes through the first-party snippet (Install). Prefer the SDK for on-site activity; use Track API for server-side joins.
Endpoint
POST https://getintently.io/api/v1/track
Content-Type: application/jsonAPI key in the JSON body (apiKey) and optionally X-API-Key / Authorization: Bearer adt_….
Get keys under Settings → API Keys.
Request shape
{
"apiKey": "adt_xxxxxxxxxxxxx",
"events": [
{
"name": "purchase",
"timestamp": "2026-03-22T15:00:00.000Z",
"properties": {
"value": 149.0,
"currency": "USD",
"order_id": "ord_123"
}
}
],
"session": {
"id": "sess_abc123",
"userHash": "optional_stable_hash",
"pageUrl": "https://yoursite.com/checkout/thanks",
"pageTitle": "Thank you",
"referrer": ""
}
}events[].name— keep names consistent with on-site events. Conversion-class names (purchase,lead,generate_lead,form_submit,sign_up, …) create attributed conversions when attribution is enabled. See Events & identity.session.id— reuse the browser session id when you can (from Stripe metadata helpers or your own join) so server events stitch to the same journey.session.userHash— optional; improves lookback when the session id is new but the visitor is known.session.pageUrl— must be a URL on a verified origin for the account (same allowlist as the SDK).
Consent still applies server-side before storage and destination routing (Consent).
When to use it
| Use Track API | Prefer snippet |
|---|---|
| Server-confirmed purchase / refund | Page views, scroll, forms, clicks |
| Offline or CRM-originated lead | In-browser CTA and content events |
| Backend signup after email verify | Anything that needs DOM / CMP in the page |
Stripe payouts can also create revenue via the Stripe integration without a custom Track call (Stripe revenue).
Customer webhook forwarding
Under Settings → Advanced, you can forward every ingested event to your own HTTPS webhook (plan-gated). Intently still stores and routes to destinations; the webhook is an extra copy for your warehouse or custom pipeline.
- Set Webhook URL and enable forwarding
- Expect server-side POSTs of event payloads (not a substitute for destinations or attribution)
- Keep the URL private; rotate if leaked
This is optional. Destinations (Meta CAPI, GA4, …) are configured separately (Pixels & destinations).
Ops checks
- Send a test purchase/lead via Track API with a known
session.idfrom a recent browser visit - Confirm the event in Event log
- Confirm the conversion appears on Attribution under the expected journey
- Check destination delivery on Destinations / Pixels if routers are enabled