Why standard GA4 advice does not survive contact with Indian demand
Almost every GA4 tutorial assumes a funnel that ends inside a browser: a form, a thank-you page, a purchase event with a transaction ID. A large share of Indian enquiry demand does not end there. It ends in a call placed from a showroom car park, or a WhatsApp message at 10pm asking whether you deliver to Nashik.
Both of those leave your website before anything is measurable. The tap fires, the browser hands the visitor to the dialler or to WhatsApp, and your page unloads. Everything that decides whether it was a lead happens on a channel GA4 has no view into.
The result is an argument nobody can win. Organic sessions look flat, the phone rings more than it did in March, and neither side can prove a thing — because the only number that moved is the one nobody agreed to measure. That failure has a companion in reverse, which we covered in organic traffic up but leads flat.
- Someone reading the number off your header and dialling it manually. No click, no event, no trace at all.
- A chat started from your Google Business Profile rather than your site — a different surface entirely.
- A tap inside an in-app browser, where the page can unload before the event reaches Google's servers.
- A missed call at 7pm that your team returns on Monday and closes on Wednesday.
- A number screenshotted and forwarded to the actual decision-maker, who calls you a week later.
The cheap stack, in three parts
You can spend a month building this properly. You can also get most of the answer by Friday. Start with the version that costs almost nothing, because it works whether or not the visitor tapped anything.
Alongside these three, fire the click events themselves. GA4's enhanced measurement already collects an outbound click event whenever a visitor clicks a link that leads away from your domain, which catches wa.me links with no tagging work at all. A tel: link is not an outbound click, so it needs a small tag of its own. Mark both as key events so they show up where you actually look.
- Publish one phone number that appears nowhere else. Not your main line. A second number — a spare SIM in the same handset is fine — used only on the website. Every call to it came from the site. That is not attribution down to the query, but it is a clean channel split for about the cost of a basic prepaid plan, and no JavaScript can break it.
- Carry the page reference inside the WhatsApp pre-filled message. A click-to-chat link accepts a pre-filled message. Encode the page and the source in it — something like
Hi, enquiring about the Kolhapur project (web / organic / pricing page)— and your salesperson reads the origin in the chat itself, before they reply. GA4 loses the handoff; the message does not. Put UTM parameters on the link too, but treat the message text as the copy that survives. - Ask one question at intake. "How did you find us?", typed into your CRM by whoever picks up, every time, no exceptions. It is self-reported, it is imprecise, and it is still the most useful field you will add this quarter — because it is the only instrument that spans the channels analytics cannot see.
- Reconcile monthly, in one sheet. CRM enquiries down one side, GA4 events down the other, matched on date. You are not looking for agreement. You are looking for the ratio between them, and for the month it changes.
| Instrument | Answers | Blind to |
|---|---|---|
tel: and wa.me click events in GA4 | Which pages and which landing sources produce intent to contact you. | Whether the call connected, what was said, and whether it was a real enquiry. |
| A website-only phone number | How many calls the site produced in total, including the ones nobody tapped. | Which page, query or campaign the caller came from. |
| Page reference inside the WhatsApp message | The exact page that started the chat, readable by a human with no tooling. | Anything about visitors who copied the number instead. |
| The intake question | Channel attribution for every enquiry, including offline and referral. | Precision. People misremember, and "Google" covers ads and organic both. |
What a tel: tap proves, and what it does not
This is the part most reports quietly skip. A click event on a tel: link means the visitor's phone opened its dialler with your number in it. It does not mean a call was placed. It does not mean anyone answered. It certainly does not mean a lead.
The gap between taps and conversations is real and it is not a fixed ratio. It moves with how busy your line is, what time of day your traffic peaks, and whether the tap was accidental — and on mobile, a surprising share of them are. Without call records you cannot know your own ratio, which is precisely why the second phone number earns its keep: it gives you the denominator.
So label the metric honestly. In every report we send, the event is called dialler opens, not calls. It sits with impressions and clicks as a leading indicator — useful, early, and not something anyone should be paid against. What gets counted as a lead is defined separately, and deliberately, in what counts as a qualified lead from SEO.
When call-tracking software is worth the bill
Call-tracking platforms swap the number shown to each visitor and stitch the resulting call back to a session, which gives you landing page, source and often a recording. It is genuinely good technology. It is also a recurring bill, an extra script on every page, and one more thing to break during a migration.
Our rule is volume, not sophistication. Below the threshold, the same information is available for the price of a SIM and five minutes of discipline at intake.
- Watch your Google Business Profile number. Swapping the number in your listing for a tracking number risks a mismatch with your citations. Keep the listing on the real number and track the website separately.
- Recordings are a compliance question, not just a feature. If you record calls, say so on the call and know where the recordings sit. That is a decision for your counsel, not your agency.
- Do not buy it to settle an internal argument. If the disagreement is about whether SEO works, the fix is an agreed definition of a lead, not a subscription.
| Setup | What it buys | Sensible when |
|---|---|---|
| One website-only number | A clean split between website-driven calls and everything else — print, hoardings, marketplaces, word of mouth. | Under roughly 50 phone enquiries a month. |
| A different number per channel — organic, Google Ads, the GBP listing | Channel-level attribution with no script, no session stitching and nothing to break. | Roughly 50–150 a month, or any time paid and organic are being compared. |
| Dynamic number insertion | Session-level attribution: landing page, source, query group, call duration, recordings. | Above roughly 150 a month, when the fee is small next to the spend it redirects. |
Wiring it into the baseline, so the number is settleable
Here is why we publish this rather than keeping it as an internal checklist. Our guarantee is written against your own numbers: we freeze your trailing-90-day qualified leads from organic search on day one, and if we have not beaten that figure in 90 days we keep working free until we do. See how that works.
A baseline that counts only web-form submissions, on a business where four in five enquiries arrive by phone or WhatsApp, is not a baseline. It measures a sliver of the business and it moves for reasons nobody controls — a form redesign, a WhatsApp button added to the header, a seasonal shift in how people prefer to make contact.
So the instrumentation goes in first, in week one, before the baseline is frozen. Distinct number live, click events firing, intake question mandatory in the CRM, and 90 days of history reconstructed from whatever record already exists — call logs, the WhatsApp Business inbox, the receptionist's diary. Imperfect history is fine, as long as it is imperfect in the same way before and after.
Then the arithmetic is straightforward: leads counted the same way, measured over the same length of window, compared against a frozen number. Attribution beyond that point — which page, which query, which rupee — is a separate and harder problem, and we take it apart in how to attribute revenue to SEO.
Four ways this setup breaks quietly
None of these announce themselves. All four have cost clients we later picked up an entire quarter of measurement.
- A theme update replaces the header phone number with a hard-coded one from the template demo. Calls keep arriving on a number nobody is watching. Check the rendered HTML after every deployment, not the page builder.
- Someone adds the tracking number to your Google Business Profile, IndiaMART listing and Justdial page "for consistency". Now every channel reports as website. Consistency is right for your real number and wrong for your tracking one.
- The WhatsApp link gets rebuilt without the pre-filled message because a developer tidied it. The clicks still fire; the origin is gone. It is the least visible regression on this list.
- The intake question stops being asked three weeks in, because it feels rude when the caller is in a hurry. It is not rude, and it is the only field that survives a tooling change. Make it a required field, not a habit.
- Nobody reconciles. GA4 says 40 dialler opens, the CRM says 12 enquiries, and both numbers get reported for a year without anyone asking why. The ratio is the finding. Look at it monthly, and get the underlying setup checked properly if it drifts — that is what our analytics setup work exists for.