Click-to-call (also called tap-to-call) is a feature that lets a user tap a phone number displayed on a mobile search result, ad, Google Business Profile, or webpage to instantly start a phone call. It is powered by the HTML tel: protocol and is the primary conversion action for service businesses like plumbers, dentists, lawyers, and repair shops.
For a service business, click-to-call is the shortest path from search intent to revenue. A phone call is a warm lead by definition. If your listing does not offer that tap, competitors above and below you are absorbing the demand.
What is click-to-call?
Click-to-call is a linked phone number that, when tapped on a mobile device, triggers the device's dialer with the number pre-filled. The user then confirms the call with one more tap. Total friction: two taps between "I found the business" and "I am on the phone".
It shows up in four places:
- Google Business Profile — a phone icon on mobile local-pack and Maps listings
- Google Ads call extensions and call-only ads — phone number replaces the click-to-site behaviour
- Website — any anchor tag using the
tel:protocol - Bing Places and Apple Maps — equivalent tap-to-call functionality
Google reports that 76% of local mobile searches result in a related action within 24 hours, and calls are among the top three. For high-intent categories like emergency plumbing or urgent-care dental, click-to-call rivals or beats website visits as the top conversion.
Why click-to-call matters
- It converts faster than a form. A phone conversation closes higher than a form fill in almost every service category.
- It is mobile-native. More than 60% of searches happen on mobile. Click-to-call meets users where they already are.
- It signals urgency capture. Emergency, same-day, and "near me" queries convert to calls at 2-4x the rate of standard queries.
- It is measurable. Google Business Profile Insights, Google Ads call reporting, and third-party call-tracking tools attribute every call to a source.
- It levels the playing field. A small local shop with a click-to-call listing competes directly with national brands on the same SERP.
How click-to-call works
On websites, the mechanism is a one-line HTML change:
<a href="tel:+15125551234">Call us: (512) 555-1234</a>
<!-- With aria-label and analytics -->
<a href="tel:+15125551234" aria-label="Call the office"
onclick="gtag('event','call_click')">
(512) 555-1234
</a>
The tel: protocol is defined by RFC 3966. Numbers should be in E.164 format (country code + full number, no spaces, no dashes) so every mobile OS parses them correctly.
On Google Business Profile
Google auto-generates the click-to-call button from the phone number you enter in your GBP dashboard. No code required. Calls initiated from the profile show up in Insights → Phone calls.
In Google Ads
Two mechanisms: call extensions add a tappable number below a standard ad, and call-only ads replace the click-to-site behaviour entirely — every tap is a call. Both feed into Google Ads conversion tracking.
Click-to-call placements compared
| Placement | Setup effort | Attribution | Best for |
|---|---|---|---|
| Google Business Profile | Zero — auto-generated | GBP Insights | Every local business |
| Website tel: link | One-line HTML change | GA4 events, call tracking | Service pages, contact bar |
| Google Ads call extensions | 5-min setup | Google Ads reporting | Any campaign with phone intent |
| Google Ads call-only ads | Distinct campaign | Google Ads reporting | Emergency, high-urgency services |
| Sticky mobile call bar | CSS + JS or plugin | GA4 events | Contact-heavy service sites |
Real click-to-call examples
1. Dental practice from GBP
A single-location dental office receives 80 click-to-call actions per month from its GBP local-pack listing versus 45 monthly website contact-form submissions. Google Business Profile is doing more lead generation than the website — and the practice pays nothing for it.
2. Emergency plumber Google Ads
A 24/7 emergency plumber switches from standard search ads to call-only ads for the "burst pipe" and "no hot water" query clusters. CPA drops 34% because every click resolves to a call — no bounce-and-forget from a landing page.
3. Multi-location law firm sticky bar
A firm adds a sticky mobile bar with a click-to-call button and location-aware routing. Calls tracked via CallRail; each location's number auto-swaps by city. Total call volume rises 41% quarter over quarter.
Click-to-call vs contact form — which converts better
For service businesses, calls typically convert 3-5x higher than form fills — but you need both, because users self-select.
Click-to-call wins when
- The query has urgency (emergency, same-day, broken)
- The customer needs to discuss options live
- Trust is built through voice tone and questions
- The offering is priced per job, not per SKU
- You have staff ready to pick up (missed calls kill it)
Contact form wins when
- The buyer is researching before deciding
- You need structured data (address, service type)
- Users prefer async (millennials, Gen Z)
- Your team follows up outside business hours
- The offering is complex enough to need documentation
6 click-to-call best practices
- Use E.164 format everywhere. Prefix with country code and no separators —
tel:+15125551234— for reliable parsing across iOS and Android. - Add a sticky call bar on mobile. Pin a full-width call button to the bottom of the viewport on service pages. Users on their phones will use it.
- Preserve the visible NAP number. Google matches your on-page phone number against directories for local-pack ranking. Tracking numbers should swap dynamically per source, not statically replace.
- Track calls in GA4 and CRM. Push tap events on
tel:anchors and integrate with your call-tracking provider so every call ties to a lead record. - Answer within three rings. Call-to-conversion rate collapses at missed calls. Route to voicemail with a promise to return the call inside 15 minutes if you cannot answer live.
- Test hours of operation on Google Ads. Schedule call-only ads to run only when a human can answer — CPA plummets when calls hit an off-hours voicemail.
Replacing your primary NAP phone number with a call-tracking number sitewide inconsistency across directories, which is a well-documented drag on local-pack rankings. Use dynamic number insertion (DNI) that swaps based on session source only, and keep the primary number visible for organic and direct traffic.
Common click-to-call mistakes to avoid
- Displaying the number as plain text. Without the
tel:anchor, mobile users have to memorise and dial manually. - Using non-tappable images of numbers. An image is invisible to the dialer and to screen readers.
- Ignoring accessibility. Add
aria-labelso screen readers announce "Call the office", not just a string of digits. - Forgetting the international format. Missing country codes fail silently on inbound roaming users.
- Not tracking clicks. If you cannot attribute calls to source, you cannot justify the spend that drove them.
Frequently asked questions
Wrap a phone number in an anchor tag with the tel: protocol. An anchor whose href is tel:+15125551234 becomes tappable on any mobile browser. No JavaScript or plugin required.
It works if the desktop has a linked calling app (Skype, FaceTime, Google Voice, or a softphone). Otherwise the tel: link opens the default handler or does nothing. Design assuming mobile-first for click-to-call.
Use call-tracking numbers (CallRail, Twilio, or Google Ads call reporting) that swap the displayed number based on the traffic source. Google Business Profile Insights shows total call clicks at the listing level.
Only if you deploy tracking numbers site-wide. Google reads the visible phone number for NAP matching, so replace only inside dynamic call-tracking scripts that swap by source.
60% of mobile searchers have used click-to-call to contact a business directly from search results, according to Google. For local service categories the share is even higher.
Related glossary terms
How theStacc helps
theStacc's local SEO audit checks every GBP listing, every service page, and every ad extension for click-to-call coverage. We flag missing tel: anchors, broken tracking swaps, and NAP mismatches, then rank fixes by expected call lift. Delivered in 24 hours.
