Splitlab

Documentation

ClickFunnels 2.0

Connect ClickFunnels 2.0 so its contacts and sales count toward your A/B tests. ClickFunnels sends each event to a Splitlab webhook the moment it happens, and Splitlab credits the money to the test variant the buyer saw.

Everything is scoped to a workspace

The webhook belongs to the Splitlab workspace that created it. Revenue it receives counts in that workspace only. No campaign needs to be picked: Splitlab finds the variant from the visitor.

Before you start

  • The Splitlab snippet installed on the funnel.
  • The hidden mvt_visitor_id field on the funnel's forms: ClickFunnels 2.0 forms. Without it, sales still arrive but show as Unattributed.
  • The Splitlab role that can manage integrations in the workspace.

1. Start the connect wizard in Splitlab

  1. In Splitlab, select the workspace, then open Integrations → ClickFunnels 2.0 and click Create. The Connect ClickFunnels 2.0 wizard opens.
  2. Name: give the connection a name you will recognise, such as the ClickFunnels workspace it belongs to.
  3. Webhook URL: click Create webhook URL, then copy the URL it shows.

Keep the wizard open: you come back to it for the events, the secret and the token.

2. Add the endpoint in ClickFunnels

Step 1. Open Workspace Settings (1) at the bottom of the ClickFunnels sidebar.

Step 2. Open Webhooks (2). Scroll down the settings menu to find it.

ClickFunnels sidebar with Workspace Settings marked, and the settings menu with Webhooks marked

Step 3. Click Add new endpoint (3).

Webhooks endpoints page with Add new endpoint marked

Step 4. Fill in the endpoint (4):

FieldValue
NameAnything you recognise, such as Splitlab.
URLThe webhook URL you copied from Splitlab.
Event typesThe events the wizard's Events step lists, at least the required ones. See the event table.
API VersionV2

New webhooks endpoint form with Name, URL, Event types and API Version marked

Step 5. Scope it to your funnel. Under Endpoint scopes → Funnels (5), select the funnel your A/B test runs on. ClickFunnels then sends only that funnel's events to Splitlab. Click Create endpoint (5).

Endpoint scopes with the Funnels field and Create endpoint marked

3. Add the webhook secret to Splitlab

Step 6. Copy the secret. On the Webhooks page, click the name of the endpoint you just created. Its details page opens. Copy the Webhook Secret with the copy button (6).

Webhook endpoint details with the Webhook Secret copy button marked

Back in the wizard, click I've added the URL, tick I've selected these events in ClickFunnels, and paste the secret into the Webhook secret step. Splitlab then rejects any delivery that is not signed with it. The step is optional: skipped, deliveries are accepted unsigned, and you can add the secret later with ⋮ → Edit Integration.

Treat the secret like a password

Paste it only into Splitlab. If it is ever exposed, remove the endpoint in ClickFunnels, create a new one, and paste the new secret into Splitlab.

4. Optional: add a ClickFunnels API token

The token lets Splitlab read your product catalog and fill in order details the webhook leaves out. Splitlab only reads with it, so a read-only token is all it needs.

Step 1. Open the account menu. Click your workspace card at the bottom of the ClickFunnels sidebar (1).

ClickFunnels sidebar with the workspace card marked

Step 2. Open Team Settings (2) from your team in the menu.

Account menu with Team Settings marked

Step 3. Open Developer Portal (3).

Team Settings menu with Developer Portal marked

Step 4. Click Add new platform application (4).

Platform applications list with Add new platform application marked

Step 5. Name the application (5), for example Splitlab. Leave Redirect URIs empty: they are only for OAuth applications, and this one is not.

Step 6. Select Read only (6) under Access this application may request.

New platform application form with Name and Read only marked

Step 7. Click Create platform application (7). Under Workspaces the default API key can reach, you can keep all workspaces or limit the key to the workspace whose funnel you test.

Read only selected and the Create platform application button marked

Step 8. Copy the API access token from the application ClickFunnels just created.

Paste it into the wizard's API token step, or skip that step and add it later with ⋮ → Edit Integration → ClickFunnels API token. Stored tokens are never shown again; leaving the field blank later keeps the saved one. The wizard's last step, Verify, lists deliveries as they arrive.

Keep the token private

Paste it only into Splitlab. If it is exposed, delete the platform application in ClickFunnels and create a new one.

What each event does

Subscribe to the required events at least. order.created and order.updated on their own are not enough: they fire before a payment settles, so an endpoint with only those records no revenue.

Event typeIn Splitlab
order.completed, orders/invoice.paidRequiredRecord the sale and credit it to the variant the buyer saw.
contact.created, contact.updatedRequiredCreate or update the lead, linked to the visitor through mvt_visitor_id.
one-time-order.completed, one-time-order.invoice.paidRecommendedOne-time offers such as upsells.
subscription.invoice.paid, subscription.first_payment_receivedRecommendedSubscription payments.
orders/invoice.refunded, one_time_order.refunded, orders/invoice.voidedRecommendedReverse the revenue of a refunded or voided sale.

Check it works

  1. Open the live funnel in a private window and submit the form with a new email.
  2. In Splitlab, open the integration row's ⋮ → View events. A contact.created delivery appears, and the contact is listed under Conversions → Leads.
  3. Make a test purchase. An orders/invoice.paid delivery appears and the lead shows the revenue as Attributed.

ClickFunnels also shows the endpoint's Last success and Last 24h delivery counts on its details page.

Troubleshooting

SymptomFix
No deliveries in View eventsCheck the endpoint URL matches the Splitlab row exactly, and that the funnel you tested is selected under Funnels.
Deliveries rejected for their signatureThe secret in Splitlab does not match ClickFunnels. Copy it again from the endpoint's details page and paste it in Edit Integration.
Revenue shows as UnattributedThe form has no mvt_visitor_id field, or the snippet does not run on that page. Follow ClickFunnels 2.0 forms.