Imagine: you've launched ads on Yandex.Direct and Google Ads. Your website has one phone number. Calls come in, managers take orders, but you don't know which channel generated the sale. Without call tracking, that's a blind spot. Our Bitrix24 Calltouch integration ties each incoming call to a specific source, campaign, and keyword. Over 5 years, we've completed more than 30 such integrations, with an average implementation time of 5 business days. As a result, you see the full funnel: click → call → deal → revenue. And you can optimize your ads, reducing CPA by 15–30%.
Now let's break down the workings of call tracking, the available integration methods, and the benefits of the Journal API. You'll learn how to set up UTM tag transfer, call recordings, and offline conversions. Using a typical project as an example, we'll show how long each stage takes.
How Calltouch Call Tracking Works
Calltouch uses Dynamic Number Insertion (DNI). A script on the site replaces the main number with a unique one for each visitor. Two modes:
- Dynamic call tracking. Each visitor sees their own number. Tied to a session: UTM tags, keyword, landing page. Maximum accuracy, requires a pool of numbers. Dynamic number insertion provides 2x more accurate attribution than static call tracking.
- Static call tracking. One number per source (e.g., for Direct, for SEO). Cheaper, no keyword-level detail.
When a call comes in, Calltouch records: caller's number, substituted number (identifies the source), duration, status, call recording.
How We Transfer Calls to Bitrix24
Calltouch transfers data via two paths:
| Parameter | Out-of-the-box Integration | Via REST API (Custom) |
|---|---|---|
| Connection | Calltouch dashboard → Integrations → Bitrix24 | Webhook from Calltouch → handler → B24 REST API |
| Lead creation | Automatically on incoming call | Via crm.lead.add with custom fields |
| Source in CRM | Transmits utm_source, utm_medium, utm_campaign |
Full control: utm + keyword + page |
| Call recording | Link in call card | telephony.externalcall.attachRecord |
| Missed calls | Lead created with 'missed' flag | Custom logic: task to manager + lead |
The out-of-the-box Bitrix24 Calltouch integration connects in an hour: in the Calltouch dashboard, you enter the portal URL and REST API token. Calltouch sends a request to B24 for each call, creating a lead with UTM fields and a recording link. For advanced scenarios, we use the Calltouch Journal API — getting the full call history with attribution.
What the Journal API Provides
Journal API — the /calls/journal endpoint returns an array of calls for a period with attribution:
-
callerNumber— caller's number -
source— traffic source -
utmSource,utmMedium,utmCampaign,utmContent,utmTerm -
keyword— keyword -
duration— call duration in seconds -
callUrl— recording URL -
waitDuration— time waiting on line -
status— successful, missed, busy
Example Journal API Response
{ "calls": [ { "callerNumber": "74951234567", "source": "yandex_direct", "utmSource": "yandex", "utmMedium": "cpc", "utmCampaign": "campaign_1", "utmContent": "ad_1", "utmTerm": "купить ноутбук", "keyword": "ноутбук", "duration": 120, "callUrl": "https://api.calltouch.ru/...", "waitDuration": 5, "status": "success" } ] } Calltouch Journal API documentation
A typical scenario: a cron job polls the Journal API every 5 minutes, fetches new calls, and creates records in B24. For each call:
- Search for a contact by number:
crm.contact.listwith filterPHONE. - If contact found, register the call via
telephony.externalcall.registerlinked to the contact. - If contact not found, create a lead via
crm.lead.addwith UTM fields and custom fields populated. - Attach the call recording:
telephony.externalcall.attachRecordwith the URL fromcallUrl.
Custom fields for Calltouch data:
-
UF_CRM_CT_SOURCE— source from Calltouch -
UF_CRM_CT_KEYWORD— keyword -
UF_CRM_CT_LANDING— landing page
How We Set Up the Callback Widget
Calltouch provides a callback widget: the visitor leaves a number, the system calls a manager and connects them to the client. Callback request data is transferred to CRM — a lead is created before the manager picks up the phone. The callback widget increases callback rates by 40% compared to organic callbacks.
Integration of the callback widget with B24:
- When a callback is requested, Calltouch sends a webhook with the client's number and session data.
- The handler creates a lead in CRM with a 'Callback' flag and UTM tags.
- After connection, Calltouch updates the record: duration, status, recording link.
Why Offline Conversions Increase Ad Effectiveness
Calltouch sends call processing results back to Yandex.Direct and Google Ads. When a deal is closed as successful in B24, the onCrmDealUpdate webhook sends data to Calltouch via the /calls/offline-conversion API. The ad system receives a signal: this click led to a payment — and optimizes impressions. Budget savings up to 30%.
Implementation Timeline
| Scope | What's Included | Timeline |
|---|---|---|
| Basic | Out-of-the-box integration, lead creation from calls, call recordings | 2-3 days |
| Standard | Journal API, custom fields, callback widget, source mapping | 1 week |
| Advanced | Offline conversions, multi-funnels, custom reports, training | 1-2 weeks |
What's Included in the Setup
- Connecting Calltouch to Bitrix24: authorization, choosing integration mode
- Creating custom fields in CRM for call tracking data
- Configuring lead creation logic: deduplication by number, handling repeat calls
- Integration via Journal API: sync script, cron job, error handling
- Connecting the callback widget with data transfer to CRM
- Attaching call recordings to CRM records
- Setting up offline conversion transfer for ad optimization
- Testing the full cycle: incoming call → lead in CRM → call recording
- Integration documentation and staff training
Contact us to evaluate your project — we'll select the optimal integration option. Get a consultation: we'll tell you which call analytics will be useful for your business. We guarantee that call tracking data will work in CRM without delays.
Pricing: Basic integration starts at $300; standard at $800; advanced at $1,500. Average ROI improvement is 25% within the first quarter.

