How do I run javascript on window load or document ready in Google Optimize campaigns? It seems like it allows me to select DOM elements all the way up to Body, but I need to run js on document ready.
You can change this behavior by clicking on the "MOVE SETTINGS" option in the right section of the app bar (at the top of the page). The default setting is "Reorder," but if you change this to "Move anywhere" you'll be able to move an object out of the group.
The Optimize JavaScript API allows you to use your own JavaScript code to make changes to variants using callback functions. You can also choose to combine these code changes with edits made using the Optimize visual editor.
Custom JavaScript targeting allows you to inject JavaScript into a page, then target your experiments based on the value that the JavaScript returns.
This is the way I go about it:
body
.Because of the nature of Google Optimize, I would expect that it wouldn't start messing around with DOM elements until they are loaded. And because you select the After closing tag option on the body tag that should ensure all elements have been loaded in the DOM.
However, if you want to be 100% sure, you could write a function like this.
function runOnLoad() {
console.log('this will only run when window is loaded');
}
if(document.readyState === "complete") {
runOnLoad();
} else {
window.addEventListener("onload", runOnLoad, false);
}
That code snippet was adapted from How to check if DOM is ready without a framework?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With