View Source Mixpanel
Elixir client for the Mixpanel API.
Installation
The package can be installed as:
- Add
mixpanel_api_exto your list of dependencies inmix.exs:
def deps do
[{:mixpanel_api_ex, "~> 1.1.1"}]
end- Ensure
mixpanel_api_exis started before your application:
def application do
[applications: [:mixpanel_api_ex, :your_app]]
endEnsure your Project Token was placed in config file:
config :mixpanel_api_ex, :config, project_token: "<Put Project Token here>", active: trueDisable sending requests to API for tests:
config :mixpanel_api_ex, :config, project_token: "<Put Project Token here>", active: false
EU Data Residency
config :mixpanel_api_ex, :config,
base_url: "https://api-eu.mixpanel.com"Supported HTTP clients
At the moment httpc and hackney are supported. httpc is default option. To switch to hackney specify following in the config:
config :mixpanel_api_ex, :http_adapter, Mixpanel.HTTP.HackneyUsage
- Track events with
Mixpanel.track/3function:
iex> Mixpanel.track("Signed up", %{"Referred By" => "friend"}, distinct_id: "13793")
:ok
iex> Mixpanel.track("Level Complete", %{"Level Number" => 9}, distinct_id: "13793", time: 1358208000, ip: "203.0.113.9")
:ok- Track profile updates with
Mixpanel.engage/4function:
iex> Mixpanel.engage("13793", "$set", %{"Address" => "1313 Mockingbird Lane"}, ip: "123.123.123.123")
:ok
iex> Mixpanel.engage("13793", "$set", %{"Birthday" => "1948-01-01"}, ip: "123.123.123.123")
:okMixpanel.engage/2works with batches:
iex> Mixpanel.engage([{"13793", "$set", %{"Address" => "1313 Mockingbird Lane"}}, {"13793", "$set", %{"Birthday" => "1948-01-01"}}], ip: "123.123.123.123")
:okMixpanel.create_alias/2create an alias for a district ID, merging two profiles:
iex> Mixpanel.create_alias("13793", "13794")
:ok