Skip to content
  • There are no suggestions because the search field is empty.

Which Convert Product Should I Use? Web Testing Tracking Script vs JavaScript SDK

Understand when to use Convert’s Web Testing tracking script, when to use the JavaScript SDK, and why they are not interchangeable.

Owner: Ahmed Abbas

THIS ARTICLE WILL HELP YOU:

Short answer

No, the Convert JavaScript SDK does not run Web Testing projects.

Convert’s Web Testing tracking script and JavaScript SDK are built for different Convert project types:

What you want to do Use this Convert product
Run visual A/B tests, Split URL tests, visual editor changes, or browser-side tests Web Testing project + Convert tracking script
Fire a goal from browser-side JavaScript on a Web Testing project Web Testing project + window._conv_q
Run server-side A/B tests, feature flags, backend-rendered experiments, or SDK-based bucketing Fullstack project + JavaScript SDK
Use one library for both visual testing and server-side testing Not supported

Why the tracking script and SDK are separate

A Web Testing project runs in the browser through the Convert tracking script. This script loads on your website, evaluates whether a visitor should be included in an experience, and applies variation changes in the browser, including DOM changes for visual experiences.

A Fullstack project uses the Convert SDK, such as the JavaScript SDK, to evaluate server-side or application-side experiments. The SDK exposes methods such as createContext(), runExperience(), runFeatures(), and trackConversion() for SDK-based experimentation and conversion tracking. 

Because these products are designed for different project types, the JavaScript SDK and the Web Testing tracking script are not interchangeable.

Scenario 1: “I want server-side A/B tests or feature flags alongside my visual tests”

Use a separate Fullstack project in the same Convert account.

Your existing Web Testing project can continue to run visual tests through the Convert tracking script. Your Fullstack project can run server-side A/B tests, backend-rendered changes, application-level decisions, or feature flags through the JavaScript SDK.

These projects can coexist in the same Convert account, but they remain separate:

  • Separate project types
  • Separate SDK or tracking implementation
  • Separate experiment IDs
  • Separate reporting dashboards

Example use cases for a Fullstack project:

  • Returning different pricing, copy, or layouts from your backend
  • Feature gating in Node, PHP, or another backend
  • Running experiments before the page reaches the browser
  • Using SDK-based bucketing logic

Scenario 2: “I want to fire conversions from my own JavaScript on a Web Testing project”

Use the Web Testing tracking script’s browser-side command queue.

If your Web Testing project already has the Convert tracking script installed and you want to trigger a goal from your own browser-side code, use:

window._conv_q = window._conv_q || [];
window._conv_q.push(["triggerConversion", "<goal-key>"]);

Replace <goal-key> with the goal ID or goal key from your Convert project.

For example, inside a React click handler, Vue method, or vanilla JavaScript event listener, you can trigger a Convert conversion like this:

document.querySelector("#signup-button").addEventListener("click", function () {
  window._conv_q = window._conv_q || [];
  window._conv_q.push(["triggerConversion", "12345678"]);
});

This approach is for browser-side JavaScript only. It does not require the JavaScript SDK.

Scenario 3: “I want one library for both visual tests and server-side tests”

Convert does not currently provide a single library that runs both Web Testing visual experiments and Fullstack SDK experiments.

Use:

  • The Convert tracking script for Web Testing projects
  • The Convert JavaScript SDK for Fullstack projects

Visual testing depends on browser-only behavior such as DOM manipulation, visual editor changes, Split URL redirects, browser event handling, and client-side integrations. Fullstack experiments use SDK-based decisioning and are designed for application or server-side environments.

Common questions

Can I use the JavaScript SDK on my Web Testing project?

No. The JavaScript SDK is for Fullstack projects. A Web Testing project is run by the Convert tracking script.

Can I point the JavaScript SDK at a Web Testing project?

No. If you use the SDK with a Web Testing project key, the SDK will not run Web Testing experiments. Use a Fullstack project key with the SDK.

Does “Fullstack” mean my technical stack?

No. In Convert, Fullstack refers to a Convert project type. It does not mean that every JavaScript, React, Vue, or Node implementation should use the Fullstack SDK.

For example:

  • React code running in the browser on a Web Testing project can use window._conv_q
  • Node.js backend experimentation should use a Fullstack project and the JavaScript SDK

Can I use _conv_q from Node.js or my backend?

No. _conv_q is available on window, so it is browser-only. There is no Node.js equivalent for _conv_q.

For server-side conversion tracking, use a Fullstack project and the SDK’s conversion tracking method, such as context.trackConversion().

Can my Web Testing and Fullstack projects run under the same Convert account?

Yes. You can keep your Web Testing project for browser-side visual experiments and create a separate Fullstack project for SDK-based experiments.

Quick decision guide

Use this rule of thumb:

Is the experiment changing the page in the visitor's browser?
Use a Web Testing project and the Convert tracking script.

Is the experiment decided by your backend or application code before rendering?
Use a Fullstack project and the JavaScript SDK.

Are you only firing a browser-side goal from custom JavaScript?
Use window._conv_q.push(["triggerConversion", "<goal-key>"]).

Do you want one SDK for both?
That is not supported. Use the correct product for each project type.

Summary

The Convert JavaScript SDK and the Web Testing tracking script solve different problems:

  • Web Testing tracking script: browser-side visual testing, Split URL testing, DOM changes, and browser-side conversion events
  • JavaScript SDK: Fullstack projects, server-side or application-side experimentation, feature flags, SDK-based bucketing, and SDK-based conversion tracking

They can be used alongside each other in the same Convert account, but they should be configured as separate projects.