2013-09-27 24 views
7

私は、あまりにも多くの人を持つためにmixpanelの次のプランに入る予定で、古いユーザーを最初に削除したいと考えています。Mixpanel - 古いユーザーのバルク削除

古いユーザーを一括削​​除する簡単な方法/ script/apiはありますか?

答えて

7

はいあります。 HTTP specを見ると次のようになります。

$永久 そのすべてのプロパティとともに、Mixpanelからプロファイルを削除

文字列を削除します。値は無視されます。プロファイルは、要求自体からの$ distinct_id によって決定されます。

// This removes the user 13793 from Mixpanel 
{ 
    "$token": "36ada5b10da39a1347559321baf13063", 
    "$distinct_id": "13793", 
    "$delete": "" 
} 

バッチリクエストが

両方のイベントはhttp://api.mixpanel.com/track/で、エンドポイントとhttp://api.mixpanel.com/engage/のプロファイル更新エンドポイントは、バッチ更新を受け入れます。メッセージのバッチをエンドポイントに送信するには、GET要求の代わりにPOSTを使用する必要があります。データクエリパラメータとして単一のJSONオブジェクトを送信する代わりに、application/x-www-form-urlencoded POSTリクエストボディのdataパラメータとしてbase64でエンコードされたオブジェクトのJSONリストを送信します。

// Here's a list of events 
[ 
    { 
     "event": "Signed Up", 
     "properties": { 
      "distinct_id": "13793", 
      "token": "e3bc4100330c35722740fb8c6f5abddc", 
      "Referred By": "Friend", 
      "time": 1371002000 
     } 
    }, 
    { 
     "event": "Uploaded Photo", 
      "properties": { 
       "distinct_id": "13793", 
       "token": "e3bc4100330c35722740fb8c6f5abddc", 
       "Topic": "Vacation", 
       "time": 1371002104 
      } 
    } 
] 

Base64では、リストとなり、エンコード:

Ww0KICAgIHsNCiAgICAgICAgImV2ZW50IjogIlNpZ25lZCBVcCIsDQogICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgImRpc3RpbmN0X2lkIjogIjEzNzkzIiwNCiAgICAgICAgICAgICJ0b2tlbiI6ICJlM2JjNDEwMDMzMGMzNTcyMjc0MGZiOGM2ZjVhYmRkYyIsDQogICAgICAgICAgICAiUmVmZXJyZWQgQnkiOiAiRnJpZW5kIiwNCiAgICAgICAgICAgICJ0aW1lIjogMTM3MTAwMjAwMA0KICAgICAgICB9DQogICAgfSwNCiAgICB7DQogICAgICAgICAiZXZlbnQiOiAiVXBsb2FkZWQgUGhvdG8iLA0KICAgICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgICAiZGlzdGluY3RfaWQiOiAiMTM3OTMiLA0KICAgICAgICAgICAgICAidG9rZW4iOiAiZTNiYzQxMDAzMzBjMzU3MjI3NDBmYjhjNmY1YWJkZGMiLA0KICAgICAgICAgICAgICAiVG9waWMiOiAiVmFjYXRpb24iLA0KICAgICAgICAgICAgICAidGltZSI6IDEzNzEwMDIxMDQNCiAgICAgICAgICB9DQogICAgfQ0KXQ== 

だから、バッチとしてイベントを送信するにはPOSTリクエストのボディは次のとおりです。

data=Ww0KICAgIHsNCiAgICAgICAgImV2ZW50IjogIlNpZ25lZCBVcCIsDQogICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgImRpc3RpbmN0X2lkIjogIjEzNzkzIiwNCiAgICAgICAgICAgICJ0b2tlbiI6ICJlM2JjNDEwMDMzMGMzNTcyMjc0MGZiOGM2ZjVhYmRkYyIsDQogICAgICAgICAgICAiUmVmZXJyZWQgQnkiOiAiRnJpZW5kIiwNCiAgICAgICAgICAgICJ0aW1lIjogMTM3MTAwMjAwMA0KICAgICAgICB9DQogICAgfSwNCiAgICB7DQogICAgICAgICAiZXZlbnQiOiAiVXBsb2FkZWQgUGhvdG8iLA0KICAgICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgICAiZGlzdGluY3RfaWQiOiAiMTM3OTMiLA0KICAgICAgICAgICAgICAidG9rZW4iOiAiZTNiYzQxMDAzMzBjMzU3MjI3NDBmYjhjNmY1YWJkZGMiLA0KICAgICAgICAgICAgICAiVG9waWMiOiAiVmFjYXRpb24iLA0KICAgICAgICAgICAgICAidGltZSI6IDEzNzEwMDIxMDQNCiAgICAgICAgICB9DQogICAgfQ0KXQ== 

両方のエンドポイントは、最大受け入れます1つのバッチで50メッセージ。通常、バッチ要求には、イベントに関連する「時間」プロパティ、またはプロファイルの更新に関連付けられた「$時間」属性があります。

7

私は便利なスクリプトを2つ書いています。 mixpanel-engage-queryおよびmixpanel-engage-post

最初のスクリプト(クエリ)を使用して、あなたの人物データを照会し、プロファイルのリストを取得することができます。 $ last_seenがX月より古い日付に設定されているすべてのユーザー。

2番目のスクリプト(投稿)を使用すると、それらのプロファイルでアクションをバッチで実行できます(たとえば、削除するなど)。 an example of how to perform a batch deleteのREADMEを参照してください。