mysterious-hospital-86275
04/03/2024, 3:32 PM<script id="growthbook-sdk" src="<https://cdn.jsdelivr.net/npm/@growthbook/growthbook/dist/bundles/index.min.js>" defer></script>
<script>
	
(function() {
    window.getUUID = function() {
        var COOKIE_NAME = "gbuuid";
        var COOKIE_DAYS = 3 ; // 400 days is the max cookie duration for chrome
        // use the browsers crypto.randomUUID if set
        function generateUUID() {
            if (window.crypto != undefined && window.crypto.randomUUID != undefined && typeof window.crypto.randomUUID == 'function') {
                return window.crypto.randomUUID();
            } else {
                return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
                    var r = crypto.getRandomValues(new Uint8Array(1))[0] % 16 | 0,
                        v = c === 'x' ? r : (r & 0x3 | 0x8);
                    return v.toString(16);
                });
            }
        }
        function setCookie(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
        expires = '; expires=' + date.toGMTString();
    } else {
        expires = '';
    }
    var cookieName = '' + name + '';
    var cookieStr = cookieName + '=' + value + expires + ';' + 'domain=' + '.' + removeDomainPrefix(
        window.location.hostname
   ) + ';path=/';
    typeof window !== 'undefined' ?
        (document.cookie = cookieStr) :
        '';
}
        // get the existing UUID from cookie if set, otherwise create one and store it in the cookie
        if (window.readCookie(COOKIE_NAME)) return window.readCookie(COOKIE_NAME);
        var uuid = generateUUID();
        setCookie(COOKIE_NAME, uuid,COOKIE_DAYS);
        return uuid;
    }
    
    window.getCurrentEpochTime = function() {
        // Create a new Date object and use the getTime() method to get the current timestamp in milliseconds.
        var currentTimeMillis = new Date().getTime();
        // Convert the timestamp from milliseconds to seconds by dividing it by 1000.
        var currentEpochTime = Math.floor(currentTimeMillis / 1000);
        return currentEpochTime;
    }
    window.readCookie = function(cookieName) {
        var name = cookieName + "=";
        var decodedCookie = decodeURIComponent(document.cookie);
        var cookieArray = decodedCookie.split(';');
        for (var i = 0; i < cookieArray.length; i++) {
            var cookie = cookieArray[i];
            while (cookie.charAt(0) === ' ') {
                cookie = cookie.substring(1);
            }
            if (cookie.indexOf(name) === 0) {
                return cookie.substring(name.length, cookie.length);
            }
        }
        // Return false if the cookie is not found
        return false;
    }
    // Wait for the SDK to load before starting GrowthBook
    if (window.growthbook) {
        startGrowthbook();
    } else {
        document.querySelector("#growthbook-sdk").addEventListener("load", startGrowthbook);
    }
    function startGrowthbook() {
        if (!window.growthbook) return;
        console.log(window.growthbook, "window.growthbook")
        var exp = dataLayer[0].all_experiment_objects[0]
        window.gbuuid = window.getUUID();
        window.gb = new growthbook.GrowthBook({
            apiHost: "<https://cdn.growthbook.io>",
            clientKey: "sdk-YSiLEOQJVJKOggX",
            // TODO: Add decryptionKey if using encryption
            attributes: {
                id: window.gbuuid,
                expValue: dataLayer[0].optimize_all_experiment_experiment_id
                //add any other attributes here
            },
            debug: true,
            enableDebugMode: true,
            enableDevMode: true,
            subscribeToChanges: true,
            trackingCallback: function(experiment, result) {
                // track with GA4, for example:
 //               console.log("experiment-result", experiment, result)
                dataLayer.push({
                    event: 'experiment_viewed',
                    type: 'experiment',
                    experiment_id: experiment.key,
                    variation_id: result.variationId,
                    user_id: window.gbuuid,
                })
            }
        });
        window.gb.loadFeatures().then(function() {
            // if you want to do anything after GB loads
            // Object.keys(window.gb.getFeatures()).map(function(feature) {
            //     console.log(feature + " variation assigend feature call -> " + window.gb.getFeatureValue(feature, "fallback"))
 
                
            // })
          var exp = dataLayer[0].all_experiment_objects;
                if (exp && exp.length) {
                    exp.map(function(ele) {
                      var featureValue = window.gb.getFeatureValue(ele.google_exp_id.toLowerCase(), "fallback");
                       // console.log(ele.google_exp_id + " variation assigend exp call -> " + featureValue)
                       
                      if(featureValue !== "fallback" && featureValue !== -1){
                        dataLayer.push({
                            event: 'experiment_viewed',
                            type: 'experiment',
                            experiment_id: ele.name,
                            variation_id: featureValue,
                            user_id: window.gbuuid,
                        })
                      }
                    })
                }
        });
    }
})();
</script>mysterious-hospital-86275
04/04/2024, 2:20 AMfresh-football-47124
fresh-football-47124
mysterious-hospital-86275
04/04/2024, 5:01 AMmysterious-hospital-86275
04/04/2024, 5:01 AM