Created
December 14, 2009 16:09
-
-
Save arikfr/256155 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import base64 | |
from django.utils import simplejson | |
import urllib | |
from google.appengine.api import urlfetch | |
def track(event, properties=None): | |
""" | |
A simple function for asynchronously logging to the mixpanel.com API on App Engine | |
(Python) using RPC URL Fetch object. | |
@param event: The overall event/category you would like to log this data under | |
@param properties: A dictionary of key-value pairs that describe the event | |
See http://mixpanel.com/api/ for further detail. | |
@return Instance of RPC Object | |
""" | |
if properties == None: | |
properties = {} | |
token = "YOUR_TOKEN" | |
if "token" not in properties: | |
properties["token"] = token | |
params = {"event": event, "properties": properties} | |
data = base64.b64encode(simplejson.dumps(params)) | |
request = "http://api.mixpanel.com/track/?data=" + data | |
rpc = urlfetch.create_rpc() | |
urlfetch.make_fetch_call(rpc, request) | |
return rpc | |
def track_funnel(funnel, step, goal, properties=None): | |
if properties == None: | |
properties = {} | |
properties["funnel"] = funnel | |
properties["step"] = step | |
properties["goal"] = goal | |
track("mp_funnel", properties) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment