Skip to content

Events ingestion ​

POST /properties/{pid}/events — send events from your backend, a mobile app or a CRM, in the same model as the tag. Scope events:write. Up to 500 events per request; they appear in reports within seconds.

bash
curl -X POST https://api.eureka-analytics.com/v1/properties/AH-1A2B3C/events \
  -H "Authorization: Bearer $AH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-T-10293" \
  -d '{
    "events": [{
      "name": "purchase",
      "timestamp": "2026-10-29T14:03:00Z",
      "user_id": "u_8f2c",
      "actor_type": "ai_agent",
      "actor_name": "chatgpt-agent",
      "props": { "payment_method": "card" },
      "ecommerce": { "transaction_id": "T-10293", "revenue": 129, "currency": "EUR",
        "items": [{ "id": "SKU-4411", "name": "Trail runner 2", "price": 129, "quantity": 1 }] }
    }]
  }'
Field
nameRequired. Canonical name (page_view, purchase, add_to_cart, sign_up…) or your own snake_case name
visitor_id or user_idAt least one. Pass the _ah_id cookie's visitor ID to attach the event to the browser's visits.
timestamp, event_id, session_idOptional; event_id makes the event idempotent
url, referrer, titleOptional page context
props, num_propsString and numeric properties
ecommerceTransaction and items, same fields as the tag
actor_type, actor_nameSet them when your backend knows an agent acted, for example an order placed through an agent API

The response is 202 Accepted. Events go through the same processing as the tag's (deduplication, transaction de-duplication over 7 days, sessions). For bot hits from your web server or CDN, use the collector's endpoint with an ingest key instead: Server-side bot tracking.

Agents & humans, every visit counts!