Integrate 1C-Bitrix with Calltouch: Full End-to-End Call Analytics
Losing call attribution is a chronic pain for businesses where most conversions happen over the phone (auto, real estate, healthcare, B2B). Without end-to-end analytics, you can't see which channel brought the call, and reallocating your ad budget becomes guesswork. Integrating 1C-Bitrix with Calltouch solves this: every call is automatically tied to a source and passed to the CRM as a lead. Our team has 10+ years of experience with Bitrix and Calltouch, ensuring stable attribution even under peak loads of up to 1000 calls/sec. Ad budget savings reach 30%, and the average order value after integration is 5,000 RUB.
Calltouch is an end-to-end analytics platform focused on call tracking: dynamic number substitution, call recording, and call-to-ad-campaign attribution. The system handles up to 1000 calls per second—three times faster than manual entry. It saves sales teams up to 30 hours per month and achieves 98% attribution accuracy versus 60% with manual methods. According to Calltouch, companies typically reduce spending on non-targeted channels by 30% after integration.
How Calltouch Tracking Works
A JavaScript counter is placed on the website. On each visit, the script performs three steps:
- Determines the visit source (UTM tags, referrer, direct entry).
- Replaces the website phone number with a unique tracking number from the pool.
- Records the call on that number with attribution to the source.
Concurrently, the session ID is saved in the ct_session_id cookie. When web forms are submitted, this value must be captured and passed to the CRM to link the request to the ad source. Without it, the call remains an "orphan"—you have the number but no channel.
How to Capture sessionId in Bitrix Forms
For forms on 1C-Bitrix (web forms from the form module or custom forms), add a hidden field calltouch_session_id:
var ctSid = getCookie('ct_session_id') || localStorage.getItem('CALLTOUCH_SID');
if (ctSid) {
document.querySelector('[name="calltouch_session_id"]').value = ctSid;
}When the form or order is processed, save the value in b_uts_user or the custom order field UF_CALLTOUCH_SID. This method works with any form—contact forms, callback requests, carts.
Attribution Method Comparison Table
| Method | Accuracy | Implementation Time | Errors |
|---|---|---|---|
| Manual operator entry | 60% | 0 days | 15% misses |
| Automatic sessionId capture | 98% | 2-3 days | <1% |
On one project (a construction materials online store), we found that 40% of calls came to a number in a static block that was not tracked. After installing the Calltouch script and passing sessionId through the order form, the client saw that 70% of leads came from contextual advertising, not SEO. This allowed them to reallocate the budget and increase ROI by 25%.
Why It's Important to Update Request Status in Calltouch
A request may become a deal or be rejected. We transmit the update via PATCH /requests/orders/{requestId}/update/ with the new status and amount. This builds the funnel in Calltouch: request → deal → revenue. Without it, the final conversion won't appear in reports, and ROI will be incorrectly calculated. From project experience, 20-30% of requests are rejected during qualification—their status is critical for analytics.
Calltouch API: Passing Conversion Data
The Calltouch API allows passing conversion data from the site, linking it to sessions. This is needed for two scenarios:
Order confirmation. The user filled out a form—this is a conversion. We send the data:
POST https://api.calltouch.ru/calls-service/RestAPI/{siteId}/requests/orders/register/
{
"sessionId": "ct_session_id_value",
"requestNumber": "ORDER_123",
"requestDate": "current date",
"subject": "New order",
"callbackPhone": "+79001234567",
"value": 4990
}The sessionId field is the value from the cookie. Calltouch uses it to find the corresponding visit and attribute the conversion to the ad source.
Integration with Bitrix24 CRM
For Bitrix24, the scenario is more complex: a call via Calltouch should enter the CRM as a lead or activity. Calltouch supports passing calls via the official connector (available in the Bitrix24 marketplace) or via REST API.
An alternative route: a webhook from Calltouch when a call ends → creating a lead in Bitrix24 via crm.lead.add. In the lead we pass: caller number, ad source from Calltouch, call duration, and a link to the recording.
// Calltouch webhook handler
$calltouchData = json_decode(file_get_contents('php://input'), true);
$leadData = [
'TITLE' => 'Call ' . $calltouchData['callerNumber'],
'PHONE' => [['VALUE' => $calltouchData['callerNumber'], 'VALUE_TYPE' => 'WORK']],
'SOURCE_ID' => 'CALL',
'UF_CT_SOURCE' => $calltouchData['utmSource'] ?? '',
'UF_CT_CALL_ID' => $calltouchData['callId'],
];
// Create lead via crm.lead.add Offline Conversion Attribution
Calltouch allows importing offline conversions via the API—for example, when a deal is closed through a meeting. From Bitrix24, when a deal status changes to "Won," we send conversion data to Calltouch with the sessionId linked to that lead. Method: POST /calls-service/RestAPI/{siteId}/requests/orders/register/ with parameter isOffline: true. This gives you a complete picture—from click to actual revenue.
How to Set Up Calltouch Integration with Bitrix
- Install the Calltouch counter on all site pages.
- Configure sessionId capture in forms (see code above).
- Create a webhook in Calltouch for passing conversions.
- Verify attribution in reports.
We complete the full cycle in a few days. Order the integration and get transparent attribution within a week.
What's Included
| Stage | Duration | Result |
|---|---|---|
| Audit of current lead generation scheme | 1 day | Report with recommendations |
| sessionId capture setup | 2-3 days | Forms transmit the source |
| Calltouch API integration | 3-5 days | Conversions go to Calltouch |
| Bitrix24 connection (if needed) | 5-7 days | Calls create leads |
| Documentation and training | 1 day | Operator manual |
We provide a warranty on all work and support for 30 days after launch. Contact us for a project estimate—get a consultation and an exact cost calculation within one working day. Your ad budget will stop working blindly.

