Skip to main content
POST
Create Event

Overview

This endpoint allows you to send event data to Cometly for tracking conversions, page views, and other user interactions. Events are processed asynchronously and will be queued for processing.

Request Body

Identification Requirements

At least one of the following identification methods is required:
  1. Email: User’s email address
  2. Comet Token: Cometly tracking token
  3. Fingerprint + IP: Both fingerprint and IP address must be provided together
string
required
The name of the event being tracked. Use one of the standard events or a configured custom event.Standard Events:
  • lead_generated
  • view_content
  • schedule
  • purchase
  • subscribe
  • add_to_cart
  • contact
  • initiate_checkout
  • add_payment_info
  • complete_registration
  • start_trial
  • sign_up
  • submit_application
  • webinar_registration
Custom Events: Custom events are named custom_event_1 through custom_event_50. View our help article to learn how to configure custom events prior to sending to Cometly.

Tracking Parameters

string
User’s email address. Can be used as the primary identification method.
string
Cometly tracking token. Can be used as the primary identification method.
string
Browser fingerprint for user identification. Must be provided together with ip.
string
User’s IP address. Must be provided together with fingerprint.
string
Custom tracking identifier. Events with the same tracking_id will be attributed to the same contact.

User Information

string
User’s full name
string
User’s first name
string
User’s last name
string
User’s phone number

Session Information

string
Browser user agent string
string
Timestamp of when the event occurred. Accepts ISO 8601 format or Unix timestamp in seconds.
string
The URL where the event occurred

Ecommerce Data

number
Transaction amount (for purchase events)
string
Unique order identifier. This field is used in our deduplication logic — if multiple events are sent with the same order_id, they may be treated as duplicates. Ensure each distinct order uses a unique value.
string
Order name or description
string
Checkout session token
boolean
Indicates if this is an upsell transaction
string
Common identifier linking upsells to original orders

Attribution Parameters

string
Traffic source (e.g., “google”, “facebook”)
string
Ad network name
string
Campaign name or identifier
string
Ad group name or identifier
string
Specific ad identifier
string
Keyword that triggered the ad
string
Traffic type (e.g., “cpc”, “organic”)

Custom Fields

string
Custom profile field values passed as root-level properties. Fields 1-15 accept text, 16-25 accept numbers, 26-30 accept dates.Example: "profile_field_1": "Enterprise", "profile_field_16": "500"

Advanced Options

string
Unique key to prevent duplicate event processing. Use this to safely retry requests.
boolean
Set to true to prevent this event from being sent to Conversions API integrations

Response

Success Response

number
HTTP status code (202)
string
Success message indicating the event was queued

Error Response

string
Error description explaining what went wrong

Example Requests

Status Codes

Notes

  • Rate Limit: This endpoint has a limit of 1000 requests per minute per Space. See Rate Limiting for details.

Validation Rules

  • At least one identification method must be provided:
    • email, OR
    • comet_token, OR
    • Both fingerprint AND ip together
  • event_name is required
  • If fingerprint is provided, ip must also be provided (and vice versa)
  • event_time accepts ISO 8601 format or Unix timestamp in seconds
  • amount must be a number if provided

Meta Deduplication

The idempotency_key in our API is a unique identifier that ensures data consistency and prevents duplication of events. You can extract the event_id from the Meta browser pixel and use it as the idempotency_key when interacting with our API. Upon an attributed Meta ad conversion event, we will send this value as event_id to prevent duplication, enabling Meta to recognize the event_id and deduplicate browser events.
Use the idempotency_key parameter to safely retry requests without creating duplicate events. The same idempotency key will prevent the event from being processed multiple times.