Almost every service website has a floating WhatsApp button and a form in the footer, usually without anyone having decided anything. Both sit there competing, and the result is support split across two places and no reliable data on where clients come from.
It is worth deciding on purpose. Each channel wins in different situations.
Where each channel actually wins
Messaging apps win when the decision is fast, the ticket is low to mid, and the client needs a short answer before buying. Local services, booking, a question about opening hours, a simple quote. The barrier is close to zero: the app is already open, no email to type, no waiting.
The form wins when the request is complex and the answer requires preparation. Commercial proposals, custom projects, B2B purchases, anything where you need five facts before you can say anything useful. A form makes the client organize the request, and that improves the first exchange.
There is a second, less obvious axis: who answers. If one person handles everything, messaging takes over their day and the actual work stops. If there is a team, or support runs on defined hours, the form organizes the queue.
And there is the clock. A form works at three in the morning without creating an expectation of an instant reply. A messaging app at three in the morning creates one, and a frustrated expectation costs more than the contact gained.
The hidden cost of messaging: tracking and history
Messaging converts well, but it charges a price in information, on three fronts.
Tracking. When someone taps the button, the browser hands them to the app and the analytics session ends there. You know a click happened; you do not know whether it became a conversation, or a sale. Without preparation, the credit for the sale floats free, and the campaign that brought the client looks like it produced nothing.
History. The conversation lives on the phone of whoever answered. If that person leaves, changes devices or deletes the thread, the history goes with it. A form, by default, produces a record in an inbox or a database, with a timestamp.
Structured data. A form gives you separate fields: name here, phone there, description in the third. Messaging gives you a sentence. Getting that into a spreadsheet or CRM becomes manual work, and manual work does not get done.
None of this is a reason to drop the channel. It is a reason to instrument it, which takes about ten minutes and is described below.
Forms that do not get abandoned: which fields earn their place
The rule is simple: ask only for what you use to reply. Every field beyond that is friction charged to the client for the comfort of your reporting.
Usually worth it: name, one contact channel (email or phone, not both required), and a free description of what the person needs. For services with widely different price ranges, a service-type field with three to five options saves an entire round of messages.
Usually not worth it: a separate surname field, job title, company size, expected budget, "how did you hear about us" (tracking answers that without asking), and email confirmation fields.
Build details that cut abandonment more than any wording: a visible label above the field; a numeric keyboard on the phone field on mobile; clearly marking what is optional; validation when leaving a field; and a confirmation screen saying what happens next and how soon. It is worth revisiting the whole page structure in the article on the anatomy of a landing page.
One technical detail kills more forms than people think: notification emails landing in spam because the site sends mail on behalf of a domain with no authentication. If the form looks dead, check the spam folder before replacing the form.
Running both without duplicating the lead
Having both channels is fine. The problem starts when they carry equal weight in the same place, because then people choose by habit, and often choose both.
The arrangement that works is hierarchical. Pick one primary channel per page, based on that page intent. A service page with a fast decision: messaging prominent, form as a quiet alternative in the footer. A proposal or project page: form prominent, messaging available but in smaller text, for quick questions.
Avoid a floating messaging button covering the form submit button on mobile. It is a common conflict and it costs conversions on both channels at once.
To avoid duplicate leads, define a single destination. If you use a CRM, both channels should end there, even if the messaging record is created by hand at the end of the day. If you do not, a spreadsheet with date, channel, name, phone and source already solves it. When the same phone number shows up in both channels within 48 hours, it is the same lead, and the default rule is to keep the first contact as the source.
Tracking where each contact came from
On the form, the essentials are recording two things along with the submission: the page the form was filled on, and campaign parameters if any exist. A hidden field storing the source URL handles the first. A successful submission should fire a conversion event in your analytics tool, and that is what turns submissions into comparable numbers, as the article on the metrics that matter in GA4 explains.
On messaging, the click can become an event too, and that is what most sites skip. On top of that, you can carry context inside the message itself: a WhatsApp link accepts pre-filled text, and that text can name the page the click came from. "Hi, I came from the site maintenance page" arrives written in the thread and solves source tracking with no integration at all.
Use different text per page. It is low technology and it works: at the end of the month you know which pages start conversations.
Privacy law on both channels
A form collects personal data, so it needs a legal basis, a stated purpose and a route for people to request deletion. In practice: one line under the button saying what the data will be used for, a link to the privacy policy, and no pre-ticked consent boxes.
Asking for newsletter consent is a different purpose from answering a quote request. If you want both, you need two choices, and the second cannot be mandatory.
Messaging does not escape the law by being a conversation. If you keep the number on a list to send promotions later, that is processing for a new purpose and needs its own consent. The details are in the article on privacy law for small websites.
One practical caution as well: do not ask for tax IDs, birth dates or document numbers on a contact form. Data you do not store is data you do not have to protect.
Response time matters more than the channel
This is the part that settles more than any choice between the two. A person who fills in a form has the problem in mind right then, with competitor tabs open. Every hour of silence cuts the chance of a conversation, for a mundane reason: somebody else replies first.
Two simple measures. First: set a promised turnaround and put it on the confirmation screen, even if it is "we reply within 1 business day". A stated expectation buys patience. Second: if you cannot answer quickly outside business hours, publish the hours. A note saying "Monday to Friday, 9am to 6pm" beats no answer at all.
And watch the forgotten channel. It is common to discover the form worked all year, sending mail to an inbox nobody opens. Test both of your channels once a month, from a phone, the way a client would. That test fits neatly into your site maintenance routine.
If you want both channels running with tracked sources and no lost leads, talk to ALB Seven. Setting that up is usually faster than rebuilding the page.