kapa.ai ๋ฏน์คํจ๋ ์ ์ ํ๋กํผํฐ ์ํฌํธ ํ๋ ๋ฐฉ๋ฒ ์๋ ค์ค
Please stand by DONGHYO L. as I search the knowledge base. I normally take about 15 seconds or so. ๐
Feel free to ask a follow-up question once I've answered by mentioning me with @kapa.ai
๋ฏน์คํจ๋(Mixpanel)์์ ์ ์ ํ๋กํผํฐ(์ฌ์ฉ์ ํ๋กํ)๋ฅผ ์ํฌํธํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ์๋์ ๋ํ์ ์ธ ๋ฐฉ๋ฒ๋ค์ ์ ๋ฆฌํด ๋๋ฆฝ๋๋ค.---
1. CSV ํ์ผ๋ก ๋๋ ์ํฌํธ (UI ์ฌ์ฉ)
1. CSV ํ์ผ ์ค๋น
- ์ฒซ ๋ฒ์งธ ์ด์ $distinct_id
(์ ์ ๊ณ ์ ์๋ณ์)๋ฅผ ํฌํจํ์ธ์.
- ์ถ๊ฐ๋ก ์ํฌํธํ ํ๋กํผํฐ(์: $name
, $email
, department
๋ฑ)๋ฅผ ์ด๋ก ์ถ๊ฐํ์ธ์.
- CSV์๋ ์ปฌ๋ผ ํค๋๋ฅผ ํฌํจํ์ง ๋ง์ธ์. ํค๋๋ ์
๋ก๋ ๊ณผ์ ์์ UI์์ ์ง์ ์ง์ ํฉ๋๋ค.2. Mixpanel UI์์ ์ํฌํธ
- Users ํ์ด์ง๋ก ์ด๋ ํ Add/Edit Profile ํด๋ฆญ
- Import from CSV ํญ ์ ํ
- CSV ํ์ผ ์
๋ก๋
- ๊ฐ ์ด์ด ์ด๋ค ํ๋กํผํฐ์ ๋งคํ๋ ์ง ์ง์
- ์ํฌํธํ ์ด๋ง ์ ํํ๊ณ , ํ์ ์๋ ์ด์ ์ฒดํฌ ํด์
- Import profiles ๋ฒํผ ํด๋ฆญ> โ ๏ธ ์ด๋ฏธ ์กด์ฌํ๋ $distinct_id
๊ฐ ์์ผ๋ฉด ํด๋น ํ๋กํ์ด ์
๋ฐ์ดํธ๋๊ณ , ์๋ก์ด ๊ฐ์ด๋ฉด ์ ํ๋กํ์ด ์์ฑ๋ฉ๋๋ค.
CSV ์ต๋ ํฌ๊ธฐ๋ 1๋ฐฑ๋ง(1M) ํ์
๋๋ค.
๋์ผํ ์ด๋ฉ์ผ์ด๋ ์ด๋ฆ์ด๋๋ผ๋ $distinct_id
๊ฐ ๋ค๋ฅด๋ฉด ๋ณ๋์ ํ๋กํ๋ก ๋ฑ๋ก๋ฉ๋๋ค.
2. API๋ฅผ ํตํ ์ํฌํธ (Engage API)
ํ์ด์ฌ ๋ฑ ์๋ฒ์์ ์ง์ Mixpanel HTTP API๋ฅผ ํธ์ถํด ๋๋์ผ๋ก ์ ์ ํ๋กํผํฐ๋ฅผ ์ํฌํธํ ์ ์์ต๋๋ค.LBKSimport json import requestsLBKSPROJECT_TOKEN = "์ฌ๊ธฐ์_ํ๋ก์ ํธ_ํ ํฐ_์
๋ ฅ"LBKSdef get_users_from_database(): return [ {"user_id": "123", "$name": "Alice", "$email": "alice@โ[linear.app](http://linear.app)", "department": "engineering"}, {"user_id": "456", "$name": "Bob", "department": "product"}, ]LBKSdef transform_to_mp_format(user): distinct_id = user.pop("user_id") return {"$distinct_id": distinct_id, "$token": PROJECT_TOKEN, "$ip": "0", "$set": user}LBKSusers = get_users_from_database() profiles = [transform_to_mp_format(u) for u in users]LBKSresp = [requests.post](http://requests.post)( "[https://api.mixpanel.com/engage](https://api.mixpanel.com/engage)", params={"verbose": "2"}, headers={"Content-Type": "application/json"}, data=json.dumps(profiles) )LBKSprint(resp.json())LBKS
- ํ ๋ฒ์ 200๊ฐ ํ๋กํ์ฉ ๋ฐฐ์น๋ก ๋ณด๋ด๋ ๊ฒ์ด ๊ถ์ฅ๋ฉ๋๋ค.
- $set
์ธ์๋ $set_once
, $add
, $union
๋ฑ ๋ค์ํ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
API ์์ ๋ฐ ์ฐ์ฐ์ ์ค๋ช
API ์ํ ์ฝ๋---
3. ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์ปค๋ฅํฐ ์ฌ์ฉ
BigQuery, Snowflake ๋ฑ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ Mixpanel์ ์ฐ๊ฒฐํด ์๋์ผ๋ก ์ ์ ํ๋กํ์ ์ํฌํธํ ์ ์์ต๋๋ค. - ํ๋ก์ ํธ ์ค์ ์์ Warehouse Source๋ฅผ ์ฐ๊ฒฐํ๊ณ , User Table์ ์ ํํด ๋งคํํ๋ฉด ๋ฉ๋๋ค. - ์ด ๋ฐฉ๋ฒ์ ๋ณ๋์ ๋ผ์ด์ ์ค๊ฐ ํ์ํ ์ ์์ต๋๋ค. ์์ธํ ๋ณด๊ธฐ---ํ์์ ๋ฐ๋ผ ์ ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์ ํํด ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค. ์ถ๊ฐ๋ก ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด ๋ง์ํด ์ฃผ์ธ์!
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Note: we set `$ip` to 0 here to tell Mixpanel not to look up the IP of this user. ์ด ๋ถ๋ถ์ด ์ด๋ค ์๋ฏธ์ผ?
kapa.ai Note: we set `$ip` to 0 here to tell Mixpanel not to look up the IP of this user. ์ด ๋ถ๋ถ์ด ์ด๋ค ์๋ฏธ์ผ?
Let me check the knowledge base for you again. One moment! ๐
Mixpanel์์ $ip
๋ฅผ 0
์ผ๋ก ์ค์ ํ๋ฉด, ํด๋น ์ ์ ํ๋กํ์ ์ํฌํธํ ๋ Mixpanel์ด IP ์ฃผ์๋ฅผ ์ฌ์ฉํด ์์น(์ง๋ฆฌ ์ ๋ณด)๋ฅผ ์๋์ผ๋ก ์ถ์ ํ์ง ์๋๋ก ํ๋ค๋ ์๋ฏธ์
๋๋ค.์ฆ, ์๋ฒ์์ API๋ก ์ ์ ํ๋กํ์ ๋ณด๋ผ ๋ $ip
๋ฅผ 0
์ผ๋ก ์ง์ ํ๋ฉด, Mixpanel์ ๊ทธ ์์ฒญ์ IP(์: ์๋ฒ์ IP ์ฃผ์)๋ฅผ ์ฌ์ฉํด $city
, $region
, mp_country_code
์ ๊ฐ์ ์์น ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์ฑ์ฐ์ง ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ ์ ์ ์ ์์น๊ฐ ์๋ฒ(๋ฐ์ดํฐ์ผํฐ) ์์น๋ก ์๋ชป ์ ์ฅ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.์๋ ์์์ฒ๋ผ $ip
๋ฅผ 0
์ผ๋ก ์ง์ ํฉ๋๋ค: LBKS{ "$token": "mytoken", "$distinct_id": "13793", "$ip": "0", "$set": { "My_property": "my_value" } }LBKS
์ด๋ ๊ฒ ํ๋ฉด Mixpanel์ IP ๊ธฐ๋ฐ ์์น ์ ๋ณด๋ฅผ ์ ์ฅํ์ง ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ๊ณต์ ๋ฌธ์์์ ํ์ธํ ์ ์์ต๋๋ค.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
{'error': None, 'errors': {}, 'num_good_events': 200, 'status': 1}
ํด๋น ๋ฆฌ์คํฐ์ค๋ ๋ญ ์๋ฏธํ๋๊ฑฐ์ผ
Let me check the knowledge base for you again. One moment! ๐
์ฃ์กํ์ง๋ง, ์ ๊ณต๋ ์ง์ ์์ค์์๋ ``` {'error': None, 'errors': {}, 'num_good_events': 200, 'status': 1}
์ ๊ฐ์ ๋ฆฌ์คํฐ์ค ํฌ๋งท์ด๋ ๊ฐ ํ๋์ ์๋ฏธ์ ๋ํ ๋ช
ํํ ์ค๋ช
์ ์ฐพ์ ์ ์์ต๋๋ค.LBKSMixpanel ๊ณต์ ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด, ์ด๋ฒคํธ ์ํฌํธ API ๋ฑ์์๋ ์ผ๋ฐ์ ์ผ๋ก `num_records_imported`, `status`, `error` ๋ฑ์ ํ๋๋ฅผ ํฌํจํ ์๋ต์ ๋ฐํํ์ง๋ง, ์์ ๊ฐ์ด `num_good_events`์ `status: 1` ํํ์ ๋ฆฌ์คํฐ์ค์ ๋ํ ๊ตฌ์ฒด์ ์ธ ์ธ๊ธ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ํด๋น ๋ฆฌ์คํฐ์ค์ ์ ํํ ์๋ฏธ๋ฅผ ์๋ด๋๋ฆฌ๊ธฐ ์ด๋ ต์ต๋๋ค.LBKS์ถ๊ฐ์ ์ธ ์ ๋ณด๊ฐ ํ์ํ๋ค๋ฉด Mixpanel ๊ณต์ ๋ฌธ์๋ ์ง์ํ์ ๋ฌธ์ํ์๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค.
[์ด๋ฒคํธ ์ํฌํธ ์๋ต ์์ ์ฐธ๊ณ ](https://github.com/mixpanel/docs/blob/main/reference/Ingestion%20API/events/import-events.md)
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai ์ฐํ๋ฆฌํ๋ ์ ์ ํ๋กํผํฐ๋ฅผ ์ด๊ดํ๋ ค๊ณ ํด ์ด๋ป๊ฒ ํด์ผํด?
Let me check the knowledge base for you again. One moment! ๐
์ฐํ๋ฆฌํ๋(Amplitude)์์ ๋ฏน์คํจ๋(Mixpanel)๋ก ์ ์ ํ๋กํผํฐ(์ฌ์ฉ์ ํ๋กํ)๋ฅผ ์ด๊ดํ๋ ค๋ฉด ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.---
1. ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์ปค๋ฅํฐ ์ฌ์ฉ
๊ฐ์ฅ ๊ถ์ฅ๋๋ ๋ฐฉ๋ฒ์ Amplitude ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค(BigQuery, Snowflake ๋ฑ)์ ์ ์ฅํ ๋ค, Mixpanel์ Warehouse Connector๋ฅผ ํตํด ์ ์ ํ๋กํผํฐ๋ฅผ ์ด๊ดํ๋ ๊ฒ์
๋๋ค.์ ์ฐจ ์์ฝ:
1. Amplitude์ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ์ ์ฌํฉ๋๋ค.
2. ์๋์ ๊ฐ์ด SQL๋ก JSON ์ปฌ๋ผ์ ํํํ(flatten)ํ์ฌ ํ์ํ ์ปฌ๋ผ๋ง ์ถ์ถํฉ๋๋ค.LBKSSELECT event_time, user_id, -- user properties JSON_EXTRACT_SCALAR(user_properties, "$['$email']") AS email, JSON_EXTRACT_SCALAR(user_properties, "$['$name']") AS name, JSON_EXTRACT_SCALAR(user_properties, "$['last_genre']") AS last_genre, JSON_EXTRACT_SCALAR(user_properties, "$['lifetime_purchase']") AS lifetime_purchase FROM `project.dataset.tablename` t1 INNER JOIN ( SELECT user_id, MAX(event_time) as max_event_time FROM `project.dataset.tablename` WHERE user_id IS NOT NULL GROUP BY user_id ) t2 ON t1.user_id = t2.user_id AND t1.event_time = t2.max_event_timeLBKS
3. Mixpanel ํ๋ก์ ํธ์์ Warehouse Connector๋ฅผ ์ค์ ํ๊ณ , ์์์ ๋ง๋ ํ
์ด๋ธ/๋ทฐ๋ฅผ ์ฐ๊ฒฐํ์ฌ ๊ฐ ํ๋๋ฅผ ๋งคํํฉ๋๋ค.
์์ธํ ์ ์ฐจ๋ ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.---
2. Mixpanel Migration Service ์ฌ์ฉ (15M ์ด๋ฒคํธ ์ดํ)
Mixpanel์์ ์ ๊ณตํ๋ ๋ฌด๋ฃ Migration Service๋ฅผ ์ด์ฉํด Amplitude์ ์ด๋ฒคํธ์ ์ ์ ํ๋กํผํฐ๋ฅผ ์๋์ผ๋ก ์ด๊ดํ ์ ์์ต๋๋ค.
์๋์ ๊ฐ์ด API๋ฅผ ํธ์ถํ๋ฉด ๋ฉ๋๋ค.LBKScurl --request POST \ --url [https://migrate.api.mixpanel.com/amplitude](https://migrate.api.mixpanel.com/amplitude) \ --header "Content-Type: application/json" \ --data '{ "AMPLITUDE_API_KEY": "YOUR_AMP_KEY", "AMPLITUDE_API_SECRET": "YOUR_AMP_SECRET", "MIXPANEL_TOKEN": "YOUR_MP_TOKEN", "START_DATE": "YYYY-MM-DD", "END_DATE": "YYYY-MM-DD" }'LBKS
์ด ์๋น์ค๋ Amplitude์์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํด Mixpanel์ ๋ง๊ฒ ๋ณํ ํ, ์ด๋ฒคํธ์ ์ ์ ํ๋กํ์ ์๋์ผ๋ก ์ด๊ดํฉ๋๋ค.
์์ธํ ์๋ด๋ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์ธ์.---
3. mixpanel-utils ์คํฌ๋ฆฝํธ ์ฌ์ฉ
mixpanel-utils
๋ผ์ด๋ธ๋ฌ๋ฆฌ์ import_from_amplitude
ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด Amplitude ํ๋ก์ ํธ์ ๋ฐ์ดํฐ๋ฅผ Mixpanel๋ก ์ง์ ์ด๊ดํ ์ ์์ต๋๋ค.LBKSmputils.import_from_amplitude("Amplitude Key", "Amplitude Secret", "20210901T00", "20210930T23")LBKS
- ๋ ์ง๋ YYYYMMDDTHH
ํ์์ผ๋ก ์ง์ ํฉ๋๋ค.
- ์ด ๋ฐฉ๋ฒ์ Mixpanel์ Original ID Merge ๋ฐฉ์์์๋ง ์ง์๋ฉ๋๋ค
์์ธํ ๋ณด๊ธฐ---์ด ์ธ์๋, CDP(Segment ๋ฑ)๋ Reverse ETL ๋๊ตฌ(Census, Hightouch ๋ฑ)๋ฅผ ํตํด์๋ ์ด๊ด์ด ๊ฐ๋ฅํฉ๋๋ค.
๊ฐ ๋ฐฉ๋ฒ์ ์ธ๋ถ ์ค์ ์ ์ฌ์ฉ ์ค์ธ ์ธํ๋ผ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ผ๋, ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์.Amplitude์์ Mixpanel๋ก ๋ง์ด๊ทธ๋ ์ด์
๊ณต์ ๊ฐ์ด๋
Warehouse Connector๋ก ์ ์ ํ๋กํผํฐ ์ด๊ด
Migration Service ์๋ด
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai engage API๋ฅผ ์ด์ฉํด์ ์ ์ ํ๋กํ์ ์ ๋ฐ์ดํธ ํ์ด. ํ์ง๋ง UI์์ ๋ณด์ฌ์ง์ง ์์
Let me check the knowledge base for you again. One moment! ๐
Engage API๋ฅผ ์ด์ฉํด ์ ์ ํ๋กํ์ ์ ๋ฐ์ดํธํ์ง๋ง Mixpanel UI์์ ๋ณด์ด์ง ์๋ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ ์์ธ๊ณผ ์ ๊ฒ ์ฌํญ์ด ์์ต๋๋ค.1. distinct_id ์ผ์น ์ฌ๋ถ ํ์ธ Mixpanel์ ์ด๋ฒคํธ์ ์ ์ ํ๋กํ์ distinct_id๋ก ์ฐ๊ฒฐํฉ๋๋ค. ์ด๋ฒคํธ์ ํ๋กํ ๋ชจ๋ ๋์ผํ distinct_id๋ฅผ ์ฌ์ฉํด์ผ UI์์ ์ ์์ ์ผ๋ก ์กฐํํ ์ ์์ต๋๋ค. distinct_id๊ฐ ๋ค๋ฅด๋ฉด UI์์ ํด๋น ํ๋กํ์ด ๋ณด์ด์ง ์์ ์ ์์ต๋๋ค. ์์ธํ ๋ณด๊ธฐ2. ํ๋กํ ์์ฑ/์ ๋ฐ์ดํธ๊ฐ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์๋์ง ํ์ธ Engage API ํธ์ถ ์ ์๋ต์ด ์ฑ๊ณต(์: status: 1)์ผ๋ก ๋์๋ค๋ฉด, ์ค์ ๋ก ํ๋กํ์ด ์์ฑ๋์๋์ง API๋ก ๋ค์ ์กฐํํด๋ณด์ธ์. ํ๋กํ ์กฐํ ๋ฐฉ๋ฒ3. UI ํํฐ/๊ฒ์ ์กฐ๊ฑด ํ์ธ Users ํญ์์ ํํฐ๋ ๊ฒ์ ์กฐ๊ฑด์ด ์๋ชป ์ค์ ๋์ด ์์ผ๋ฉด ํ๋กํ์ด ๋ณด์ด์ง ์์ ์ ์์ต๋๋ค. ๋ชจ๋ ํํฐ๋ฅผ ํด์ ํ๊ณ ๋ค์ ํ์ธํด๋ณด์ธ์.4. ํ๋กํ ์์ฑ ์ปฌ๋ผ ๋ ธ์ถ ์ฌ๋ถ UI์์ ๋ณด์ด๋ ์ปฌ๋ผ(ํ๋กํผํฐ)์ โEdit Columnsโ์์ ์ ํํ ํญ๋ชฉ๋ง ๋ ธ์ถ๋ฉ๋๋ค. ํ์ํ ์ปฌ๋ผ์ด ์ ํ๋์ด ์๋์ง ํ์ธํ์ธ์. CSV ๋ด๋ณด๋ด๊ธฐ ๋ฐ ์ปฌ๋ผ ์ค์ 5. ๋ฐ์๊น์ง ์ฝ๊ฐ์ ์ง์ฐ API๋ก ๋๋ ์ ๋ฐ์ดํธ ์ UI์ ๋ฐ์๋๊ธฐ๊น์ง ์ฝ๊ฐ์ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.6. $distinct_id ๊ฐ์ด ์๋ชป ์ง์ ๋ ๊ฒฝ์ฐ CSV๋ API๋ก ์ํฌํธํ ๋ $distinct_id๊ฐ ์๋ชป ์ง์ ๋๋ฉด ๋น ํ๋กํ์ด ์์ฑ๋๊ฑฐ๋, UI์์ ์ฐพ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค. FAQ ์ฐธ๊ณ ์ ์ฌํญ์ ์ ๊ฒํด๋ ๋ฌธ์ ๊ฐ ๊ณ์๋๋ค๋ฉด, Engage API๋ก ํด๋น distinct_id์ ํ๋กํ์ ์กฐํํด ์ค์ ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋์ง ํ์ธํด๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค. Engage API ํ๋กํ ์กฐํ ์์๋ง์ฝ ์ฌ์ ํ ํด๊ฒฐ๋์ง ์๋๋ค๋ฉด, Mixpanel ์ง์ํ์ ๋ฌธ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
[{'$distinct_id': '28315',
'$token': '6dffd554efe09b7c9b92fd7ffc87ee9f',
'$ip': '0',
'$set': {'user_id': '28315',
'business_number': '8293001125',
'created_date': '2024-11-22',
'first_apply_date': '2024-12-04',
'first_payment_date': '2024-12-05',
'first_view_date': '2024-11-22',
'last_payment_date': '2025-06-25',
'raw_insert_id': '14e34b92-02d1-4540-8d11-08f83a8d660e',
'$initial_referrer': 'EMPTY',
'$initial_referring_domain': 'EMPTY'}}]
ํด๋น ๋ฐ์ดํฐ๋ฅผ Engage API๋ฅผ ํ์ฉํด ์ ๋ฐ์ดํธํ๋ ค๊ณ ํ์ด.
Let me check the knowledge base for you again. One moment! ๐
์ ๊ณตํ์ ๋ฐ์ดํฐ๋ฅผ Engage API๋ฅผ ํตํด ์
๋ฐ์ดํธํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์๋์ ๊ฐ์ด ์์ฒญ์ ๋ณด๋ด๋ฉด ํด๋น ์ ์ ํ๋กํ์ด ์
๋ฐ์ดํธ๋ฉ๋๋ค.LBKSimport requests import jsonLBKSdata = [{ '$distinct_id': '28315', '$token': '6dffd554efe09b7c9b92fd7ffc87ee9f', '$ip': '0', '$set': { 'user_id': '28315', 'business_number': '8293001125', 'created_date': '2024-11-22', 'first_apply_date': '2024-12-04', 'first_payment_date': '2024-12-05', 'first_view_date': '2024-11-22', 'last_payment_date': '2025-06-25', 'raw_insert_id': '14e34b92-02d1-4540-8d11-08f83a8d660e', '$initial_referrer': 'EMPTY', '$initial_referring_domain': 'EMPTY' } }]LBKSresp = [requests.post](http://requests.post)( "[https://api.mixpanel.com/engage](https://api.mixpanel.com/engage)", headers={"Content-Type": "application/json"}, data=json.dumps(data) )LBKSprint(resp.json())LBKS
**์ค์ ํ์ธ ์ฌํญ:- $distinct_id๋ ํด๋น ์ ์ ์ ๊ณ ์ ์๋ณ์๋ก, ์ด๋ฒคํธ ํธ๋ํน ์ ์ฌ์ฉํ ๊ฐ๊ณผ ๋์ผํด์ผ ํฉ๋๋ค.
- $token์ Mixpanel ํ๋ก์ ํธ ํ ํฐ์
๋๋ค.
- $ip๋ฅผ "0"์ผ๋ก ์ค์ ํ๋ฉด ์๋ฒ์ IP๋ก ์์น ์ ๋ณด๊ฐ ์๋ชป ์ ์ฅ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค [๊ณต์ ๋ฌธ์].
- $set ์์ ์ํ๋ ํ๋กํ ์์ฑ์ ์์ ๋กญ๊ฒ ์ถ๊ฐํ ์ ์์ต๋๋ค.๋ง์ฝ UI์์ ํ๋กํ์ด ๋ณด์ด์ง ์๋๋ค๋ฉด:**- $distinct_id
๊ฐ ์ด๋ฒคํธ ํธ๋ํน์ ์ฌ์ฉํ ๊ฐ๊ณผ ์ผ์นํ๋์ง ํ์ธํ์ธ์.
- ํ๋กํ์ด ์ ์์ ์ผ๋ก ์์ฑ๋์๋์ง, Users ํ์ด์ง์์ ํด๋น distinct_id๋ก ๊ฒ์ํด๋ณด์ธ์.
- ๋๋ ์
๋ฐ์ดํธ ์ UI ๋ฐ์๊น์ง ์ฝ๊ฐ์ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
- ํํฐ๋ ์ปฌ๋ผ ์ค์ ์ด ์๋ชป๋์ด ์์ง ์์์ง ํ์ธํ์ธ์ [์ฐธ๊ณ ].์ด ๋ฐฉ์์ ๊ณต์ ๋ฌธ์์ ์์์ ์ผ์นํฉ๋๋ค [API ์์].์ถ๊ฐ๋ก ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด ๋ง์ํด ์ฃผ์ธ์!
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai user ํ๋กํ ์ญ์ ๋ฐฉ๋ฒ
Let me check the knowledge base for you again. One moment! ๐
Mixpanel์์ User ํ๋กํ(์ ์ ํ๋กํ)์ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. Mixpanel UI์์ ์ญ์
- Users ํ์ด์ง์์ ์ง์ ํ๋กํ์ ์ ํํ์ฌ ์ญ์ ํ ์ ์์ต๋๋ค.
2. Engage API๋ฅผ ํตํ ํ๋ก๊ทธ๋๋งคํฑ ์ญ์
Engage API์ delete-profile
์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ $distinct_id
์ ํ๋กํ์ ์๊ตฌ์ ์ผ๋ก ์ญ์ ํ ์ ์์ต๋๋ค.
์์ฒญ ์์๋ ์๋์ ๊ฐ์ต๋๋ค: LBKS[ { "$token": "YOUR_PROJECT_TOKEN", "$distinct_id": "USER_DISTINCT_ID", "$delete": "" } ]LBKS
์ด ๋ฐ์ดํฐ๋ฅผ POST [https://api.mixpanel.com/engage#profile-delete
๋ก](https://api.mixpanel.com/engage#profile-delete๋ก) ์ ์กํ๋ฉด ํด๋น ํ๋กํ์ด ์ญ์ ๋ฉ๋๋ค. ์ถ๊ฐ๋ก, ์ค๋ณต ํ๋กํ์ด ์์ ๊ฒฝ์ฐ
$ignore_alias` ์ต์
์ ์ฌ์ฉํ ์ ์์ต๋๋ค.> Permanently delete the profile from Mixpanel, along with all of its properties. The $delete object value is ignored - the profile is determined by the $distinct_id from the request itself.
๊ณต์ ๋ฌธ์ ์ฐธ๊ณ
API ์์ธ ์ค๋ช
3. mixpanel-utils ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ
mixpanel-utils
์ people_delete
ํจ์๋ฅผ ์ฌ์ฉํด ์กฐ๊ฑด์ ๋ง๋ ์ฌ๋ฌ ํ๋กํ์ ์ผ๊ด ์ญ์ ํ ์ ์์ต๋๋ค.LBKSmputils.people_delete(query_params={ 'selector' : '(("Albany" in properties["$city"]) and (defined (properties["$city"])))'})LBKS
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค๋ช
---์ด ๋ฐฉ๋ฒ๋ค์ ํตํด Mixpanel์์ ์ ์ ํ๋กํ์ ์ญ์ ํ ์ ์์ต๋๋ค.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai ์ด๋ฏธ ์๋ ๋ฐ์ดํฐ๊ฐ ๋ค์ ์ํฌํธ ๋์์๋ ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋ผ?
Let me check the knowledge base for you again. One moment! ๐
์ด๋ฏธ ์๋ ๋ฐ์ดํฐ(๋์ผํ $distinct_id
๋ฅผ ๊ฐ์ง ์ ์ ํ๋กํ)๊ฐ ๋ค์ ์ํฌํธ๋ ๊ฒฝ์ฐ, Mixpanel์์๋ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌ๋ฉ๋๋ค: - ๋์ผํ $distinct_id๋ก ์ํฌํธ:
์ด๋ฏธ ์กด์ฌํ๋ ํ๋กํ์ด ์๋ค๋ฉด, ์๋ก ์ํฌํธ๋ ๋ฐ์ดํฐ์ ํ๋กํผํฐ๊ฐ ๊ธฐ์กด ํ๋กํ์ ์
๋ฐ์ดํธํฉ๋๋ค.
- ๊ธฐ์กด์ ์๋ ํ๋กํผํฐ๋ ์๋ก ์ถ๊ฐ๋๊ณ ,
- ์ด๋ฏธ ์๋ ํ๋กํผํฐ๋ ์ ๊ฐ์ผ๋ก ๋ฎ์ด์ฐ๊ธฐ(Overwrite) ๋ฉ๋๋ค.
- ์ฆ, ๊ฐ์ฅ ์ต๊ทผ์ ์ํฌํธ๋ ๊ฐ์ด ์ต์ข
์ ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.- ๋ค๋ฅธ $distinct_id๋ก ์ํฌํธ:
$distinct_id
๊ฐ ๋ค๋ฅด๋ฉด ๋ณ๋์ ์๋ก์ด ํ๋กํ์ด ์์ฑ๋ฉ๋๋ค.
์ด๋ฉ์ผ์ด๋ ์ด๋ฆ์ด ๊ฐ๋๋ผ๋ $distinct_id
๊ฐ ๋ค๋ฅด๋ฉด ์ค๋ณต ํ๋กํ์ด ๋ง๋ค์ด์ง๋๋ค.> If you import profiles using $distinct_id
values that already exist, those profiles will be updated with the additional profile properties. On the other hand, if you upload a profile that has the same email address or the same name as another existing profile, but a different $distinct_id
, you will be uploading duplicates - they will not be combined.
๊ด๋ จ ๋ฌธ์ ์ฐธ๊ณ ์ฆ, ๋์ผํ $distinct_id๋ก ์ํฌํธํ๋ฉด ๊ธฐ์กด ๋ฐ์ดํฐ๊ฐ ์ต์ ๊ฐ์ผ๋ก ๊ฐฑ์ ๋ฉ๋๋ค.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai ์ด๋ฒคํธ๊ฐ ์ค๋ณต๋๋ฉด?
Let me check the knowledge base for you again. One moment! ๐
Mixpanel์์๋ ์ด๋ฒคํธ๊ฐ ์ค๋ณต๋ ๊ฒฝ์ฐ, ์ด๋ฒคํธ ์ด๋ฆ(event), distinct_id, timestamp(time), ๊ทธ๋ฆฌ๊ณ $insert_id ์ด ๋ค ๊ฐ์ง ๊ฐ์ด ๋ชจ๋ ๋์ผํ ์ด๋ฒคํธ๋ฅผ ์ค๋ณต์ผ๋ก ๊ฐ์ฃผํ์ฌ ๊ฐ์ฅ ์ต๊ทผ์ ์์ง๋ ์ด๋ฒคํธ๋ง ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์ ๋ฐ์ํฉ๋๋ค. ๋๋จธ์ง ์ค๋ณต ์ด๋ฒคํธ๋ ๋ฆฌํฌํธ์์ ์ ์ธ๋ฉ๋๋ค.- Deduplication(์ค๋ณต ์ ๊ฑฐ) ๊ธฐ์ค:
- event
(์ด๋ฒคํธ ์ด๋ฆ)
- distinct_id
(์ ์ ์๋ณ์)
- time
(ํ์์คํฌํ)
- $insert_id
(์ด๋ฒคํธ ๊ณ ์ ์๋ณ์)์ด ๋ค ๊ฐ์ง ๊ฐ์ด ๋ชจ๋ ๋์ผํ๋ฉด, Mixpanel์ ํด๋น ์ด๋ฒคํธ๋ฅผ ์ค๋ณต์ผ๋ก ์ธ์ํ๊ณ , ๊ฐ์ฅ ๋ง์ง๋ง์ ๋ค์ด์จ ์ด๋ฒคํธ๋ง ๋จ๊น๋๋ค.
์ถ๊ฐ์ ์ธ ํ๋กํผํฐ ๊ฐ์ด ๋ค๋ฅด๋๋ผ๋, ์ ๋ค ๊ฐ์ง๊ฐ ๊ฐ์ผ๋ฉด ์ค๋ณต์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.- Deduplication ๋ฐฉ์:
- Query-Time Deduplication: ์ฟผ๋ฆฌ ์์ ์ ์ฆ์ ์ค๋ณต์ด ์ ๊ฑฐ๋์ด ๋ฆฌํฌํธ์ ๋ฐ์๋ฉ๋๋ค.
- Compaction-Time Deduplication: ๋ฐฑ์๋์์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ค๋ณต ์ด๋ฒคํธ๋ฅผ ์ ๋ฆฌํ์ฌ ์ ์ฅ ๊ณต๊ฐ์ ์ต์ ํํฉ๋๋ค.
- Raw Export: ์๋ณธ ๋ฐ์ดํฐ(Export)์๋ ์ค๋ณต ์ด๋ฒคํธ๊ฐ ๊ทธ๋๋ก ๋จ์ ์์ ์ ์์ต๋๋ค.
์์ธํ ๋ณด๊ธฐ> Only the four key event properties listed above are used for deduplication. Additional event properties are not considered for the deduplication mechanism.
If all four of these properties are identical across two or more events, Mixpanel considers them duplicates and will only show the most recent version of that event in your reports.
Deduplication Mechanism๋ฐ๋ผ์, ์ด๋ฒคํธ๊ฐ ์ค๋ณต๋์ด ๋ค์ด์ค๋๋ผ๋ ์ ๊ธฐ์ค์ ๋ฐ๋ผ ์๋์ผ๋ก ์ค๋ณต์ด ์ ๊ฑฐ๋์ด ๋ถ์ ๊ฒฐ๊ณผ์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai ๊ทธ๋ผ ๊ณผ๊ฑฐ๊ฑด๋ถํฐ ๋ฃ๋๋ค๋ฉด, ์์ฐ์ค๋ ์ ๋ฐ์ดํธ ๋๊ฒ ๊ตฌ๋
Let me check the knowledge base for you again. One moment! ๐
๋ค, ๋ง์ต๋๋ค. Mixpanel์์๋ ๋์ผํ $distinct_id
๋ฅผ ๊ฐ์ง ์ ์ ํ๋กํ์ ๋ค์ ์ํฌํธํ๋ฉด ๊ธฐ์กด ํ๋กํ์ด ์ ๋ฐ์ดํฐ๋ก ์
๋ฐ์ดํธ(๋ฎ์ด์ฐ๊ธฐ)๋ฉ๋๋ค. ์ฆ, ๊ณผ๊ฑฐ ๋ฐ์ดํฐ๋ถํฐ ์์ฐจ์ ์ผ๋ก ์ํฌํธํ๋ฉด, ๊ฐ ์์ ์ ๊ฐ์ด ์ต์ ๊ฐ์ผ๋ก ๊ณ์ ๊ฐฑ์ ๋์ด ์ต์ข
์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ง๋ง์ ์ํฌํธ๋ ๊ฐ์ด ์ ์ฅ๋ฉ๋๋ค.
์ด ๋ฐฉ์์ ๊ณต์ ๋ฌธ์์์๋ ๋์ผํ๊ฒ ์๋ดํ๊ณ ์์ต๋๋คโ๋์ผํ $distinct_id
๋ก ์ํฌํธํ๋ฉด ๊ธฐ์กด ํ๋กํ์ด ์
๋ฐ์ดํธ๋๊ณ , ์๋ก์ด ํ๋กํผํฐ๋ ์ถ๊ฐ๋๋ฉฐ, ๊ธฐ์กด ํ๋กํผํฐ๋ ์ ๊ฐ์ผ๋ก ๋ฎ์ด์จ์ง๋๋ค.
๊ด๋ จ ๋ฌธ์ ์ฐธ๊ณ
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai ์ํฌํธ ์ด๋ฒคํธ ์ค์ธ๋ฐ, connectionResetError๊ฐ ๋ฐ์ํด.
Let me check the knowledge base for you again. One moment! ๐
์ํฌํธ ์ด๋ฒคํธ ์ค์ connectionResetError
๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ, ์ ๊ณต๋ ์ง์ ์์ค์์๋ ์ด ์ค๋ฅ์ ๊ตฌ์ฒด์ ์ธ ์์ธ์ด๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํ ์ง์ ์ ์ธ ์ธ๊ธ์ ์์ต๋๋ค.๋ค๋ง, Mixpanel์ ์ด๋ฒคํธ ์ํฌํธ ๋ฐ API ์ฐ๋ ๊ด๋ จ ๋ฌธ์์์๋ ๋คํธ์ํฌ ์ค๋ฅ(์: 429, 5XX ๋ฑ)๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ฌ์๋(Exponential Backoff) ์ ๋ต์ ์ฌ์ฉํ ๊ฒ์ ๊ถ์ฅํ๊ณ ์์ต๋๋ค. ๋ฐ๋ฉด, 400๋ฒ๋ ์ค๋ฅ(๋ฐ์ดํฐ ์ ํจ์ฑ ๋ฌธ์ ๋ฑ)๋ ์ฌ์๋ํ์ง ์์์ผ ํฉ๋๋ค.
connectionResetError
๋ ์ผ๋ฐ์ ์ผ๋ก ๋คํธ์ํฌ ์ฐ๊ฒฐ์ด ๋น์ ์์ ์ผ๋ก ๋๊ฒผ์ ๋ ๋ฐ์ํ๋ ์ค๋ฅ๋ก, ์ผ์์ ์ธ ๋คํธ์ํฌ ๋ฌธ์ ์ด๊ฑฐ๋ ์๋ฒ ์ธก์ ์ผ์์ ์ฅ์ ์ผ ์ ์์ต๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ ์ฌ์๋ ๋ก์ง์ ์ ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ธ ๊ถ์ฅ ์ฌํญ์
๋๋ค.
๊ด๋ จ ๋ด์ฉ ์ฐธ๊ณ ์ ๋ฆฌํ๋ฉด,
- connectionResetError
๋ ๋คํธ์ํฌ ์ฐ๊ฒฐ ๋ฌธ์ ๋ก ๋ฐ์ํ ์ ์์ผ๋ฉฐ,
- Mixpanel์์๋ ๋คํธ์ํฌ ์ค๋ฅ ๋ฐ์ ์ ์ฌ์๋(backoff) ์ ๋ต์ ์ ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.๋ง์ฝ ์ค๋ฅ๊ฐ ์ง์์ ์ผ๋ก ๋ฐ๋ณต๋๋ค๋ฉด, ๋คํธ์ํฌ ํ๊ฒฝ์ด๋ ์๋ฒ ์ํ๋ฅผ ์ ๊ฒํ๊ฑฐ๋, Mixpanel ์ง์ํ์ ๋ฌธ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ง์ ์์ค ๋ด์ ๋ ๊ตฌ์ฒด์ ์ธ ์์ธ์ด๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ช
์๋์ด ์์ง ์์ต๋๋ค.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
API, ์์ฒญ ์ ํ๋ ์์ด?
kapa.ai API ์์ฒญ ์ ํ๋ ์์ด?
Let me check the knowledge base for you again. One moment! ๐
๋ค, Mixpanel API์๋ ์์ฒญ ์ ํ(๋ ์ดํธ ๋ฆฌ๋ฐ)์ด ์์ต๋๋ค. ์ฃผ์ API๋ณ ์ ํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: - Ingestion API (์ด๋ฒคํธ/ํ๋กํ ์ํฌํธ): 2GB์ ๋น์์ถ JSON/๋ถ ๋๋ ์ฝ 30,000 ์ด๋ฒคํธ/์ด (1๋ถ ๋จ์ ๋กค๋ง ๊ธฐ์ค) ์์ธํ ๋ณด๊ธฐ- Query API: ์ต๋ 5๊ฐ์ ๋์ ์ฟผ๋ฆฌ, ์๊ฐ๋น 60ํ ์ฟผ๋ฆฌ ์ ํ- Raw Data Export API: ์ต๋ 100๊ฐ์ ๋์ ์ฟผ๋ฆฌ, ์๊ฐ๋น 60ํ, ์ด๋น 3ํ ์ฟผ๋ฆฌ ์ ํ- GDPR/CCPA API: ์ด๋น 1ํ ์์ฒญ ์ ํ, ํ๋ก์ ํธ๋น ์ต๋ 5๋ ์น outstanding scan ์ ํ GDPR API ์์ธ- Engage API (ํ๋กํ ์ฟผ๋ฆฌ): ์๊ฐ๋น 60ํ, ์ต๋ 5๊ฐ ๋์ ์ฟผ๋ฆฌ ์ ํ Query API ์ ํAPI๋ณ๋ก ์ธ๋ถ ์ ํ์ด ๋ค๋ฅด๋, ๋๋ ์์ฒญ ์์๋ ์ด ์ ์ ์ ์ํด์ผ ํฉ๋๋ค. Mixpanel ๊ณต์ ๋ ์ดํธ ๋ฆฌ๋ฐ ์๋ด
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai https://api.mixpanel.com/engage ๋ก ์ ์ ํ๋กํ ์ ๋ฐ์ดํธํ๊ณ ์์ด. API ์ ํ๋ ๋ณด์ฌ์ค
Let me check the knowledge base for you again. One moment! ๐
Mixpanel์ /engage
API(Engage API)๋ฅผ ํตํด ์ ์ ํ๋กํ์ ์
๋ฐ์ดํธํ ๋ ์ ์ฉ๋๋ ์ฃผ์ ์ ํ(๋ ์ดํธ ๋ฆฌ๋ฐ)์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: - ํ ๋ฒ์ ์์ฒญ์ ๋ณด๋ผ ์ ์๋ ํ๋กํ ์:
์ต๋ 2000๊ฐ์ ํ๋กํ ์
๋ฐ์ดํธ๋ฅผ ํ ๋ฒ์ ์ ์กํ ์ ์์ต๋๋ค.
- ๊ฐ ํ๋กํ ์
๋ฐ์ดํธ์ ์ต๋ ํฌ๊ธฐ:
๊ฐ ๊ฐ๋ณ ์
๋ฐ์ดํธ๋ ์ต๋ 1MB๊น์ง ํ์ฉ๋ฉ๋๋ค.> The User Profile API imposes limits on the total number profile updates that can be sent per request to 2000 as well as limit each individual update in the request to a maximum of 1 MB. If you are running up against these limits, we suggest breaking your request into smaller batches. Usually these limits are only hit if you are attempting to do a bulk create/update.
์ถ์ฒ: User Profile API Limits- ์ ์ฒด API ์์ฒญ์ ์๋ ์ ํ(๋ ์ดํธ ๋ฆฌ๋ฐ):
Mixpanel Ingestion API ์ ์ฒด์ ๋ํด 2GB์ ๋น์์ถ JSON/๋ถ ๋๋ ์ฝ 30,000 ์ด๋ฒคํธ/์ด(1๋ถ ๋จ์ ๋กค๋ง ๊ธฐ์ค) ์ ํ์ด ์์ต๋๋ค.
์ด ์ ํ์ ์ด๋ฒคํธ์ ํ๋กํ ์ํฌํธ ๋ชจ๋์ ์ ์ฉ๋ฉ๋๋ค.
์ถ์ฒ: Mixpanel API Rate Limits์ด ์ ํ์ ์ด๊ณผํ๋ฉด 429 ์๋ฌ(Too Many Requests)๊ฐ ๋ฐ์ํ ์ ์์ผ๋, ๋๋ ์
๋ฐ์ดํธ ์์๋ ์์ฒญ์ ์ฌ๋ฌ ๋ฒ์ ๋๋์ด ๋ณด๋ด๋ ๊ฒ์ด ์ข์ต๋๋ค.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai ์ ์ ํ๋กํ ์ ๋ฐ์ดํธํ๋ ค๊ณ ํ๋๋ฐ, ์์ฒญ ์ํ๋ณด์ฌ์ค
Let me check the knowledge base for you again. One moment! ๐
Mixpanel์ Engage API๋ฅผ ์ฌ์ฉํด ์ ์ ํ๋กํ์ ์
๋ฐ์ดํธํ๋ ์์ฒญ ์ํ์ ์๋์ ๊ฐ์ต๋๋ค.LBKSimport requestsLBKSurl = "[https://api.mixpanel.com/engage#profile-set](https://api.mixpanel.com/engage#profile-set)"LBKSpayload = [ { "$token": "YOUR_PROJECT_TOKEN", "$distinct_id": "USER_ID", "$set": { "$name": "Jane Doe", "$email": "jane.doe@โ[example.com](http://example.com)", "plan": "Premium" } } ] headers = { "accept": "text/plain", "content-type": "application/json" }LBKSresponse = [requests.post](http://requests.post)(url, json=payload, headers=headers) print(response.text)LBKS
- $token
: Mixpanel ํ๋ก์ ํธ ํ ํฐ
- $distinct_id
: ์
๋ฐ์ดํธํ ์ ์ ์ ๊ณ ์ ์๋ณ์
- $set
: ์ถ๊ฐํ๊ฑฐ๋ ๋ณ๊ฒฝํ ํ๋กํ ์์ฑ์ด ์ํ์ ๊ณต์ ๋ฌธ์์ ์๋ด๋ ์์์ ๋์ผํฉ๋๋ค.
์์ธํ ์์์ ์ค๋ช
๋ณด๊ธฐ
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.