USUAL ONE
Online store of insulated bottles with cart, admin panel and SalesDrive CRM integration.
Task breakdowns
How to make a form or calculator submission land in your CRM within seconds — with UTM tags, without duplicate records and without silent losses when something breaks.
A familiar picture: the website itself is built properly — validated forms, quiz-style calculators, anti-spam, a notification email to the sales rep and an auto-reply to the customer. But the chain breaks right after that. Someone opens the inbox and copies the phone number and the comment into the CRM manually. Between the form submission and the lead appearing in the system there is anything from twenty minutes to the next morning — and by then the customer is already talking to a competitor. Add typos in phone numbers: the lead exists, but there is no working number to call.
The second layer of losses is analytics. UTM tags are captured on the site but never reach the CRM, so in the record the lead looks like it came "from nowhere". There is no way to calculate which channel brings revenue rather than just enquiries: the ad account shows one set of numbers, the CRM another, and they can only be matched manually by date. The third layer is duplicates: a person goes through the calculator, then fills in a form on a service page, then calls. The database ends up with three records assigned to three different reps, two of whom call the same customer.
A straightforward "form → CRM API" webhook breaks on the very first failure. If the CRM is unavailable for ten minutes or the lead schema has changed, the request simply does not go through — and nobody finds out until the customer follows up themselves. That is why delivery needs a queue, retries and a log, and the submission must stay in the website's own storage even when the CRM refuses to accept it.
The second constraint is fields. Every CRM (Salesforce, HubSpot, Pipedrive, Zoho, Bitrix24, Odoo) has its own lead model, its own required fields and its own permission scheme. The mapping — which form field goes into which CRM field — cannot be guessed by a developer: it is a decision for the person who moves the lead down the funnel. So a sandbox or a separate section of the live database is required, otherwise testing pollutes the real base with dummy leads. And third: if the site was built by another vendor or the code lives in someone else's repository, add time for access and for working out how submissions are currently stored.
We connect to the CRM through a dedicated service user with the minimum permissions needed — creating leads and activities, nothing more. Then we map the fields in a sandbox together with your sales manager: name, phone, email, service, comment, the parameters and total from the calculator, UTM tags, landing page. The mapping is agreed before the first real lead goes into the CRM — reworking it on a live database costs more.
Reliability is built as a queue layer: every transfer is logged (what was sent, when, what the CRM replied), a failed one is retried on a schedule, and if the retries fail too, a manager gets a notification. The submission itself never disappears: it stays in the website database and is still duplicated by email. The integration adds a channel rather than replacing existing ones — this matters, because any "from now on everything goes through the CRM only" setup sooner or later ends in lost enquiries.
Keeping the database clean is a separate block of work. Before creating a lead we look for an existing one by normalised phone and email; a repeat enquiry is appended to the existing record as a separate activity instead of spawning duplicates. On top of that, if needed, we add an analytics loop: the processing status is returned to the website, and closed deals from the CRM are pushed back to Google Ads and GA4 as offline conversions — so ad platforms optimise for sales, not for form fills. We finish with a full run-through of every form and calculator in the sandbox together with your manager, plus a short handbook: where to find the log, what to do on failure, how to add a new field.
Typical market range: basic lead delivery to a CRM with field mapping, UTM capture and retries on failure — roughly $600–1,200, 4–6 working days. With deduplication, status returned to the website and separate rules for calculators — $1,000–1,900, 7–10 days. The full closed-loop option (offline conversions in Google Ads and GA4, source reporting, segmentation by service) — $1,600–3,000, 10–15 days.
The main price driver is not the number of forms but the complexity of the lead model on the CRM side and how ready the website is. If submissions are already stored in a database with UTM tags and deduplication, the integration is an add-on. If the forms only send an email and store nothing, a submissions store has to be built first — add several days. Anything that changes on the CRM side is priced separately: new fields, a different lead schema, custom business processes. The timeline should be counted from the day access was granted and a sandbox exists, not from the date the contract was signed.
This breakdown is anonymised: no client names and no deal-specific prices. More breakdowns — Task breakdowns
Describe your task in a conversation — by voice, text or files. You get a proposal with scope, price and timeline. Or just message us on Telegram or by email.
Get in touch
Tell us about your task — we reply fast and propose a solution.