Integrations
Connect CallRail
Connect CallRail with an account API key, capture LeadJourney's clickId cookie on every call, paste the webhook URLs into CallRail and map calls and form submissions onto your conversions.
Connecting CallRail turns inbound phone calls and CallRail form submissions into
LeadJourney conversions, attributed back to the ad click that made the phone ring. CallRail
connects with an account API key (there's no OAuth). You paste the key, choose which CallRail
companies belong to this workspace, and copy the webhook URLs LeadJourney generates into
CallRail. For attribution, CallRail has to capture LeadJourney's clickId cookie on each
call. Mapped events 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 CallRail account where you can create an API key and edit webhooks and tracking sources.
- Tracking is live on the site you advertise: the LeadJourney tracking script sets the
clickIdcookie CallRail captures. See Install the tracking script. - Dynamic Number Insertion (DNI) in CallRail, or the plan to set it up (step 3).
- At least one conversion type to map onto (e.g.
BookedCall). 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 CallRail card (under Call Tracking Tools) to open the integration. While you're not connected you'll see a “Connect your CallRail account” card; once connected, the same screen shows your account, the Companies you convert calls from, your Webhook URLs and your Triggers.
Step by step
Paste your API key
In CallRail, open Account → API Keys and create (or copy) an API key. Back in LeadJourney, on the Connect your CallRail account card:
- CallRail API Key: paste the key.
- Webhook signing secret (optional): if you set a signing secret on your CallRail webhooks, paste it here so LeadJourney can verify incoming deliveries. Leave it blank if you don't use one.
- Click Connect.
LeadJourney validates the key by calling the CallRail API. The key is stored encrypted and only used to read your account for the mapping UI. You'll see a “CallRail connected” confirmation.
Choose the account and companies
CallRail nests Account → Company → Calls, and an agency usually runs one company per client, so one API key can see every client's calls.
- CallRail account: this panel only appears if your key can see more than one account. Pick the one this workspace should pull calls from (Select a CallRail account…). Until you do, LeadJourney can't list companies or convert any calls.
- Companies: tick the companies whose calls belong in this workspace, then click Save selection. All companies converts every company, including any added later. Use Search companies… to find one and Refresh list to re-read the list from CallRail.
When you pick specific companies, you also choose what happens when a call arrives without a company. Each option is explained next to it.
Set up click ID capture in CallRail
Attribution only works when the LeadJourney click ID reaches CallRail. In CallRail:
- Turn on Dynamic Number Insertion (DNI): create a tracking source with a website / number pool and enable session (JavaScript) tracking on the site you advertise.
- Add a Custom Cookie Capture rule that captures the first-party cookie
clickId(already set by the LeadJourney tracking script).
CallRail then includes the value on every call it sends as custom.clickId.
Paste the webhook URLs into CallRail
The Webhook URLs panel lists one URL per event, each with a Copy button:
- Post-call webhook: fires after a call ends. Use CallRail's Post-Call webhook.
- Call modified webhook: fires when a call is later edited (e.g. tagged or qualified).
- Form submission webhook: fires when a CallRail form is submitted.
Paste each URL into the matching webhook in that company's CallRail → Settings → Integrations → Webhooks.
Company-specific URLs
Once you've picked specific companies, LeadJourney shows one set of URLs per company. Paste each company's URLs into that company's webhook settings. Using the wrong company's URL drops its calls or credits them to the wrong company. If you set up webhooks before picking companies, re-paste the new URLs: the older ones don't name a company.
Add a trigger
In the Triggers panel (“Each trigger maps a CallRail event to one of your conversions.”) click Add trigger. In the New CallRail trigger dialog:
- App: CallRail (already selected).
- LeadJourney Event: pick the conversion type this event should record, e.g.
BookedCall. (No options? Create one under Settings → Events first.) - Trigger: choose the CallRail event: a completed call, a modified call or a form submission. Use Search triggers… to filter.
Click Continue.
Receive data and confirm the mapping
The dialog opens a three-tab flow:
- Receive Data: click Find latest data to load the most recent records for that event from your CallRail account. If none exist yet, place a test call (or submit a test form) through CallRail first. Mapping is against the call webhook payload, so you can also just type the field names CallRail sends on the next tab.
- Configure Mapping: map onto Email, Name, Phone, click_id, Revenue and
Currency (add First name / Last name or your own fields with Add custom
field). Typical sources are
customer_email,customer_name,customer_phone_numberandvalue. Mapping click_id fromcustom.clickIdis recommended but optional. - Filtering (optional): click Add filter and set Path, Operator and Value.
A common one for calls is
answeredequalstrue.
Click Save & Continue to finish.
How calls link to the right campaign
The LeadJourney tracking script sets the clickId cookie when a visitor arrives from your ad.
DNI shows that visitor a tracking number, and the Custom Cookie Capture rule attaches the
cookie to the call. CallRail sends it as custom.clickId, your trigger maps it to
click_id, and the call arrives tied to the click, and therefore the campaign, ad set and
ad, that earned it. Without a click ID, email or phone can still be used to match.
Managing your triggers
Each trigger appears as a row (CallRail event → conversion type) with an Active / Paused pill and a summary of how many fields and filters it uses.
- Pause / Resume: use the toggle to stop a trigger temporarily without deleting it.
- Edit: change the event, mapping, filters or target conversion.
- Delete: remove a single trigger (type
deleteto confirm); others keep running. - Add another: e.g. completed calls to
BookedCalland form submissions toLead.
Reconnecting
If CallRail rejects the key (usually because it was rotated or revoked) or doesn't respond, the header flips to Needs reconnect and a banner explains why (“CallRail rejected your API key” or “CallRail is unreachable”). Click Reconnect to open the connect form again and paste a fresh key. Update API key in the header does the same at any time. Your triggers and settings are kept.
Disconnecting
To remove CallRail, click Disconnect in the header, type disconnect and confirm with
Disconnect CallRail. This is deliberate because it's destructive:
Disconnect deletes your triggers
Disconnecting permanently removes the CallRail account from this workspace, deletes every trigger and drops the stored API key. CallRail events stop flowing into your conversions immediately. You can reconnect later, but your trigger configuration won't be restored. The webhooks you pasted live in CallRail, so remove them under Settings → Integrations → Webhooks if you don't plan to reconnect.
Troubleshooting
Calls come in but aren't attributed to a campaign?
Check that (1) the tracking script runs on the site you advertise, (2) DNI is active
there, (3) the Custom Cookie Capture rule captures the cookie named exactly clickId, and
(4) the trigger maps click_id from custom.clickId and is Active.
Calls stopped arriving after you picked companies?
The webhooks in CallRail probably still use the older URLs that don't name a company. Copy the company-specific URLs from the Webhook URLs panel and paste them into each company's webhook settings again.
Another client's calls show up in this workspace?
The workspace is converting All companies. In the Companies panel, tick only the companies that belong here and click Save selection, then paste the company-specific webhook URLs.
A selected company “no longer exists”?
LeadJourney keeps a selection CallRail no longer lists instead of widening it, so no calls are converted for it. Click Refresh list, pick the replacement company and Save selection.
No records when you click “Find latest data”?
There's nothing recent for that event yet. Place a test call or submit a test form through CallRail, then click Find latest data again, or type the field names on Configure Mapping directly.
Common questions
Related articles
Apps overview
How the Apps page works and what else you can connect.
Events & the Events Manager
Define the conversion types your CallRail triggers map onto.
Install the tracking script
The script that sets the clickId cookie CallRail captures.
How attribution works
How a click ID ties an ad click to a later conversion.
Connect Cal.com
Connect your Cal.com account in minutes – no API keys, no webhooks to wire by hand. Authorize once, then map booking events like meetings booked, reschedules, cancellations and no-shows straight onto your conversions.
Connect WebinarJam
Connect WebinarJam or EverWebinar with your account API key and a custom webhook, then map registrations, live attendance and replay views straight onto your conversions.