Integrations
Connect Jotform
Connect Jotform with an account API key. LeadJourney registers a webhook on every form and can add an lj_click_id field for you, so each submission is attributed to the ad that drove it.
Connecting Jotform turns form submissions into LeadJourney conversions, attributed to
the campaign, ad set and ad that brought the visitor in. Jotform connects with an account API
key (there's no OAuth): you paste the key and pick your region, and LeadJourney registers a
webhook on every form in your account, so submissions start flowing right away and keep
flowing as you add new forms. For attribution, each form needs an lj_click_id field to
hold the click ID, which LeadJourney can add for you. Mapped submissions flow through the
same postback pipeline as your offline conversions, so they pick up every ad postback
you've already configured.
Before you start
Have these ready so the connection works end to end:
- An active LeadJourney workspace and a Jotform account where you can create an API key.
- The region your Jotform account lives in: US (jotform.com), EU (eu.jotform.com) or HIPAA (hipaa.jotform.com).
- Tracking is live: clicks have to be recorded first so submissions can be matched back to a campaign. See Install the tracking script.
- At least one conversion type to map onto (e.g.
Lead). Set these up first in the Events Manager.
Where to find it
Open Settings → Apps, or go to app.leadjourney.io/settings?slug=apps. Click the Jotform card (under Forms) to open the integration. While you're not connected you'll see a “Connect your Jotform account” card; once connected, the same screen shows your account, a Forms panel and your Triggers.
Step by step
Paste your API key and pick your region
In Jotform, open Account → API and create (or copy) an API key. Back in LeadJourney, on the Connect your Jotform account card:
- Jotform API Key: paste the key.
- Region: choose US (jotform.com), EU (eu.jotform.com) or HIPAA (hipaa.jotform.com). An API key only works against its own region, so match the datacenter your account lives in.
- Click Connect.
LeadJourney validates the key by calling the Jotform API. The key is stored encrypted and only used to read your account for the mapping UI and to register webhooks. When it works you'll see a confirmation that Jotform is connected and webhooks are being registered on your forms. (For a short version of the attribution steps, open How do I set up Jotform for attribution? on the card.)
Check the connection and your forms
The header shows a Live pill (or Needs reconnect), your Account, Forms tracked (forms with a working webhook, out of all forms, plus when they were last synced) and Active triggers.
The Forms panel lists every form with two status pills:
- Webhook on / Not registered: whether submissions from this form reach LeadJourney.
- Attributable / No click id: whether the form has an
lj_click_idfield.
New forms are picked up automatically each hour. To pick them up now, click Re-sync forms.
Make each form attributable
Jotform only records a URL parameter when the form has a field to hold it, matched by the
field's unique name. So each form you want attributed needs a field named lj_click_id:
- Let LeadJourney add it: on a form showing No click id, tick Auto-add click id.
LeadJourney adds a hidden
lj_click_idfield for you, and the tracking script fills it from the landing-page URL. When it works, a confirmation says the form now carries the click id and the pill flips to Attributable. Forms still waiting are listed under Setting up attribution on … forms; click Re-sync forms to process them now. - Add it yourself: in the Jotform builder, add a hidden field whose unique name is
lj_click_id, then click Re-sync forms.
Once a form has the field, its row shows click id via lj_click_id.
Add a trigger
In the Triggers panel, where each trigger maps Jotform submissions to one of your conversions (for every form, or just one), click Add trigger. In the New Jotform trigger dialog:
- App: Jotform (already selected).
- LeadJourney Event: pick the conversion type submissions should record, e.g.
Lead. (No options? Create one under Settings → Events first.) - Form: leave on All forms to fire for every submission on the account, or scope the trigger to one form.
- Trigger: select the submission trigger.
Click Continue.
Receive data and confirm the mapping
The dialog opens a three-tab flow:
- Receive Data: click Find latest data to load submissions. If nothing appears, submit
the form yourself and check again, then click Continue with selected record. Forms
without an
lj_click_idfield are named in a warning. You can still save; those submissions just won't tie back to a click. - Configure Mapping: map the submission onto Email, Name, Phone, click_id,
Revenue and Currency, using Add custom field for anything extra. Answers are
addressed by the field's unique name (e.g.
fields.email) rather than by position, andfields.lj_click_idis the place to map click_id from. Click Save & Continue. - Filtering (optional): add conditions; each one is tested against the record you selected and shows PASS or FAIL, with a summary like “Your trigger would have fired”. Use Add Another Filter for more.
Click Activate to finish.
How submissions link to the right campaign
When a visitor arrives through a LeadJourney-tracked link, the landing-page URL carries
lj_click_id. The tracking script fills the hidden lj_click_id field on your form from
that URL, so the value is part of the submission. Your trigger maps fields.lj_click_id to click_id, and every
submission arrives tied to the click, and therefore the campaign, ad set and ad, that earned
it. To check, expand a record on Receive Data and confirm fields.lj_click_id has a
value.
Managing your triggers
Each trigger appears as a row (Jotform event → conversion type) with an Active / Paused pill, the form it's scoped to (or All forms) and how many fields and filters it uses.
- Pause / Resume: use the toggle to stop a trigger temporarily without deleting it.
- Edit: change the form, mapping, filters or target conversion.
- Delete: remove a single trigger (type
deleteto confirm); your forms keep their webhooks. - Add another: e.g. one trigger per form, each mapped to a different conversion.
Reconnecting
Because Jotform uses an API key, there's no re-authorization flow. When something breaks, the header flips to Needs reconnect and a banner explains why:
- “Jotform rejected the API key”: the key was rotated or revoked, or the region doesn't match. Click Disconnect & re-enter key, then connect again with a fresh key.
- “Jotform is rate limiting us”: your key is fine; LeadJourney backs off and retries, so this usually clears on the next sync.
- “No form is wired up”: the webhook isn't registered on any form. Click Re-sync forms.
- “Jotform is unreachable”: usually a temporary outage. Try again in a minute.
Re-entering the key means disconnecting
Disconnect & re-enter key opens the regular disconnect dialog, which deletes your triggers (see below). Note your trigger setup before you confirm.
Disconnecting
To remove Jotform, click Disconnect in the header, type disconnect and confirm with
Disconnect Jotform. This is deliberate because it's destructive:
Disconnect deletes your triggers
Disconnecting permanently removes the Jotform account from this workspace, removes the LeadJourney webhook from your forms and deletes every trigger. Submissions stop flowing into your conversions immediately. You can reconnect later, but your trigger configuration won't be restored.
Troubleshooting
Connecting fails with an error on the card?
Usually the key is wrong or doesn't match the region. Copy the key again from Account → API and make sure Region matches where your account lives (an EU account needs EU (eu.jotform.com)).
A form stays on “No click id” after a sync?
LeadJourney couldn't edit that form. Check that your API key has permission to edit forms
(in Jotform, a key with full access rather than read-only), or add a hidden field with the
unique name lj_click_id yourself, then Re-sync forms.
Forms “failed to register”?
LeadJourney couldn't attach its webhook to the listed forms, so their submissions won't arrive. The reason is shown next to each form. Click Re-sync forms to retry.
Submissions come in but aren't attributed to a campaign?
Check that (1) the tracking script is installed and recording clicks, (2) the form shows
Attributable, (3) visitors reach the form through a LeadJourney-tracked link, and (4)
the trigger maps click_id from fields.lj_click_id and is Active. As a fallback, map
Email or Phone so the submission can still be matched.
Common questions
Related articles
Connect Typeform
Connect your Typeform account in minutes. Authorize once, LeadJourney registers a webhook on every form, then give each form an lj_click_id URL parameter so submissions are attributed to the ad that drove them.
Connect Calendly
Connect your Calendly account in minutes – no API keys, no webhooks to wire by hand. Authorize once, then map booking events like meetings booked, cancellations and no-shows straight onto your conversions.