AB Split Test Conversions – Updated Guide

AB Split Test currently supports 14 conversion (goal) types, offering flexible ways to track user actions. From simple page visits to custom code triggers.

  1. Page or Post Visit
  2. Text on Page
  3. Element Click
  4. Link Click
  5. Time Active
  6. Scroll Depth
  7. URL
  8. Conversion Block / Module / Element Class
  9. JavaScript
  10. Conversion Pixel (same domain / subdomains only)
  11. Fingerprint Pixel (cross-domain)
  12. Advanced Mode (PHP/AJAX)
  13. Form Submission
  14. WooCommerce Purchase
On the Ultimate plan, you can track one primary conversion goal plus unlimited subgoals per test. Subgoals let you track multiple funnel stages within a single test without splitting into separate tests.

PAGE OR POST VISIT

Select a Page from the dropdown that will trigger a conversion in the same way as the URL conversion method.

A dropdown labeled "Page or Post Visit" is selected, with "TY PAGE: page ty-page-1" entered as the conversion page. "view page" is a clickable link below.

URL 

The URL Visit goal triggers a conversion when a specific URL path on your own site (e.g. /checkout/thank-you/) is visited. Useful for tracking dynamic or custom URLs not listed in the page dropdown. Does not work with external sites like Calendly or YouTube.

A form specifies a conversion URL for a thank-you page, with a sample input "ty-page-1" in the text field under "PRIMARY CONVERSION.

TEXT ON PAGE

Text on Page triggers when a specific piece of text appears on the page, usually as part of a confirmation or thank-you message after a form is submitted, a booking is completed, or a purchase goes through.

Screenshot of a web interface setting where "BUY NOW" is entered as the text that triggers a primary conversion when visible on the page.

ELEMENT CLICK

A flexible conversion selector that tracks when a user clicks on a button or any other element using CSS selectors.

You can define a click on any element with CSS selectors. More information on all the options here.

  • Element with an ID — Use the # operator. Example: #mybutton
  • Element with a class — Use the . operator. Example: .mybutton
  • Link pointing to an external URL — Use an attribute selector. Example: a[href*='yoururl']
A web interface for defining a primary conversion, with a dropdown menu, instructions, and an input field labeled “#yourthing.”.

Advanced Mode: To trigger a conversion on an event other than click, use advanced mode by adding a pipe | and the event type. Example: #buy|mousedown

A dropdown menu for selecting conversion events is shown. Arrows label "Event Selector" pointing to a menu, and "Event Type" pointing to an input field with a CSS selector.

LINK CLICK

Tracks when someone clicks a specific URL on your page. Works with external or internal links.

Screenshot showing a configuration for primary conversion, set to trigger on link clicks matching the pattern "https://www.youtube.com/@absplittest".

SCROLL DEPTH

Fires a conversion when a visitor reaches a set percentage of page height (e.g. 50%, 75%, 90%). Good for measuring content engagement on long pages.

A form section titled "PRIMARY CONVERSION" with fields to define a conversion event by scroll depth percentage, default value set to 50%.

TIME ACTIVE

Fires after a user has been actively engaging (scrolling, moving, tapping) for a set number of seconds. Not idle tab time. Good for engagement-based conversions.

.

A form section labeled "Primary Conversion" with a dropdown set to "Time Active" and an input field showing 15 seconds for user activity before conversion is triggered.

CONVERSION BLOCK / MODULE / ELEMENT CLASS

Automatically triggers a conversion when a specific CSS class (e.g. ab-123 ab-convert) appears on the page. Useful for template or code-driven triggers.

A form prompting users to define a successful conversion by selecting a block, class, or module and entering a conversion class such as "ab-2485 ab-convert.

The JavaScript conversion method is an advanced method for developers.

The function abstConvert(TestId) is all you need to trigger a conversion with JavaScript.

Requirements:

  • Wait until document.ready before firing a conversion
  • You need the Test ID

