testa-snowplow-browser-tracker-plugin
Version:
Testa Snowplow-plugin
36 lines (30 loc) • 867 B
text/typescript
import { BrowserTracker, BrowserPlugin } from '@snowplow/browser-tracker-core';
import { buildStructEvent } from '@snowplow/tracker-core';
interface Visitor extends Event {
project_id: string;
experiment: number | string;
variation: number | string;
uuid: string;
title: string;
}
export function TestaPlugin(): BrowserPlugin {
function initListener(tracker: BrowserTracker) {
document.addEventListener(
'variation_applied',
function (data: Visitor) {
if (!data) return;
tracker.core.track(buildStructEvent({
category: 'testa',
action: data.experiment + ":" + data.title,
label: Number(data.variation).toString(),
property: data.uuid,
}));
}
)
}
return {
activateBrowserPlugin: (tracker: BrowserTracker) => {
initListener(tracker);
},
};
}