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.comSupports 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 meSubmitting 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=premiumAutomatic 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)
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=trueReturn 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:
&pixwill return a 1x1 pixel&jsonwill 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=jQueryCallbackPre-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.
| Parameter | Required | Function |
|---|---|---|
si | * | your dataset ID |
ti | the title of the event, this shows up in the user’s clickstream | |
eid | event id, if not provided a new event ID will be created and returned | |
sid | session id, if not provided a new session ID will be created that is identical to the event ID | |
uid | user 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 | |
proxy | If 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. | |
browser | the browser being used for this request (automatically detected from the user agent if not given) | |
browserVersion | the browser version being used for this request (automatically detected from the user agent if not given) | |
eh | effective screen height | |
ew | effective screen width | |
ip | override the request’s IP with this IP number. All geographic data will map to this IP number | |
lc | URL of this event (needs to be in full URL format, e.g. https://www.mysite.com/mypage) | |
locale | the language/locale used for this event | |
otor | the original referrer of the user id; given as e.g.: 1279273431384.http%3A//google.com | |
otpe | the previous location (URL), used to calculate viewed time for pages | |
otr | the referrer of the session id; given as e.g.: 1279273431384.http%3A//google.com | |
platform | the platform making this request (eg Windows / OS X). If not given, then this is automatically detected from the user agent. | |
pix | if set then this API request returns a single pixel — useful if you want the API to return an image | |
ref | the current referrer | |
sc | screen colours | |
sh | screen height | |
sw | screen width | |
tz | the timezone given |
Updated about 20 hours ago