Conversion Value

On the Ultimate plan, you can include an order value with your conversion:

abstConvert(TestId, orderValue);

If you want to fire a conversion on an external URL page, use the Fingerprint Pixel or Conversion Pixel instead.

You can see the prefilled script with the test ID included by selecting the JavaScript conversion method in your test settings.

Screenshot of a web interface prompting users to define a successful conversion using JavaScript, showing a code snippet and a "copy" button below it.

Conversion Pixel

The Conversion Pixel tracks conversions from external pages by loading a tiny invisible image that records the conversion when the page is viewed. Works on subdomains you control. Can trigger a conversion for a specific test or for all active tests using eid=all. Supports dynamic loading in single page apps by injecting the tracking image via JavaScript.

Because of modern browser privacy rules, the pixel only works reliably on subdomains of your own site. It cannot track conversions across completely different domains. For third-party hosted checkouts on another domain, use the Fingerprint Pixel instead.

As of v2.5.2 the pixel logs conversions directly without a cURL loopback request, resolving failures on hosts that block loopback connections.

A webpage section displays a dropdown for selecting a conversion pixel type and a field showing HTML code for an image pixel used to track conversions.

Fingerprint Pixel

Fingerprinting lets AB Split Test track conversions that happen on external domains, even when a user leaves your site. It works by creating a unique identifier for each visitor based on their browser, device, and IP. When the visitor converts on another site using the fingerprint script, the plugin matches that conversion back to the correct test variation.

Useful when you want cross-domain attribution, such as tracking actions on ThriveCart, Shopify, or other hosted checkouts. Trade-offs: fingerprints can occasionally collide on similar devices, and storing fingerprint data increases database size over time.

For split testing where the variations themselves live on different domains, see Cross-Domain Split Testing →

A web interface showing a dropdown labeled "PRIMARY CONVERSION" with "Fingerprint Pixel" selected and a JavaScript code snippet displayed below for website integration.

PHP / AJAX

PHP and AJAX conversions allow your site to trigger a conversion programmatically, without needing a thank-you page, pixel, or JavaScript event. Your server calls AB Split Test's internal conversion endpoint directly, passing the test ID and optional order value.

Website interface showing a "Primary Conversion" section with a definition and a dropdown menu set to "Advanced Mode (PHP/AJAX)".

FORM SUBMISSION

AB Split Test auto-detects form submissions from supported plugins and records a conversion when the form is successfully submitted. No custom code required.

Supported form plugins: Contact Form 7, Gravity Forms, WPForms, Fluent Forms, Elementor Forms, Bricks Forms, Ninja Forms, Formidable Forms, WS Form, Beaver Builder Forms, MailPoet Forms.

For HubSpot forms, enable native HubSpot tracking in Settings > Data Management (v2.5.2+). Supports a single form GUID, comma-separated GUIDs, or * wildcard to track all HubSpot forms.

On the Ultimate plan, AB Split Test can also read the order or payment total directly from a submitted form when your test is in revenue mode, so you can measure which variation makes more money rather than just which gets more submissions (v2.5.5).

Full WPForms setup guide →

HubSpot form conversion tracking →

WOOCOMMERCE PURCHASE

Fires a conversion when a WooCommerce order is completed. Also supports SureCart, Easy Digital Downloads, and FluentCart.

For custom checkouts (CartFlows, WooFunnels) or when standard tracking misses orders, enable server-side tracking in Settings > Advanced Settings > Enable server-side conversion tracking for WooCommerce.

Use Order Value is available on the Ultimate plan for any conversion type. This lets your tests optimize for revenue per visitor rather than just conversion count.

PHONE CALLS (CALLTRACKINGMETRICS)

Phone calls tracked through CallTrackingMetrics can now count as conversions and be attributed to the correct test variation (v2.6.0). Once CTM is connected, attribution flows through automatically.

CallTrackingMetrics Integration →

Leave a Comment

You must be logged in to post a comment.