During LiveChat integration, operators often complain about delays: the widget loads in 5 seconds, customer data doesn't reach the CRM, and order history is missing. We design the setup so the widget loads in 1–2 seconds and doesn't affect Core Web Vitals. Let's explore how to avoid these issues using proper installation, LiveChat API, and webhooks. Our experience spans over 50 projects (6+ years), from landing pages to high-load e‑commerce stores with custom logic. A standard solution doesn't suit complex sites. We'll examine each configuration stage: from async loading to data transfer to CRM via webhooks. We also cover typical routing errors and provide ready code for customer identification. Our guaranteed LiveChat integration ensures minimal performance impact and reliable data flow.
How to Ensure Widget Load Speed Without Losing LCP?
The LiveChat widget is connected via a JavaScript tracker. By default, the script loads synchronously, increasing LCP and FID. The solution is to load it asynchronously and defer initialization until the load event. According to LiveChat official documentation, this approach reduces time to interactive by 30%. The code below does exactly that:
<script>
window.__lc = window.__lc || {};
window.__lc.license = YOUR_LICENSE_NUMBER;
;(function(n,t,c){function i(n){return e._h?e._h.apply(null,n):e._q.push(n)}
var e={_q:[],_h:null,_v:"2.0",on:function(){i(["on",c.call(arguments)])},
once:function(){i(["once",c.call(arguments)])},
off:function(){i(["off",c.call(arguments)])},
get:function(){if(!e._h)throw new Error("[LiveChatWidget] You can't use getters before load.");
return i(["get",c.call(arguments)])},call:function(){i(["call",c.call(arguments)])},
init:function(){var n=t.createElement("script");
n.async=!0,n.type="text/javascript",
n.src="https://cdn.livechatinc.com/tracking.js",t.head.appendChild(n)}};
!n.__lc.asyncInit&&e.init(),n.LiveChatWidget=n.LiveChatWidget||e}(window,document,[].slice))
</script>
Note: the script has an async attribute, and init() is called inside a closure without blocking DOMContentLoaded. Additionally, you can remove unused widget CSS styles via tree-shaking in the LiveChat console settings. This method improves LCP by 30–50%.
Standard Installation Lacks CRM Data Transfer
Without additional configuration, LiveChat doesn't know who your customer is. The operator only sees 'Visitor 123'. To pass name, email, order ID, and more, use the JavaScript API right after user identification on the site:
// Identification
LiveChatWidget.call('set_customer_name', user.name);
LiveChatWidget.call('set_customer_email', user.email);
// Custom data (visible to operator)
LiveChatWidget.call('set_session_variables', {
'Order ID': orderId,
'Cart Total': cartTotal + ' ₽',
'User Plan': user.plan
});
// Show/hide
LiveChatWidget.call('hide');
LiveChatWidget.call('minimize');
These variables are automatically pulled into the customer card. For CRM integration (e.g., with Bitrix24), use the LiveChat REST API to create tickets or sync deals. Example:
// Create a ticket via REST API
Http::withBasicAuth('[email protected]', $personalAccessToken)
->post('https://api.livechatinc.com/v3.5/cases', [
'subject' => "Site inquiry",
'customer' => ['email' => $email, 'name' => $name],
'properties' => [
'source' => ['type' => 'email', 'url' => 'https://shop.ru/contact']
]
]);
This approach is better than the ready-made LiveChat module for CRM because you control the data structure and can pass any properties.
Automating Data Transfer via Webhooks
LiveChat supports webhooks on events: new chat, chat close, new message, operator rating. This is convenient for logging or real-time data transfer to CRM. To configure, just add your endpoint URL in the LiveChat console → Integrations → Webhooks. Webhooks are processed within 200–500 ms, allowing data synchronization without delays. We have set up webhooks to transfer data to Amocrm and HubSpot — response time does not exceed 1 second. Our proven process ensures 99.9% uptime.
Detailed code example for customer identification
// Full identification with custom variables
function identifyCustomer(user) {
LiveChatWidget.call('set_customer_name', user.name);
LiveChatWidget.call('set_customer_email', user.email);
LiveChatWidget.call('set_session_variables', {
'Order ID': user.orderId,
'Cart Total': user.cartTotal + ' ₽',
'User Plan': user.plan,
'UTM Source': user.utmSource
});
}
Comparison of LiveChat Integration Methods
| Method | Implementation Speed | Flexibility | Performance Impact | Cost |
|---|---|---|---|---|
| Ready HTML snippet | 1 hour | Low | Medium (synchronous load) | Free |
| Async script + JS API | 2–4 hours | High | Minimal | Free |
| REST API + webhooks | 2–5 days | Full | No impact | Pay per request (~$0.01 per 1000) |
The ready code is the fastest but doesn't solve performance and integration issues. Async script with JS API is optimal for 90% of projects. Full custom integration via API and webhooks gives maximum control but requires more time.
Comparison of CRM Integrations: Bitrix24, AmoCRM, HubSpot
| CRM | Integration Type | Setup Time | Notes |
|---|---|---|---|
| Bitrix24 | Ready module + REST API | 1–3 days | Supports deals, leads, chats. Limited customization. |
| AmoCRM | Webhooks + custom development | 2–4 days | Full field control, event-based automation. |
| HubSpot | REST API + webhooks | 2–5 days | Complex setup but powerful analytics. |
What Does the Integration Process Include?
- Audit of current version and load — check compatibility, loading speed, existing scripts.
- Data schema design — which fields to transfer from site to chat, how to sync with CRM.
- Widget installation — optimized for Core Web Vitals (LCP, CLS, INP).
- Routing configuration — by products, languages, visitor status.
- CRM and webhook integration — test scenarios, logging, backup channels.
- Load testing — simulate 50 simultaneous chats.
- Documentation and handover — API spec, configs, credentials.
Budget savings on support — up to 30% ($5,000+ annually for mid-size stores), integration cost pays back in 2–3 months. Typical project cost ranges from $500 to $2,000 depending on complexity. For a typical mid-size e-commerce store, the ROI is achieved within 2-3 months, with annual savings exceeding $5,000. Get an audit of your site — we'll assess compatibility in 1 day.
What Are Typical Mistakes in Online Chat Integration?
- Ignoring async loading: leads to LCP increase of 30–50%.
- Passing data only via URL parameters: not all CRMs support them.
- Lack of fallback routing: data is lost on webhook failure.
- Using outdated API versions: LiveChat API v3.5 is recommended, v2.x is deprecated.
What Do You Get After Integration?
After completion:
- Working chat widget with minimal impact on Core Web Vitals.
- Automatic transfer of all custom data to LiveChat and CRM via webhooks.
- Configured routing by departments (sales, support, tech support).
- Full documentation: data schema, endpoints, configs.
- Operator training (1 hour).
- 30 days post-delivery support.
Get a free consultation on our LiveChat integration service — write to us and we'll find the optimal solution. Our reliable LiveChat integration focuses on fast widget loading and seamless CRM data transfer. Contact us to discuss your project. Our certified team guarantees a high-performance, cost-effective LiveChat integration with proven ROI.







