Skip to main content
Phone Tracking shows each website visitor their own tracking phone number from a pool. When that visitor calls, the call is tied back to their exact session — the campaign, the ad click, the landing page, and the referrer that brought them in. It replaces a standalone call-tracking tool: the numbers, routing, recordings, attribution, and ad-platform send-back all live in Hiveku. The swap happens automatically on your live site. No design changes are needed — the tracking number is rendered in the same visual format as the number it replaces, including parentheses, dashes, dots, a +1 prefix, and any trailing extension (x123), so visitors never see anything unusual.
Search engine crawlers always see your site’s original number. Tracking numbers are never served to bots, so your indexed business listings and local SEO citations stay consistent.

How it works

1

A visitor lands on your site

The tracking script assigns them a number from your pool and swaps it into every tel: link and any plain-text numbers you’ve configured.
2

The number sticks to them

A visitor keeps their number for roughly 30 minutes of browsing, extended after they call — so navigating between pages, or returning a few minutes later, shows the same number.
3

They call

The call rings wherever that number already routes — an extension, ring group, IVR, queue, or the AI agent. Putting a number in a pool never changes its routing.
4

The call is attributed

The call record picks up the visitor’s UTM source, medium, and campaign, the landing page, the referrer, and any ad click IDs (Google, Facebook, Microsoft, TikTok). For Google Ads clicks, attribution goes down to the campaign, ad group, and keyword.

Set it up

1. Create a number pool

From Communications → Pools (/dashboard/communications/pools), click New pool and add a few tracking numbers. Buy numbers first on the Numbers tab if you need them — see Phone Numbers. Size the pool for how many visitors browse at the same moment: 2-4 numbers covers a modest site; heavy ad traffic needs more. When every number is in use, extra visitors see your main number — the call still lands, just without per-visitor attribution. If a pool stays fully occupied for a sustained period, account admins receive an email suggesting you add numbers.

2. Enable tracking on your project

Open your website project’s Hosting page and find the Phone Tracking card. Tracking is configured per environment (Development, Staging, Production) — switch the tier selector to the environment you want, toggle the card on, and pick a pool. Separate configs mean test traffic never pollutes production attribution. For sites hosted on Hiveku, that’s it — the tracking script auto-injects on every deployment. For sites hosted elsewhere, expand Manual install (external hosting) on the card and paste the script tag into the <head> of every page.

3. Tell it which numbers to replace

Links using tel: are found and swapped automatically. If your number also appears as plain text (a header, a footer, body copy), add it under Numbers to look for on the card — up to 5 numbers, in any format. Under Advanced swap rules you can also set a Custom CSS selector for elements your site renders phone numbers into, and a Text-node regex to replace any text matching a pattern.

4. Prove it works

The card’s Swap tester has two buttons:
  • Watch it swap — opens your live site in a popup. A banner on the page confirms the swap, and the verdict (which number was shown, how many links and text mentions were updated) reports back to the card.
  • Test my live site — runs full diagnostics: site reachable, tracking script detected, swappable numbers found on the page, a real test assignment, and how many pool numbers are free right now.
Open your site in a private/incognito window to be treated as a brand-new visitor — you should see the swapped number within a second of the page loading.

Hiveku watches it for you

Two automatic monitors mean a broken setup never fails silently:
  • Swap health — every few hours Hiveku checks each live site: is it reachable, is the tracking script still present, and does the pool have free numbers? A confirmed problem (checked twice, so a momentary blip never cries wolf) emails account admins with the specific issue and how to fix it. Sites whose script loads through Google Tag Manager are exempt from the script check, and search-engine or security-bot responses are never mistaken for outages.
  • Pool capacity — the moment every number in a pool is assigned at once, admins get an email explaining that overflow visitors are seeing the fallback number, how many numbers are held by recent callers, and the three ways to fix it (add numbers, shorten the sticky window, review the post-call hold).

Repeat callers and number recycling

Tracking numbers recycle quickly so a small pool goes a long way:
  • After a visitor calls, their number is held for two more days so a quick callback still reaches the same attribution.
  • If the same person calls again within 90 days — even after their original tracking number has been handed to a new visitor — the call is matched back to their original campaign and marked as a repeat caller, so a returning customer doesn’t get miscounted as a fresh lead from someone else’s ad.

Where tracked calls show up

