feat: add optimizely experiment (#30880)
Added two events to measure optimizely experiment metrics: - user_goal_setting_click - user_start_course_click VAN-1052
This commit is contained in:
@@ -9,6 +9,7 @@ from eventtracking import tracker as eventtracker
|
||||
from ipware.ip import get_client_ip
|
||||
|
||||
from common.djangoapps.track import contexts, shim, tracker
|
||||
from lms.djangoapps.utils import OptimizelyClient
|
||||
|
||||
|
||||
def _get_request_header(request, header_name, default=''):
|
||||
@@ -97,6 +98,13 @@ def user_track(request):
|
||||
with eventtracker.get_tracker().context('edx.course.browser', context_override):
|
||||
eventtracker.emit(name=name, data=data)
|
||||
|
||||
# TODO: VAN-1052: This event is added to track the KPIs for A/B experiment.
|
||||
# Remove it after the experiment has been paused.
|
||||
if name == 'edx.course.home.resume_course.clicked' and request.user:
|
||||
optimizely_client = OptimizelyClient.get_optimizely_client()
|
||||
if optimizely_client:
|
||||
optimizely_client.track('user_start_course_click', str(request.user.id))
|
||||
|
||||
return HttpResponse('success')
|
||||
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ from lms.djangoapps.courseware.date_summary import TodaysDate
|
||||
from lms.djangoapps.courseware.masquerade import is_masquerading, setup_masquerade
|
||||
from lms.djangoapps.courseware.views.views import get_cert_data
|
||||
from lms.djangoapps.grades.course_grade_factory import CourseGradeFactory
|
||||
from lms.djangoapps.utils import OptimizelyClient
|
||||
from openedx.core.djangoapps.content.learning_sequences.api import get_user_course_outline
|
||||
from openedx.core.djangoapps.content.course_overviews.api import get_course_overview_or_404
|
||||
from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
|
||||
@@ -390,6 +391,11 @@ def save_course_goal(request): # pylint: disable=missing-function-docstring
|
||||
|
||||
try:
|
||||
add_course_goal(request.user, course_id, subscribed_to_reminders, days_per_week)
|
||||
# TODO: VAN-1052: This event is added to track the KPIs for A/B experiment.
|
||||
# Remove it after the experiment has been paused.
|
||||
optimizely_client = OptimizelyClient.get_optimizely_client()
|
||||
if optimizely_client and request.user:
|
||||
optimizely_client.track('user_goal_setting_click', str(request.user.id))
|
||||
return Response({
|
||||
'header': _('Your course goal has been successfully set.'),
|
||||
'message': _('Course goal updated successfully.'),
|
||||
|
||||
Reference in New Issue
Block a user