2021-08-29 16:05:19 +02:00
|
|
|
|
declare global {
|
|
|
|
|
interface Window {
|
|
|
|
|
gtag: any;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// https://developers.google.com/analytics/devguides/collection/gtagjs/pages
|
2021-09-05 18:40:02 +02:00
|
|
|
|
export function firePageView(url: string) {
|
2021-08-29 16:05:19 +02:00
|
|
|
|
if (!window.gtag) {
|
|
|
|
|
console.warn('Missing GTAG – Analytics disabled');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
window.gtag('config', process.env.GA_SECRET, {
|
|
|
|
|
page_path: url
|
|
|
|
|
});
|
2021-09-05 18:40:02 +02:00
|
|
|
|
}
|
2021-08-29 16:05:19 +02:00
|
|
|
|
|
|
|
|
|
// https://developers.google.com/analytics/devguides/collection/gtagjs/events
|
2021-09-14 20:34:24 +02:00
|
|
|
|
export function event(props: { action: string; category: string; label?: string; value?: string; }) {
|
2021-08-29 16:05:19 +02:00
|
|
|
|
const { action, category, label, value } = props;
|
|
|
|
|
if (!window.gtag) {
|
|
|
|
|
console.warn('Missing GTAG – Analytics disabled');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
window.gtag(
|
|
|
|
|
'event',
|
|
|
|
|
action,
|
|
|
|
|
{
|
|
|
|
|
event_category: category,
|
|
|
|
|
event_label: label,
|
|
|
|
|
value: value
|
|
|
|
|
}
|
|
|
|
|
);
|
2021-09-05 18:40:02 +02:00
|
|
|
|
}
|