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/json

API 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 APIPrefer snippet
Server-confirmed purchase / refundPage views, scroll, forms, clicks
Offline or CRM-originated leadIn-browser CTA and content events
Backend signup after email verifyAnything 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

  1. Send a test purchase/lead via Track API with a known session.id from a recent browser visit
  2. Confirm the event in Event log
  3. Confirm the conversion appears on Attribution under the expected journey
  4. Check destination delivery on Destinations / Pixels if routers are enabled

Next