Every website project gets a Calls view on its Analytics tab: KPI tiles (Total, Answered, Missed, Avg Duration, Unique Callers, Attributed %), breakdown cards by source, campaign, keyword, ad group, and tracking number, and a call log with the caller, disposition, duration, keyword, a repeat-caller marker, per-platform conversion-upload chips, and inline recording playback. Calls that could not be attributed show honestly as Unmatched rather than inflating Direct traffic, and the view defaults to production traffic with an “Include test traffic” toggle.

Missed-call auto-text

Turn on the Missed-call SMS autoresponder in Communications → Settings to text a caller the moment an inbound call is missed or goes to voicemail. Personalize the message with {caller_first_name}, {caller_number}, and {business_number} — the editor shows a live character and SMS-segment count (up to 1,600 characters).
One automatic reply to a caller is permitted under TCPA because the caller initiated contact, but any follow-up outreach requires separate opt-in. Outbound SMS also requires completed carrier registration — see SMS Messaging and Compliance.

Send conversions back to your ad platforms

In Communications → Settings, under Ad conversion uploads, one toggle sends qualifying tracked calls to every ad platform you have connected:
  • Google Ads — calls that carried a Google click ID upload as offline conversions, so Smart Bidding learns which campaigns and keywords make the phone ring. Requires a Google Ads account connected in Marketing → PPC.
  • Microsoft Advertising — calls that arrived through a Microsoft/Bing ad (an msclkid on the landing URL) upload to a “Hiveku - Phone Call” offline conversion goal, created for you automatically in the connected Microsoft account. Requires a Microsoft Advertising connection in Marketing → PPC.
  • Meta — calls that arrived through a Facebook or Instagram ad (an fbclid) post to your Meta dataset as phone_call conversion events, joined to the ad click. Requires a Meta Ads connection in Marketing → PPC; if the ad account has one pixel it is picked automatically, otherwise Hiveku asks which to use. Only the ad-click reference is sent — never the caller’s name, email, or phone number.
  • Which calls count — All tracked calls, Answered calls only, or Qualified calls (answered or at least N seconds long, so a detailed voicemail still counts). The default is Answered — a missed three-second call should not train your bidding.
  • Conversion value — optional fixed value and currency per call; leave blank to use the platform-side default.
Separately, Send call events to Google Analytics (GA4) posts a phone_call event to your GA4 property for qualifying tracked calls, joined to the visitor’s real Analytics session. Requires Google Analytics connected in Marketing → SEO, and uses the same call policy. Every upload’s status is visible on the call itself — open a call in Communications → Calls and the Attribution tab shows a chip per platform (uploaded, queued, or failed with the reason), so a disconnected ad account can never silently stop your conversions.

Floating call widget

If your site doesn’t display a tappable phone number, enable the Floating call widget on the Phone Tracking card. It renders a small “Call us” pill anchored to the bottom-right or bottom-left corner, always showing the visitor’s tracking number. An optional fallback number covers the rare case a visitor can’t get one.

Tracking offline sources

Dynamic swapping needs a web session, so for offline channels — a billboard, a print ad, a business listing — dedicate a regular number instead: open it in Communications → Numbers and tag it with a tracking source and campaign name. Calls to that number carry the tag, giving you per-channel counts without a pool.

Troubleshooting

Run Test my live site on the Phone Tracking card. The usual causes: the tracking script isn’t on the deployed site yet (redeploy, or check the manual install), the number appears as plain text and isn’t listed under Numbers to look for, or the pool is exhausted so visitors are seeing the fallback. If you’re checking by hand, remember your own visit may be sticky — use a private window.
Every number is currently assigned to an active visitor. Add more numbers to the pool — the diagnostics show how many are free right now, and sustained exhaustion also triggers an email to account admins.
Direct visits, and calls placed while the pool was exhausted, have no ad context to attach — they still appear in the Calls view, just unattributed. Ad-driven calls attribute automatically when the visitor arrived through a tagged URL or an ad click.
Only tracked calls that carried a Google click ID upload, and only when Upload call conversions to Google Ads is on with a connected Google Ads account. Uploads can also lag a very recent click — Google rejects conversions for clicks it hasn’t finished registering, and Hiveku retries these automatically.

Next steps

Phone Numbers

Buy the tracking numbers for your pool and set their routing.

SMS Messaging

Complete carrier registration so missed-call texts can send.

Hosting

Where the Phone Tracking card lives, alongside the other hosting add-ons.

Compliance and Recording

Recording consent, retention, and messaging rules.