Experiment Not Running
You published an experiment but visitors are not being bucketed into variations: the results page shows zero visitors, or you cannot see the variation when you visit the page yourself. This guide walks through every reason this happens and how to fix each one.
Symptoms
- The results page shows 0 visitors after several hours.
- You visit the target page but do not see any variation applied.
- Calling
avsb.getVariation(42)in the console (with your Experiment ID) returnsnull. - The variation CSS/JS does not appear to be injecting into the page.
Checklist
Check the experiment status
Open the experiment in A vs B. The status badge at the top should say Running. The possible statuses and what to do about each are listed below.
Confirm the snippet is installed and detected
Go to Project Settings → Snippet. The status badge should show Installed in green. If it shows Not detected, the snippet is not installed correctly and no experiments will run. See Snippet Not Detected for the full fix guide.
Check the targeting rules
Open the experiment and click on Step 1 – Targeting to review the URL rules. Confirm there is at least one URL rule configured (an experiment with no URL rules will never match any page) and that the rule actually matches the page you are testing on. More detail below.
Check audience conditions
If you have added audience conditions (Step 1, Audience Targeting), they filter which visitors are eligible. A visitor must match all conditions to be included. Check whether the conditions match the visitor profile you are testing with. To test without audience filtering, temporarily remove all audience conditions, test, then re-add them. Common mistakes are listed below.
Check traffic allocation
Open Step 2 – Variations. Each variation has a traffic percentage. The sum of all variations must be greater than 0% for the experiment to receive any traffic. If all variations are set to 0%, no visitors will be bucketed. Also check the experiment-level traffic allocation: if this is set to a very low percentage (e.g. 1%), most visitors will be excluded from the experiment entirely.
Check the browser DevTools console for errors
Visit the target page and open DevTools → Console. Look for any errors that start with [avsb] or relate to the snippet. A JavaScript error in the variation code itself can cause the experiment to silently deactivate for that visitor.
Try forcing a variation to verify injection works
Open DevTools → Console on the target page and run the forceVariation call shown below. If it returns true and you see the variation applied, the experiment engine is working; the issue is with targeting or audience conditions. If it returns false, the experiment may not be in the datafile yet (give it a minute after publishing) or the IDs are wrong.
- Check this badge first: only Running experiments bucket visitors.
- URL targeting and its match type live here, on the Targeting step.
- Audience conditions are on the same step as URL targeting, not a separate one.
For step 1, if the status badge says:
- Draft: the experiment has not been published yet. Click Publish experiment on the Step 5 (Review & Publish) page.
- Scheduled: the experiment will start automatically at the date and time you set. Wait for that time, or open the Step 5 (Review & Publish) page and click Edit schedule to change or cancel it.
- Paused: the experiment was running but has been manually paused. Click Resume to start it again.
- Completed: the experiment has been stopped. You would need to create a new experiment or contact support to reopen it.
For step 3, when checking targeting rules:
- Is there at least one URL rule configured? An experiment with no URL rules will never match any page.
- Does the URL rule actually match the page you are testing on? Test your rule by comparing it to the browser's address bar. For example, a rule of
/pricingwith Exact Match will only trigger on exactly/pricing, not/pricing/(with a trailing slash) or/pricing?plan=pro(with a query string). - Want to ignore query strings and trailing slashes? Use Path Match. It compares only the path, so
/pricingmatches both/pricing/and/pricing?plan=pro. Substring Match also works here, but it can over-match:/pricingwould also match/pricing-old.
For step 4, common audience-condition mistakes:
- A segment condition is set (e.g. "plan = premium") but the visitor does not have that segment set.
- A device condition excludes the device you are testing on (e.g., "device = desktop" but you are on mobile).
For step 5, checking traffic allocation:
- Each variation needs traffic above 0% to receive any visitors.
- This overall percentage is a second gate: a low value here excludes most visitors from the experiment entirely, even if the variations above are split normally.
For step 7, run this in the console to force a variation:
// Replace with your actual experiment ID and a variation IDconst success = avsb.forceVariation(42, 1487); // Experiment ID, then Variation IDconsole.log('Force result:', success);After publishing an experiment, there may be a delay of up to 60 seconds before the experiment appears in the datafile that the snippet downloads. Try refreshing the page and testing again after a short wait.
Inspecting the datafile
The snippet downloads a JSON datafile containing all running experiment configurations for your project. You can inspect it directly:
- Open DevTools → Network tab.
- Reload the page.
- Filter by "datafile" or look for a request ending in
datafile.json, for examplecdn.avsb.cloud/<your snippet key>/datafile.json. - Click the request and look at the Response tab. Search for your experiment ID. If it is not in the JSON, the experiment may not have been published yet, or the datafile is cached.
The snippet's datafile is cached in the browser for performance. If you just published a new experiment and it does not appear to be running, try a hard refresh (Ctrl+Shift+R on Windows/Linux, or Cmd+Shift+R on Mac) to bypass the cache and download the latest datafile.