Split Test Pro
Intermediate 5 min read

Shopify Web Pixel

How the Web Pixel installed by Split Test Pro tracks the full purchase funnel automatically, what events it captures, and what to check when conversions aren't being attributed correctly.

This is a Shopify-only doc. The Web Pixel is half of how Split Test Pro tracks data on Shopify (the other half is the Theme App Extension that injects variants). Both are auto-installed when you install the app from the Shopify App Store.

What the Web Pixel Does

The Web Pixel is a Shopify-managed JavaScript component that runs in a sandboxed environment on every page of your storefront and checkout. It listens for events Shopify emits as visitors interact with your store, attributes them to the visitor’s experiment-variant assignment, and posts them to Split Test Pro for results computation.

This is the system that makes funnel events — add_to_cart, checkout_started, checkout_completed, plus engagement events — appear in your Results dashboard automatically.

Auto-Installation

When you install Split Test Pro from the Shopify App Store, Shopify auto-registers the Web Pixel. There’s no manual step. To confirm:

  1. In your Shopify admin, go to Settings → Customer events.
  2. Look for Split Test Pro in the list of installed pixels.
  3. Status should show Connected.

If it shows Not connected or doesn’t appear at all, uninstall and reinstall the app — pixel registration is part of the install flow and should never fail silently.

Events the Pixel Subscribes To

The pixel subscribes to multiple Shopify event channels:

ChannelWhat it captures
all_eventsEvery standard Shopify pixel event (product viewed, cart viewed, add to cart, checkout started, payment info submitted, checkout completed, etc.).
split_test_pro_experiment_activatedCustom event fired by the Theme App Extension when a variant activates. The pixel uses this to know which experiment a visitor is in.
advanced_dom_scrolledScroll depth events at 50px increments.
advanced_dom_clickedClick events (capped at 500 per session to avoid spam).
advanced_dom_availableDOM-readiness events for variant rendering verification.
advanced_dom_changedDOM mutation events for diagnosing layout shifts caused by variants.

The funnel events drive conversion attribution. The advanced DOM events feed the Advanced DOM card on the Results page (Shopify only) — useful for debugging whether a variant actually rendered correctly for the visitors assigned to it.

How Events Flow

When a visitor takes an action that fires a pixel event:

  1. Shopify dispatches the event to all subscribed pixels, including Split Test Pro’s.
  2. The pixel reads the visitor’s splittestpro-experiment cookie to identify their variant assignment.
  3. The pixel posts a structured event to the Split Test Pro analytics endpoint, tagged with the experiment, variant, and shop domain.
  4. The post uses keepalive: true so events fire reliably even on page-unload (e.g., right after checkout completes).

For purchases specifically, the pixel checks each line item for a sellingPlanAllocation — if present, the conversion is flagged as has_subscription so it shows up in the Subscriptions column of results. This lets you separate one-time vs recurring purchases when reading variant performance.

The Web Pixel is configured in Shopify with analytics: true and all other privacy scopes (marketing, preferences, sale_of_data) set to false. This means the pixel only fires for visitors who’ve granted analytics consent under your store’s customer-privacy settings.

For US stores without a regional consent banner, analytics consent is typically implicit — the pixel runs for every visitor.

For EU stores using Shopify’s customer-privacy banner, the pixel only fires after the visitor accepts analytics consent. Visitors who decline are not assigned to or counted in any experiment.

This is enforced at the Shopify platform level via the customer_privacy API. You don’t wire it up — Shopify handles it. See Privacy and Consent for the full multiplatform picture.

Configuration Settings

The pixel exposes three settings (visible in Settings → Customer events → Split Test Pro → Edit settings):

  • App URL — the Split Test Pro app endpoint the pixel posts to.
  • Merchant URL — your store’s URL (used for cross-checking).
  • Workspace ID — the Split Test Pro workspace this pixel reports to.

These are auto-populated on install. Don’t edit them unless you’re explicitly debugging — wrong values silently break event attribution.

Verifying the Pixel

If results aren’t showing up:

  1. Check the pixel is connected. Settings → Customer events → Split Test Pro should show status Connected. If it doesn’t, reinstall the app.
  2. Check the cookie is being set. Visit your store, open DevTools → Application → Cookies. Look for splittestpro-experiment. If it’s missing, the Theme App Extension isn’t running — see Shopify Theme App Extension.
  3. Check the analytics POST. With DevTools → Network tab open, filter for analytics. Trigger a pixel event (add a product to cart). You should see a POST request — confirm the response is 200.
  4. Check consent state. If your store uses a consent banner, accept analytics consent first. Without it, the pixel won’t fire.

If all four check out and events are still missing from Results, contact support with your workspace ID — there may be a backend attribution issue.

What the Pixel Doesn’t Do

A few important boundaries:

  • Doesn’t apply variant CSS or JS. That’s the Theme App Extension’s job. The Web Pixel only tracks events.
  • Doesn’t run in the Shopify admin or off-storefront pages. Only customer-facing storefront and checkout pages.
  • Doesn’t attribute orders that complete outside Shopify. If your funnel ever leaves shopify.com (e.g., a custom-built upsell on a different domain), the pixel doesn’t follow.
  • Doesn’t survive a checkout.com or alternative checkout. Standard Shopify Checkout is fully covered. Custom checkout extensions inherit pixel coverage; third-party checkouts may not.

Uninstalling

When you uninstall Split Test Pro from the Shopify App Store, Shopify auto-unregisters the pixel. No manual cleanup needed.

If you want to temporarily disable the pixel without uninstalling the app, you can disable it in Settings → Customer events — but doing so stops all results tracking until you re-enable it.

Next Steps

Ready to start testing?

Install Split Test Pro and run your first experiment today.

Install on Shopify