The walk-in at the buzzer and the call to the front desk never reach your reporting
Analytics sees the contact form, which in an immigration practice is usually a minority of the inquiries you receive.
Count the real channels. The phone, the form, the person who buzzed the office in a prewar building because a cousin gave them the address, messages on whatever app the community uses, and referrals from a church or a community organization arriving as a name on a sticky note.
Put them all in one place with a disposition attached. A shared spreadsheet with date, channel, borough, language, case type and outcome beats an expensive system nobody fills in, and it will show you more in a month than a year of heat maps.
Give the front desk six outcome codes and nothing more. Booked, could not reach, wrong case type, price, wants to think, no longer needed. Six codes covers almost everything and stays usable at four in the afternoon.
Once the log exists, the leak is usually obvious within weeks, and it is rarely where the firm assumed it was.