This is a basic, asynchronous implementation on Mixpanel ingestion API (https://developer.mixpanel.com/reference/ingestion-api), allowing you to track events and set profile properties from an Elixir app.
See on hexdocs
def deps do
[
{:mixpanel_client_ex, "~> 1.0.0"}
]
end
# Tracking, no properties
MixpanelClientEx.track("User logged in", "user-42")
# Tracking, custom properties
MixpanelClientEx.track("User logged in", "user-42", %{"source" => "mobile_app"})
# Engage a profile
MixpanelClientEx.engage("user-42", %{"$email" => "john@doe.com"})
# Tracking, override time or $insert_id
MixpanelClientEx.track("User logged in", "user-42", %{"source" => "mobile_app", "time" => 1640991600})