bitter-salesclerk-96251
04/23/2025, 6:40 PMonReady() {
const { cartId, secureBaseUrl } = this.context;
let $body = $('body');
let $dropdown = $('#cart-preview-dropdown');
let visitor_id = localStorage.getItem("visitor_id");
if (!visitor_id) {
visitor_id = Math.random().toString(36).substring(2, 15);
// or any other method to generate a random ID
localStorage.setItem("visitor_id", visitor_id);
}
let pageType = this.context.page_type;
async function initializeGrowthBook() {
try {
// Manually fetch features
const response = await fetch(`<https://cdn.growthbook.io/api/features/sdk-z2eQdvHSoRomlSFH>`);
const { features } = await response.json();
// Initialize GrowthBook with the features
const pluginOptions = {
trackers: ["gtag"],
}
const gb = new GrowthBook({
enableDevMode: true,
features,
apiHost: "<https://cdn.growthbook.io>",
clientKey: "sdk-z2eQdvHSoRomlSFH",
plugins: [
thirdPartyTrackingPlugin(pluginOptions),
],
attributes: {
id: visitor_id, // Use the anonymous ID for user identification
}
});
let experiment_set = localStorage.getItem("experiment_key");
if (!experiment_set) {
let experimentKey = gb.isOn("groove-mini-cart");
localStorage.setItem("experiment_key", experimentKey);
if(pageType === 'product') {
window.location.reload();
}
}
if (gb.isOn("groove-mini-cart")) {
console.log("Feature enabled!");
$body.addClass('in-experiment');
$dropdown.addClass('cart-dropdown-gb');
cartPreviewGb(secureBaseUrl, cartId);
} else {
console.log("Feature disabled");
cartPreview(secureBaseUrl, cartId);
}
return gb; // Return the instance if needed elsewhere
} catch (error) {
console.error("Error initializing GrowthBook:", error);
}
}
bitter-salesclerk-96251
04/23/2025, 6:55 PMbitter-salesclerk-96251
04/23/2025, 6:55 PMwitty-salesclerk-11183
04/23/2025, 7:03 PMtrackingCallback
when initializing Growthbook.
I think you need to pass the callback function for experiment exposures and in there send the event details to your datalayerbitter-salesclerk-96251
04/23/2025, 7:04 PMwitty-salesclerk-11183
04/23/2025, 7:05 PMbitter-salesclerk-96251
04/23/2025, 7:27 PMbitter-salesclerk-96251
04/23/2025, 7:27 PMstrong-mouse-55694
04/24/2025, 2:15 AMbitter-salesclerk-96251
04/24/2025, 2:22 PMstrong-mouse-55694
04/24/2025, 3:51 PMgtag
was suggested. But if you're using gtm
, then you'll want to use that instead. Sorry for any confusion.bitter-salesclerk-96251
04/24/2025, 5:46 PMbitter-salesclerk-96251
04/24/2025, 5:47 PMbitter-salesclerk-96251
04/24/2025, 5:47 PMbitter-salesclerk-96251
04/24/2025, 5:47 PMstrong-mouse-55694
04/24/2025, 5:52 PM