Server-Side Event Tracking

Backend Log API Guide

Capture behavioural data from any backend system and send high-quality signals to LeadBoxer.

Server-side tracking lets you submit events directly from your backend, application server, automation platform or mobile app. This is ideal for actions that do not occur in a browser and for environments where SDKs are not available or not desired.

1. When to Use Server-Side Tracking

Server-side tracking is the preferred approach when:

You want full control

  • define your own payload
  • bypass browser limitations
  • test or debug event flows

You work in backend systems

  • sign-ups and logins
  • subscription changes
  • CRM activities
  • processed webhooks
  • internal product events
  • mobile app actions
  • batch imports

You need reliable identification

  • attach trusted identifiers such as userId or email
  • ensure consistent stitching across devices and sessions

Server-side events provide clean attribution, stable identities and data unaffected by ad blockers or cookie restrictions.

2. Endpoints

LeadBoxer supports two server-side ingestion endpoints. Choose the one that fits your implementation:

Track API for Event Submission (URL format)

Used for sending URL-encoded events.

https://log.leadboxer.com

Supports GET and POST.

Ideal for backend systems, automation tools and product servers.

All endpoints run on an ingestion pipeline optimised for real-time processing, scaling and high throughput.

3. Required Parameters

Every event needs at least one dataset identifier:

si = dataset ID

ti = title or event name

Example (minimal event):

https://log.leadboxer.com/?si=your-dataset-ID&ti=Please track me

Submitting an event results in:

  • event ID

  • session ID

  • user ID

  • counters for unique & total events (used for analytics)

4. Naming Rules & Payload Structure

Property naming

  • ASCII characters only
  • values must be URL-encoded
  • include as many name/value pairs as needed

Example:

https://log.leadboxer.com/?si=123&action=signup&plan=premium

Automatic propagation

Any property attached to an event is copied to the user profile.

This enables progressive enrichment over time.

5. User Identification

Server-side identification is the most accurate method.

Recommended fields:

  • userId (preferred)
  • email

Why?

Values sent from your backend are trusted, stable and not impacted by browser limitations. They allow LeadBoxer to:

  • stitch anonymous web behaviour
  • merge frontend + backend actions
  • enrich profiles
  • improve scoring accuracy

Get user ID from browser

In order to update an existing user (lead) you need to know the LeadBoxer user ID.

You can get the LeadBoxer user ID by reading this from the Cookie, with the following javascript function:

ot_uid();

Here is an example from the console:

So by using that UserID to the API call, you can update an existing user

6. Updating an Existing User or Session

If you know the user or session IDs, include:

  • uid → User ID
  • sid → Session ID

Example:

https://log.leadboxer.com/?si=your-dataset-ID&sid=12345&uid=98765&[email protected]

This updates the existing entities with the new properties (email)

Use server-side tracking for key milestones or signals:

  • user_registered
  • trial_started
  • subscription_upgraded
  • invoice_paid
  • account_expanded
  • crm_status_updated

Using a proxy

By inserting events with a raw url, some properties are automatically filled. This includes the computer or browser (from the requests user agent) and are the country/ region/ city and session end unix timestamp, are automatically detected and will overwrite the current values of the user.

Sometimes you don't need this, so to prevent this from happening the proxy property can be set to a value of true.

Example

https://log.leadboxer.com/?si=your-dataset-ID&sid=12345678&uid=123345656&[email protected]&proxy=true

Return formats & callback

The default return value is always the event id, usually generated by the engine

You override this feature, by passing the format needed of the returned value:

  • &pix will return a 1x1 pixel
  • &json will return the event id as json

If a callback parameter is received (which is what jquery will call with its jsonp algorithm, then the returned json is formatted as jsonp, otherwise it is formatted as json see for details http://docs.jquery.com/Ajax/jQuery.getJSON , eg callback=jQueryCallback)

https://log.leadboxer.com/?si=your-dataset-ID&sid=12345678&uid=123345656&[email protected]&proxy=true&json&callback=jQueryCallback


Pre-defined parameters

These parameters can be used to submit data to LeadBoxer.

We advise to first test with a test account before moving towards production.

ParameterRequiredFunction
si*your dataset ID
tithe title of the event, this shows up in the user’s clickstream
eidevent id, if not provided a new event ID will be created and returned
sidsession id, if not provided a new session ID will be created that is identical to the event ID
uiduser id, overrides any user; if no user ID or email value is provided a new user ID will be created identical to the event and session ID
proxyIf the request contains ‘proxy=true’ then this signifies that this is not the original source of the data. Useful if you are updating information from a proxy and do NOT want automatic enrichment of geographic/user-agent data. Also will not update the event/session counters.
browserthe browser being used for this request (automatically detected from the user agent if not given)
browserVersionthe browser version being used for this request (automatically detected from the user agent if not given)
eheffective screen height
eweffective screen width
ipoverride the request’s IP with this IP number. All geographic data will map to this IP number
lcURL of this event (needs to be in full URL format, e.g. https://www.mysite.com/mypage)
localethe language/locale used for this event
otorthe original referrer of the user id; given as e.g.: 1279273431384.http%3A//google.com
otpethe previous location (URL), used to calculate viewed time for pages
otrthe referrer of the session id; given as e.g.: 1279273431384.http%3A//google.com
platformthe platform making this request (eg Windows / OS X). If not given, then this is automatically detected from the user agent.
pixif set then this API request returns a single pixel — useful if you want the API to return an image
refthe current referrer
scscreen colours
shscreen height
swscreen width
tzthe timezone given