Skip to content

Commit 5549bdf

Browse files
committed
Track member id and username in project user events
Added member id and member user name to properties of requesting/approving project membership. This change enables us to compute conversion rate between invited users and users that actually join project. Added properties logging to in memory analytics api
1 parent 44e53c1 commit 5549bdf

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

lib/code_corps/analytics/in_memory_api.ex

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@ defmodule CodeCorps.Analytics.InMemoryAPI do
99

1010
def identify(user_id, _traits), do: log_identify(user_id)
1111

12-
def track(user_id, event_name, _properties), do: log_track(user_id, event_name)
12+
def track(user_id, event_name, properties), do: log_track(user_id, event_name, properties)
1313

1414
defp log_identify(user_id) do
1515
Logger.info "Called identify for User #{user_id}"
1616
end
1717

18-
defp log_track(user_id, event_name) do
19-
Logger.info "Called track for event #{event_name} for User #{user_id}"
18+
defp log_track(user_id, event_name, properties) do
19+
props = Poison.encode!(properties)
20+
Logger.info "Called track for event #{event_name} for User #{user_id} and properties #{props}"
2021
end
2122
end

lib/code_corps/analytics/segment_traits_builder.ex

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,12 @@ defmodule CodeCorps.Analytics.SegmentTraitsBuilder do
7878
}
7979
end
8080
defp traits(%CodeCorps.ProjectUser{} = record) do
81-
record = record |> Repo.preload(:project)
81+
record = record |> Repo.preload([:project, :user])
8282
%{
8383
project: record.project.title,
84-
project_id: record.project_id
84+
project_id: record.project_id,
85+
member: record.user.username,
86+
member_id: record.user.id
8587
}
8688
end
8789
defp traits(%CodeCorps.StripeConnectAccount{} = account) do

test/lib/code_corps_web/controllers/project_user_controller_test.exs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ defmodule CodeCorpsWeb.ProjectUserControllerTest do
5454

5555
tracking_properties = %{
5656
project: project.title,
57-
project_id: project.id
57+
project_id: project.id,
58+
member: user.username,
59+
member_id: user.id
5860
}
5961

6062
assert_received {:track, ^user_id, "Requested Project Membership", ^tracking_properties}
@@ -106,7 +108,9 @@ defmodule CodeCorpsWeb.ProjectUserControllerTest do
106108

107109
tracking_properties = %{
108110
project: project.title,
109-
project_id: project.id
111+
project_id: project.id,
112+
member: record.user.username,
113+
member_id: record.user.id
110114
}
111115

112116
assert_received {:track, ^user_id, "Approved Project Membership", ^tracking_properties}

0 commit comments

Comments
 (0)