diff --git a/client/src/analytics/call-ga.ts b/client/src/analytics/call-ga.ts index c885e03fc2a..98da19af5b6 100644 --- a/client/src/analytics/call-ga.ts +++ b/client/src/analytics/call-ga.ts @@ -83,6 +83,11 @@ interface SignIn { event: 'sign_in'; } +interface SignOut { + event: 'sign_out'; + user_id: undefined; +} + export type GAevent = | DonationViewEvent | DonationEvent @@ -92,6 +97,7 @@ export type GAevent = | ExperimentViewEvent | ChallengeFailedEvent | UserData + | SignOut | SignIn; export default function callGA(payload: GAevent) { diff --git a/client/src/components/signout-modal/index.tsx b/client/src/components/signout-modal/index.tsx index 41a2a4aab1f..46073553260 100644 --- a/client/src/components/signout-modal/index.tsx +++ b/client/src/components/signout-modal/index.tsx @@ -8,6 +8,7 @@ import { Button, Modal, Spacer } from '@freecodecamp/ui'; import { hardGoTo as navigate, closeSignoutModal } from '../../redux/actions'; import { isSignoutModalOpenSelector } from '../../redux/selectors'; import { apiLocation } from '../../../config/env.json'; +import callGA from '../../analytics/call-ga'; const mapStateToProps = createSelector( isSignoutModalOpenSelector, @@ -41,6 +42,7 @@ function SignoutModal(props: SignoutModalProps): JSX.Element { const handleSignout = () => { closeSignoutModal(); + callGA({ event: 'sign_out', user_id: undefined }); navigate(`${apiLocation}/signout`); };