<head>. You verified it is there in view
source. You opened your test page in a fresh tab. Nothing happens.
Nine times out of ten it is one of the five things below.
1. window.__ABTESTLY_CONFIG__ is undefined
The snippet did not load. Not “did not run”, did not even load.
- Is the snippet actually in
<head>? Right-click the page → View source. Search forabtestly. It has to be a<script>tag inside<head>. - Is it the first script tag? Plugins sometimes inject other tags above ABTestly. Ours has to be first.
- Is
cdn.abtestly.comblocked? Try incognito with ad blockers disabled. Some blockers need it allowlisted. - Is the snippet the right one for this domain? Each site has its
own snippet, keyed to its own domain. A snippet from
site-a.comrunning onsite-b.comdoes nothing.
cdn.abtestly.com/s/<key>.js and its status.
2. Config is loaded but has no experiments
- Are there any in Live status?
- If yes, are they targeting a Location that matches this page?
- Did you save an experiment but never click Start?
3. Config has experiments but none apply
assignment events. If there is none,
the experiment did not consider you.
- Location did not match. The URL rules do not match the current URL. Open the experiment’s Location editor; check operator and case sensitivity.
- Audience did not match. Your visitor properties (device, country, cookie) did not qualify. The debugger tells you which rule failed.
4. Assignment happened, variant did not apply
Debugger says the assignment succeeded but the change is not visible.- Selector typo in variant JS?
document.querySelector('.hero_cta')when the element is.hero-cta. Look forvariant_apply_errorevents. - Element was not on the page yet? Use
abtestly.waitFor(selector, cb)instead ofquerySelector. - SPA that moved past the target? Turn on SPA support in Settings
→ SPA. Use
onApplyandonCleanupin your variant.
5. Variant applied, no beacon fired
Debugger shows avariant_applied event but no beacon event.
- Consent gate is still deferred. Check
consentModeandconsentKey. If consent is deferred and not granted, the runtime waits. - Visitor is opted out. Check
__abtestly_optout=1in the cookies for this domain. - Preview mode. Preview never fires real beacons, by design.