Call Tracking: Every Way to Track Phone Calls with AB Split Test

For many businesses — especially local service businesses and the agencies that run their sites — the conversion that matters isn’t a form fill or a checkout. It’s a phone call. AB Split Test gives you several ways to record phone calls (or the intent to call) as test conversions, from a 30-second setup to full call-platform integration. This guide walks through all of them, from simplest to most advanced, so you can pick the one that fits your stack.

Which method should I use?

MethodWhat it measuresRequires
Link Click on a tel: linkTaps/clicks on your phone number (call intent)Nothing extra
Element Click on a call buttonClicks on any call button or elementNothing extra
CallTrackingMetrics integrationActual phone calls, attributed to the variation the caller sawA CallTrackingMetrics account
Google Tag ManagerPasses test data to any call-tracking platformGTM + your call platform’s tag
JavaScript eventsAnything your call platform’s JavaScript can detectA few lines of JS
Server-side conversion endpointAnswered calls reported by any platform that can send a webhookUUID tracking enabled

A quick note on the difference: the first two methods count the click — a visitor tapping your number or call button. That’s a strong intent signal and is enough for most tests. The CallTrackingMetrics and webhook methods count the actual call, so unanswered pocket-dials don’t inflate your results. Use whichever level of rigor your test needs.

The fastest way to track calls. If your phone number is a clickable link — <a href="tel:+15551234567">Call us</a> — you can convert the test whenever anyone clicks it:

  1. Edit your test and set the Conversion Trigger to Link Click.
  2. Enter tel: as the link pattern.

That’s it. The pattern is a partial match against the link’s href, so tel: matches every click-to-call link on the page. To track one specific number (for example when different departments have different numbers), use a more specific pattern like tel:+15551234567.

Link Clicked is also available as a goal type, so you can keep your main conversion as a form fill and add “clicked the phone number” as a secondary goal on the same test.

2. Track clicks on a call button (Element Click)

If your call-to-action is a button or any other element (not necessarily a link), use the Element Click conversion trigger with a CSS selector:

  1. Give your button a class, e.g. call-now-button (every page builder lets you add a CSS class to a button).
  2. Edit your test, set the Conversion Trigger to Element Click, and enter .call-now-button as the selector.

Alternatively, skip the test settings entirely and tag the button itself: add the class ab-click-convert-123 (where 123 is your test’s ID) to any element and clicks on it will convert that test. See using classes to tag variations and conversions and button conversion tests for more.

3. CallTrackingMetrics: track actual calls, not just clicks

AB Split Test has a native CallTrackingMetrics (CTM) integration. If the CTM tracking code is on your site, AB Split Test automatically attaches test events (test name, variation, and event type) to each visitor’s CTM session — so when a visitor calls one of your tracking numbers, you can see in CTM exactly which variation they saw before picking up the phone.

It goes further: using a CTM Trigger, qualifying calls can be sent back to your site and recorded as conversions in your test results automatically — genuine closed-loop call attribution. You can also enable AB Split Test → Settings → Integrations → CallTrackingMetrics to attach the visitor’s UUID directly to the call as a CTM custom field.

Full setup guide: CallTrackingMetrics Integration: Track Calls as Conversions.

4. Google Tag Manager: connect any call-tracking platform

Most call-tracking platforms — CallRail, WhatConverts, CallScaler, Nimbata, and others — integrate with Google Tag Manager. AB Split Test pushes every test event into the GTM data layer automatically (no configuration needed):

{
  "event": "ab_split_test",
  "test_name": "Homepage Hero",
  "test_variation": "Variation 1",
  "test_event": "visit",   // or "conversion", or a goal number
  "test_id": "12345"
}

Create GTM Data Layer Variables for test_name and test_variation, then pass them into your call-tracking tag as custom parameters, tags, or session attributes — whatever your platform supports. Every tracked call then carries the variation the caller saw, and you can compare call volume per variation in your call platform’s reporting.

There’s also an ab-test-setup-complete data layer event that fires once tests are initialized, which you can use as a GTM trigger. See the Google Tag Manager + GA4 setup guide and Analytics Events and Tagging for details.

5. JavaScript events: convert from any script

If your call-tracking provider fires a JavaScript event or callback when a call happens (many do — check their docs for something like an “on call” or “phone revealed” event), you can record the conversion with one line:

abstConvert(123);        // convert test ID 123
abstGoal(123, 2);        // or record goal 2 on test 123

Drop that into your provider’s callback and the conversion is attributed to whichever variation the visitor was bucketed into. Repeat conversions from the same visitor are de-duplicated automatically. The full list of functions and events is in JavaScript Split Test Events & Functions.

6. Server-side: record calls from any platform’s webhook

For call platforms that can send a webhook when a call completes (with a custom/session variable attached), your site has a built-in endpoint that records a conversion server-side — no browser involved:

https://yoursite.com/wp-admin/admin-ajax.php?action=ab_fp_event&type=conversion&eid=TEST_ID&uuid=VISITOR_UUID

The flow: enable UUID tracking in AB Split Test settings, pass the visitor’s UUID to your call platform (via GTM as above, or a hidden field / custom variable), and have the platform’s call webhook fire a GET request to this endpoint with that UUID. The call is then recorded against the exact variation that visitor saw. This is the same mechanism our CallTrackingMetrics integration uses — but it works with anything that can send an HTTP request. See also Server Side Events.

Don’t see your call-tracking service?

If your call-tracking system isn’t listed here but has an API or webhooks, we’re more than happy to add an integration — just let us know which platform you use. In the meantime, the Google Tag Manager and server-side methods above work with virtually every call-tracking product on the market.

Leave a Comment

You must be logged in to post a comment.