Uncaught ReferenceError: client is not defined
window.zaraz.track('click', { foo: 'hi mates' }) it sends the event in the Network tab, and I can see the event fire.


{{client.WHATEVER_YOUR_VALUE_IS}} and it will come through to GA 

<script>
console.debug("hello");
console.debug("{{ client.demo }}");
console.debug("{{ client.value }}");
console.debug("{{ demo.value }}");
console.debug("{{ demo }}");
console.debug(client);
debugger;
</script>An error occurred while logging client.demo: ReferenceError: client is not defined
An error occurred while logging client.value: ReferenceError: client is not defined
An error occurred while logging demo.value: ReferenceError: demo is not defined
An error occurred while logging demo: ReferenceError: demo is not defined
An error occurred while logging client: ReferenceError: client is not definedwindow.zaraz.track('click', { foo: 'hi mates' }){{client.WHATEVER_YOUR_VALUE_IS}}let my_proxy = new Proxy(zaraz, {
track: function(target, that, args) {
console.log(`function called ${target.name}`);
return target.track(args);
},
construct: function(target, that, args) {
console.log(`function called ${target.name}`);
return Reflect.construct(...arguments)
},
apply: function(target, that, args) {
console.log(`function called ${target.name}`);
return target.apply(args);
},
});const zaraz_stock_track = zaraz.track
zaraz.track = function() {
console.log("INTERCEPTING TRACK", arguments);
return zaraz_stock_track.apply(this, arguments);
}
zaraz.track("purchase", {value: 200, currency: "USD"})zaraz = new Proxy(zaraz, {
get: function(target, property, receiver) {
if (property === 'track') {
return function() {
console.log('Intercepting track:', arguments);
return target.track.apply(target, arguments);
};
} else {
return Reflect.get(target, property, receiver);
}
}
});if(zaraz) {
zaraz = new Proxy(zaraz, {
get: function(target, property, receiver) {
if (property === 'track') {
return function() {
console.log('Intercepting track:', arguments);
return target.track.apply(target, arguments);
};
}
else {
return Reflect.get(target, property, receiver);
}
}
});
}