| | export interface GAEvent { |
| | hitType: "event"; |
| | eventCategory: string; |
| | eventAction: string; |
| | eventLabel?: string; |
| | eventValue?: number; |
| | } |
| |
|
| | |
| | export function sendAnalyticsEvent({ |
| | eventCategory, |
| | eventAction, |
| | eventLabel, |
| | eventValue, |
| | }: Omit<GAEvent, "hitType">): void { |
| | |
| | const event: GAEvent = { |
| | hitType: "event", |
| | eventCategory, |
| | eventAction, |
| | }; |
| | |
| | if (eventLabel) { |
| | event.eventLabel = eventLabel; |
| | } |
| | if (eventValue) { |
| | event.eventValue = eventValue; |
| | } |
| |
|
| | |
| | if (!!window?.gtag && typeof window?.gtag === "function") { |
| | |
| | window?.gtag("event", eventAction, { |
| | event_category: event.eventCategory, |
| | event_label: event.eventLabel, |
| | value: event.eventValue, |
| | }); |
| | } |
| | } |
| |
|