Skip to content

Instrument Pendo Track Events#49

Open
novus-by-pendo[bot] wants to merge 1 commit into
masterfrom
pendo-track-events-4rwvw
Open

Instrument Pendo Track Events#49
novus-by-pendo[bot] wants to merge 1 commit into
masterfrom
pendo-track-events-4rwvw

Conversation

@novus-by-pendo

Copy link
Copy Markdown

Summary

Adds Pendo Track Event instrumentation across 26 user interaction points in the CourseHive application. These client-side pendo.track() calls capture key conversion milestones, content contributions, search actions, and engagement events that aren't automatically tracked as Feature clicks or Page loads.

Changes

  • Added user_registered track event in login.component.ts after successful signup with metadata: rollNo, emailDomain, hasPhone, hasProfileImage
  • Added user_logged_in track event in login.component.ts after successful authentication with metadata: loginMethod, karmaPoints, rollNo
  • Added email_verification_sent track event in auth.service.ts after verification email is sent with metadata: emailDomain
  • Added password_reset_requested track event in login.component.ts after password reset email is sent with metadata: emailDomain
  • Added push_notification_subscribed track event in login.component.ts after push subscription is stored on server with metadata: studentFId
  • Added course_created track event in add-acourse.component.ts after course is persisted to Firebase with metadata: courseId, courseName, instructorName, credits, slot
  • Added course_search_executed track event in search.component.ts when user searches by course ID with metadata: query, searchType, queryLength
  • Added homepage_search_executed track event in homepage.component.ts when user searches from homepage with metadata: query, searchCategory, queryLength
  • Added student_search_executed track event in search-student-by-name.component.ts on student search with metadata: query, searchType, queryLength
  • Added skill_search_executed track event in skill-search.component.ts on skill search with metadata: query, queryLength
  • Added course_review_submitted track event in course-details.component.ts after review is persisted with metadata: courseId, courseName, reviewLength, reviewerRollNo, reviewerFId
  • Added faq_question_submitted track event in course-details.component.ts after FAQ question is saved with metadata: courseId, courseName, questionLength, askerRollNo
  • Added faq_answer_submitted track event in course-details.component.ts after FAQ answer is saved with metadata: courseId, questionFId, answerLength, responderRollNo, responderFId
  • Added content_uploaded track event in course-details.component.ts after content is uploaded to Firebase with metadata: courseId, courseName, documentType, documentName, uploaderRollNo, uploaderFId
  • Added content_downloaded track event in course-details.component.ts when user opens a content document with metadata: courseId
  • Added review_vote_cast track event in course-details.component.ts for all upvote/downvote paths (new, reverse, switch) with metadata: courseId, reviewFId, voteDirection, voteAction, reviewAuthorFId
  • Added content_vote_cast track event in course-details.component.ts for all content vote paths (new, reverse, switch) with metadata: courseId, contentFId, voteDirection, voteAction, contentUploaderFId, documentType
  • Added course_pinned track event in course-details.component.ts after course is pinned with metadata: courseId, courseName, studentFId, studentRollNo
  • Added course_unpinned track event in course-details.component.ts after course is unpinned with metadata: courseId, courseName, studentFId
  • Added skill_added_to_profile track event in myprofile.component.ts after skill is saved with metadata: skillId, skillName, expertiseLevel, description, studentFId
  • Added skill_removed_from_profile track event in myprofile.component.ts after skill is removed with metadata: skillId, skillName, studentFId
  • Added skill_pinned_from_details track event in skill-details.component.ts when user adds skill from details page with metadata: skillId, skillName, studentFId, studentRollNo
  • Added new_skill_created track event in add-skill.component.ts after new skill is added to registry with metadata: skillName, skillIcon
  • Added notifications_cleared track event in myprofile.component.ts before clearing notifications with metadata: studentFId, notificationCount
  • Added pinned_course_added_from_profile track event in myprofile.component.ts after course is pinned from profile with metadata: courseId, courseName, studentFId
  • Added pinned_course_removed_from_profile track event in myprofile.component.ts after course is unpinned from profile with metadata: courseId, courseName, studentFId

Notes

  • All events are client-side using the pendo.track() API since this is an Angular frontend application
  • The pendo global is already available in the project (used by existing pendo.identify() calls in login.component.ts)
  • Track events are placed after successful async operations (Firebase .then() callbacks) to ensure they only fire on success, except for content_downloaded and notifications_cleared which fire synchronously before the action
  • The review_vote_cast and content_vote_cast events cover all three vote paths (new vote, reverse vote, switch vote) with a voteAction metadata field to distinguish them
  • The content_downloaded event has limited metadata since the DownloadClicked method only receives a link string — richer metadata would require refactoring the method signature

Generated by Novus.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants