Radar delivers tracked data to your backend using webhooks. You can choose between two delivery modes:

1. Event-Based Delivery

Events are pushed to your webhook as they occur, in near real-time.

Pros

  • Low latency
  • Immediate processing

Tradeoffs

  • Requires session stitching on your end
  • Must manually compute page durations using pageview + pageleave pairs
  • More data processing responsibility

Events are sent after the session ends, grouped and enriched with derived metrics.

Advantages

  • Pageview durations (total_time_on_page, engagement_time) are precomputed
  • Sessions are automatically constructed and batched
  • Great for analytics, scoring, and intent modeling

Example: Pageview Event (Session-Based)

{
  "internal_identifier": "my-customer-id",
  "session_uuid": "123e4567-e89b-12d3-a456-426614174000",
  "start_time": "2025-06-16T13:00:00+00:00",
  "last_activity": "2025-06-16T13:15:42+00:00",
  "engagement_time": 937,
  "events": [
    {
      "event_uuid": "89ab1234-cdef-5678-9012-3456789abcde",
      "event_name": "$pageview",
      "created_at": "2025-06-16T13:02:17+00:00",
      "context": {
        "type": "browser",
        "geo": {
          "ip": "192.0.2.45",
          "country": "Germany",
          "region": "Berlin",
          "city": "Berlin"
        },
        "device_uuid": "device-789",
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
        "browser": {
          "name": "Chrome",
          "version": "122.0.0.0"
        },
        "device": {
          "type": "Desktop",
          "operating_system": "Windows",
          "operating_system_version": "10"
        },
        "referrer": {
          "scheme": "https",
          "host": "newsletter.example.com",
          "path": "/latest",
          "query": "utm_source=newsletter&utm_medium=email",
          "fragment": "section-2"
        },
        "utm": {
          "source": "newsletter",
          "medium": "email",
          "campaign": "june-product-update",
          "content": "cta-button",
          "term": "conversion"
        },
        "page": {
          "url": "https://app.example.com/dashboard?view=analytics",
          "title": "User Dashboard - Analytics Overview",
          "engagement_time": 542
        }
      },
      "event_properties": {
        "$url": "https://app.example.com/dashboard?view=analytics",
        "$title": "User Dashboard - Analytics Overview",
        "$scheme": "https",
        "$host": "app.example.com",
        "$path": "/dashboard",
        "$query": {
          "view": "analytics"
        },
        "$fragment": "section-2",
        "$total_time_on_page": 937,
        "$engaged_time_on_page": 542
      },
      "user_properties": {
        "$uuid": "anonymous-user-4455"
      },
      "meta": {
        "library": {
          "name": "radar.js",
          "version": "1.8.0"
        }
      }
    }
  ]
}

Example: Custom Event (Session-Based)

{
  "internal_identifier": "my-customer-id",
  "session_uuid": "123e4567-e89b-12d3-a456-426614174000",
  "start_time": "2025-06-16T13:00:00+00:00",
  "last_activity": "2025-06-16T13:15:42+00:00",
  "engagement_time": 937,
  "events": [
    {
      "event_uuid": "89ab1234-cdef-5678-9012-3456789abcde",
      "event_name": "CTA_clicked",
      "created_at": "2025-06-16T13:02:17+00:00",
      "context": {
        "type": "browser",
        "geo": {
          "ip": "198.51.100.23",
          "country": "Netherlands",
          "region": "North Holland",
          "city": "Amsterdam"
        },
        "device_uuid": "pirate-device-789",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Safari/605.1.15",
        "browser": {
          "name": "Safari",
          "version": "16.4"
        },
        "device": {
          "type": "Desktop",
          "operating_system": "macOS",
          "operating_system_version": "12.6.1"
        },
        "page": {
          "url": "https://www.example.com/pricing",
          "title": "Pricing - Plans for Every Team",
          "engagement_time": 542
        }
      },
      "event_properties": {
        "cta_text": "Try for free",
        "cta_position": "navbar-right"
      },
      "meta": {
        "library": {
          "name": "radar.js",
          "version": "1.8.0"
        }
      }
    }
  ]
}