Skip to content

Log Event Endpoint ​

The log event endpoint saves a log of a user action on the site.

Endpoint Details ​

Path: /split-test/log-event
Method: POST

Payload:

  • type: [string] - The slug for the event type that occurred.
  • value: [number] - The value to assign the user action. When logging a simple event rate, this value is typically 1, but for an event like a purchase, you may want to put the purchase total or number of products purchased.
  • data: [object] - A plain object with details about the user. This will be appended to the user session.

Return Values ​

StatusData TypeReason
204(Empty)There was no error but no event was logged due to filters or ome other reason
201
{
    event_id: string;
    session_id: string;
}
The event was successfully logged
400
{
    statusCode: number;
    error: string;
    reason?: string;
}
There was a problem with the payload you sent to the endpoint
500
{
    statusCode: number;
    error: string;
    reason?: string;
}
There was a problem on the server or an unknown error occured

Example Request ​

js
// We will use fetch for the example
// Make the request to the participate endpoint
const response = await fetch('https://mysplittytest.com/split-test/participate', {
    method: 'POST',
    headers: {
        'Authorization': 'API-Key YOUR_API_KEY',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        section_id: 'cta_button',
        data: {
            day_part: 'weekday'
        }
    });
});

// Parse the response
if (response.ok) {
    throw new Error('Unable to get test data!');
}
const { variation } = await response.json();

// Apply the variation data where needed...
const cta_button = document.getElementById('cta-button');
if (cta_button && variation.data.label) {
    cta_button.textContent = variation.data.label;
}