Why it matters on an HVAC site
Most HVAC enquiries arrive as calls. Without number tracking you can see that organic search sent four hundred sessions and have no idea which of them rang. That is the gap the whole tracking discipline exists to close.
The complication is local. Your phone number is part of your NAP, and consistency of that trio across your profile, your site and your listings is a signal you do not want to disturb. A badly scoped script rewrites the number for every visitor including the crawler, and the site stops matching the profile.
How to check it yourself
- Load the homepage with JavaScript disabled and read the number. That is what a non-rendering crawler sees, and it should match the Google Business Profile exactly.
- Load it normally from a direct visit and read it again. A difference means organic and direct are being shown a tracking number.
- Search the rendered source for the provider’s swap script. On a site running CallRail it is swap.js.
Worked through in numbers
A three-van company runs twelve service pages across thirty-four areas. Its profile lists (512) 555-0118. Its site runs a pool that swaps the number on every page view.
A crawl with JavaScript enabled reads (512) 555-0640 across all 408 pages, a pool number that differs on each fetch. The profile and the site have disagreed for eleven months.
Scoping the swap to campaign-tagged sessions left 408 pages serving the profile number to everyone else, with the pool still covering every paid click. The fix is a setting, not a project.
Where this sits in the rankings
Scored under Tracking and attribution. Swapping the phone number per visitor, and the real conflict it creates with NAP consistency.