Skip to content

Jotform + Customerlabs 1PD Ops Integration

Jotform is a form builder used for lead capture on websites. When Jotform submissions are forwarded to ad platforms such as Meta, low event match quality — typically below a score of 4 or 5 — degrades campaign attribution accuracy.

This integration resolves that by injecting the CustomerLabs UID (cluid) as a hidden field in the Jotform submission payload. The cluid links the server-side form submission back to the originating browser session, enabling accurate event unification within Customerlabs 1PD Ops.

  1. Jotform Admin Access
  2. Active CustomerLabs Account

Log in to Jotform with an account that has admin access to publish forms. Open the live form that requires browser-side event tracking.

jotform login page

In the form editor, click Add Form Elements to open the element panel.

add form elements button in jotform

From the list of basic elements, select Short Text to add a new text input field to the form.

selecting short text from basic elements

Clicking the Short Text element adds an empty input field to the form.

empty short text dialogue box in form

In the Type your question field, enter cluid as the field label. Click the gear icon on the left to open the field properties panel.

naming field as cluid with gear icon

Navigate to the Advanced tab in the field properties panel and set the field visibility to Hidden. This ensures the cluid value is captured in the form submission without being visible to the end user.

advanced settings to make field hidden

The hidden field is now active on the live form and ready to receive the cluid value at submission time.

CustomerLabs Custom Destination Configuration

Section titled “CustomerLabs Custom Destination Configuration”

In CustomerLabs, navigate to Destinations, search for Custom Integration, and click View Details.

customerlabs custom destination setup

Provide a name for the integration and paste the following script into the code editor.

naming integration and adding script
(function() {
if (["/", "/industry/ecommerce-cdp"].includes(window.location.pathname) && window.location.host == "customerlabs.com") {
var cluid = window.CLabsgbVar.generalProps.uid;
var queryParams = new URLSearchParams(window.location.search);
if (!queryParams.has('cluid')) {
queryParams.append('cluid', cluid);
window.location.search = queryParams.toString();
}
}
})()
finding pathname in browser console
finding hostname in browser console

Submit a test entry through the live form. Open the Jotform Contacts panel and confirm that the cluid value has been captured in the hidden field.

verifying cluid in jotform contact

Once the cluid is confirmed in the contact record, the Jotform-side configuration is complete. Proceed to configure the webhook source in Customerlabs 1PD Ops.

Configuring a Custom Source in Customerlabs 1PD Ops

Section titled “Configuring a Custom Source in Customerlabs 1PD Ops”

A Source in Customerlabs 1PD Ops is a connected platform that forwards event data via webhooks. Connecting Jotform as a source enables CustomerLabs to receive form submission payloads, enrich existing user profiles, and construct a unified customer record.

Customerlabs 1PD Ops supports server-side and cloud app sources.

Navigate to the Sources section from the Customerlabs 1PD Ops home screen. The Sources dashboard displays all connected sources, their status, and configuration access.

To add a new source, click Connect Source in the top-right corner to view the available source integrations.

cluid stored in contact field
cluid stored in contact field

Select the appropriate source type from the list. Once the source is connected, workflows can be configured to route and transform the incoming data.

A Workflow processes the raw data received from a source and transforms it into structured event data. Workflows apply field mappings, filters, and event configurations. Multiple workflows can be created per source. Each workflow runs continuously, updating user profiles in real time.

Assign a descriptive name to the workflow for identification purposes. Use a name that reflects the data being processed.

Example: A workflow receiving lead stage updates from a CRM can be named lead_updated or lead_created.

workflow setup screen

Configure a workflow delay when multiple workflows are attached to the same source. Without a delay, all workflows receive the incoming payload simultaneously. This concurrent execution can result in duplicate user ID assignment for new profiles — Customerlabs 1PD Ops may create separate user records across workflows before the first workflow has committed the new user to the database.

Setting a delay ensures that the user identity is resolved by the first workflow before subsequent workflows process the same event.

To configure event mappings, a sample payload must be available. Trigger a test event in the source platform to populate the sample data panel. Up to five samples can be fetched at a time. Sample retrieval may take additional time depending on the source.

selecting sample data in workflow

Select the event name from the dropdown. For Jotform lead submissions, use a custom event name such as cl_leads or cl_registration.

event name configuration
event name configuration
event name configuration

Map the cluid hidden field as the primary user identifier. The cluid links the server-side form submission to the originating browser session, enabling unification of browser and server-side events.

user identity mapping with cluid

Up to three user identifiers can be configured per workflow, including external IDs. Customerlabs 1PD Ops stores these identifiers to build an enriched, unified user profile.

Map all user-level attributes from the form submission under User Traits. These traits are forwarded to connected destinations and are required for accurate audience targeting and personalization.

user traits configuration

Common traits to map from Jotform submissions include first_name, last_name, email, phone, company, and address. For destination-specific requirements — such as passing an email address to an email marketing platform — the relevant trait must be explicitly mapped in this section.

Source Logs record all payloads received by the source webhook prior to workflow processing. Logs may have a display latency of up to 10 minutes. Access logs by navigating to the source and clicking Logs.

source logs section

Each inbound message is assigned a unique message ID for traceability across workflows and the event manager.

Displays the raw payload received from the source in JSON format.

source data in log

Displays the processed payload forwarded to the configured workflows, along with the generated message ID.

source data out log
source data out log

Each workflow maintains its own log, showing how incoming events are transformed — including user traits, event attributes, group traits, external IDs, and group identities.

The following status messages may appear in the Data Out log:

StatusDescription
Mapping not foundThe workflow is in draft mode and has not been published.
Filter condition failedThe incoming event did not satisfy the configured filter criteria and was not processed.
User ID missing / Account ID missingThe payload does not contain a required user or account identity field. The event will not be processed further.
Data not foundThe event is still being processed. Under high load, processing may take up to 10 minutes.

Once events are processed through workflows, the resulting data can be forwarded to connected third-party destinations to support advertising, analytics, and marketing automation use cases.