computer-scienceangular-roadmapbackend-roadmapblockchain-roadmapdba-roadmapdeveloper-roadmapdevops-roadmapfrontend-roadmapgo-roadmaphactoberfestjava-roadmapjavascript-roadmapnodejs-roadmappython-roadmapqa-roadmapreact-roadmaproadmapstudy-planvue-roadmapweb3-roadmap
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
818 B
36 lines
818 B
declare global { |
|
interface Window { |
|
gtag: any; |
|
} |
|
} |
|
|
|
// https://developers.google.com/analytics/devguides/collection/gtagjs/pages |
|
export function firePageView(url: string) { |
|
if (!window.gtag) { |
|
console.warn('Missing GTAG – Analytics disabled'); |
|
return; |
|
} |
|
|
|
window.gtag('config', process.env.GA_SECRET, { |
|
page_path: url |
|
}); |
|
} |
|
|
|
// https://developers.google.com/analytics/devguides/collection/gtagjs/events |
|
export function event(props: { action: string; category: string; label?: string; value?: string; }) { |
|
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 |
|
} |
|
); |
|
}
|
|
|