Skip to content

Systeme.io + CustomerLabs

Systeme.io is an all-in-one marketing platform designed to help businesses create, automate, and optimize their sales funnels. With Customerlabs 1PD Ops, you can configure both client-side and server-side tracking to capture detailed user journeys and form submissions without native platform limitations.

The following guide breaks down how to configure client-side scripts to track interactions, as well as an advanced webhook pipeline for tracking form submissions directly from the funnel.


To track page views and interactions natively on your website:

To get started, copy the core tracking code from your CustomerLabs workspace under Sources → Connect Website and add it to your Systeme.io global header or funnel tracking settings.

Copying the tracking code from CustomerLabs Connect Website section

Systeme.io operates with varying field identifiers depending on the sales step. You can deploy custom JavaScript locally to listen for dynamic events like “Checkout made” directly from your funnel elements.

Example JavaScript snippet mapping checkout fields utilizing querySelector

For your scripts to operate accurately across funnels, it is advised to map logic by URL paths. Utilize your browser’s Developer Tools (Console) to verify your operating hostname and pathname.

Check Hostname:

Verifying window.location.hostname in the browser console

Check Pathname:

Verifying window.location.pathname in the browser console

Step 1.4: Injecting Dynamic Destination Scripts

Section titled “Step 1.4: Injecting Dynamic Destination Scripts”

If you need to manipulate specific embedded elements across dynamic funnels (such as dynamic form iframes on specific paths), you can enforce script execution universally by setting up a Custom Integration within CustomerLabs Destinations.

Navigating to Destinations and selecting Custom Integration

By adding your script targeting logic here, CustomerLabs will automatically deliver this configuration when the appropriate triggers occur.

Configuring dynamic Custom Integration script logic by window.location.pathname

Part 2: Server-Side Webhook Tracking (Custom Sources)

Section titled “Part 2: Server-Side Webhook Tracking (Custom Sources)”

For highly reliable lead capturing and form submission mapping, it is recommended to bridge Systeme.io’s automation functionality directly into CustomerLabs via a Custom Webhook Source.

Step 2.1: Initialize a Custom Webhook Source

Section titled “Step 2.1: Initialize a Custom Webhook Source”

Navigate to the Sources dashboard in CustomerLabs to view your connected tracking sources.

CustomerLabs Sources dashboard

Click Connect Source and select Custom Source as your data ingestion method.

Selecting Custom Source from the sources directory

Create a new workflow connection for the funnel or mechanism emitting the webhook data, providing a descriptive name to easily audit logs later.

Providing a name to initialize the Workflow setup

Under the Data selection step, a unique webhook URL endpoint will be generated. Map this endpoint in your Systeme.io automation rules and execute a test submission. Within CustomerLabs, click Fetch new data to receive the webhook payload.

Clicking Fetch new data to request payload samples

Once triggered, select the incoming sample payload from the list of captured events. Ensure the payload contains the relevant data attributes.

Selecting the sample JSON payload from the payload listing

Navigate to the Event Configuration section.

Event configuration interface overview

Assign the incoming webhook payload an event structure using the dropdown options. Select custom event and map the value appropriately, for example to CL_Lead.

Opening the Assign event dropdown menu
Mapping custom event to CL_Lead

To ensure data points correctly associate with unique customer profiles, configure your User identity mapping. Map incoming identifiers like email or phone to standard CustomerLabs identity fields.

Mapping email and phone identity points

Click on Map other attributes and expand the User traits section to enrich profiles further.

Expanding the User traits menu under mapped attributes

Map your secondary webhook fields, such as first_name and last_name, to fully enrich the new user’s profile with the form answers.

Mapping additional User traits like first name and last name

Once configuration is finalized and saved, you should continuously monitor the health of your webhook streams. Navigate to the Source listing and review the Logs tab to verify that production events are correctly flowing and parsing without errors.

Clicking the Logs button in the Sources dashboard table