Settings reference
Full list of settings you can override on MyTest.settings.
How settings work
Each test created with Object.create(Abrantes) inherits Abrantes.settings.
Update your experiment settings before calling the method that uses them.
Plugin settings are available after loading the plugin.
var MyTest = Object.create(Abrantes);
MyTest.settings.cookie.expires = 30;
MyTest.settings.crossSiteLink.triggerEvent = false;
MyTest.settings.dataLayer.eventName = "run_my_ab_test";
MyTest.settings.formTrack.inputElement = "#ab_variant";
Core settings
crossSiteLink
It's an event name that controls when crossSiteLink() rewrites cross-site URLs.
MyTest.settings.crossSiteLink.triggerEvent(string or false).- Default:
"DOMContentLoaded". Good for most use cases in websites. Web apps may need to set this to another event. - Set to
falseto run immediately (not recommended).
cookie
Used only when calling persist("cookie"). Controls how variants persist when using cookies.
MyTest.settings.cookie.expires(number of days, default:7).MyTest.settings.cookie.path(string, default:"/").MyTest.settings.cookie.domain(string, default:"").
Plugin settings
GTM dataLayer
Keys used when calling add2dataLayer().
MyTest.settings.dataLayer.eventName(default:"run_ab_test").MyTest.settings.dataLayer.customDimension(default:"ab_test_data").MyTest.settings.dataLayer.experimentName(default:"experiment_name").MyTest.settings.dataLayer.variantName(default:"variant_name").MyTest.settings.dataLayer.variantPrefix(default:"v").
Hotjar
Events that should trigger hotjar() when Hotjar loads after consent.
MyTest.settings.hotjar.triggerEvents(array of event names).- Default:
["load", "cookies:accept", "cookies:acceptall", "cookies:ok"].
Please note that the cookies:* are just examples. Your website probably uses a different naming convention for cookie consent events. You must update the settings accordingly.
Microsoft Clarity
Events that should trigger clarity() when Clarity loads after consent.
MyTest.settings.clarity.triggerEvents(array of event names).- Default:
["load", "cookies:accept", "cookies:acceptall", "cookies:ok"].
Please note that the cookies:* are just examples. Your website probably uses a different naming convention for cookie consent events. You must update the settings accordingly.
Form tracking
Controls when the hidden input is filled by formTrack().
MyTest.settings.formTrack.triggerEvents(array of event names).- Default:
["DOMContentLoaded"].
Hidden form field to use for storing the variant name:
MyTest.settings.formTrack.inputElement(selector string).- Default:
"#last_abtest_variant".
Abrantes Log
Controls where to send user's event logs. This plugin must be used with the custom API Abrantes Log.
MyTest.settings.log.apiURL- A string with the URL of the API endpoint. Default:""- It must be defined before calling.log("example_event", "example note").MyTest.settings.log.variantPrefix- Prefix to the variant number in the log. Default:"v".
Hubspot
Keys used when calling hubspotEvent(eventName).
MyTest.settings.hubspot.customDimension(default:"ab_test_data").MyTest.settings.hubspot.experimentName(default:"experiment_name").MyTest.settings.hubspot.variantName(default:"variant_name").MyTest.settings.hubspot.variantPrefix(default:"v").
Plugins without settings
These plugins do not add new keys to MyTest.settings:
- GA4 (gtag): uses
gtagandwindow.googleTrackingConfig. - Matomo: uses the global
_paqqueue.
Default settings (AbrantesPlus)
This is the default settings object when you load AbrantesPlus.js:
Abrantes.settings = {
crossSiteLink: {
triggerEvent: "DOMContentLoaded"
},
cookie: {
expires: 7,
path: "/",
domain: ""
},
hotjar: {
triggerEvents: ["load", "cookies:accept", "cookies:acceptall", "cookies:ok"]
},
clarity: {
triggerEvents: ["load", "cookies:accept", "cookies:acceptall", "cookies:ok"]
},
formTrack: {
triggerEvents: ["DOMContentLoaded"],
inputElement: "#last_abtest_variant"
},
dataLayer: {
eventName: "run_ab_test",
customDimension: "ab_test_data",
experimentName: "experiment_name",
variantName: "variant_name",
variantPrefix: "v"
}
};