لائف سائیکل (سرور پر)
سیشن کو آپ کی اپنی گاہک ID ملتے ہی ریکارڈنگ کا لنک ہمارے سرور سے ActiveCampaign، Mailchimp، Iterable یا Klaviyo میں بھیجیں۔
1. براؤزر کے رابطے کے ساتھ یہ کیوں موجود ہے
MousePlayer میں پہلے ہی لائف سائیکل رابطہ ہے جو آپ کے صفحے پر چلنے والے SDK میں لکھتا ہے — Klaviyo، Braze، Customer.io اور چھ دیگر۔ یہ وہی کام ہمارے سرور سے کرتا ہے، کیونکہ دو بڑے پلیٹ فارمز کے لیے براؤزر والا راستہ دستیاب ہی نہیں:
- ActiveCampaign میں ایونٹس کے لیے کوئی براؤزر API نہیں۔ اس کا
vgo()اکاؤنٹ اور ایمیل پتہ مقرر کر کے ٹریکنگ شروع کر سکتا ہے — ایونٹ نہیں بھیج سکتا۔ ایونٹس الگ ایونٹ کلید کے ساتھ Event Tracking API سے، صرف سرور پر جاتے ہیں۔ - Mailchimp میں موجود ہے، مگر ناموں کی محدود فہرست کے ساتھ۔ اس کا سائٹ ٹریکنگ پکسل یہ قبول کرتا ہے:
PAGE_VIEWED،PRODUCT_VIEWED،PURCHASEDاور چند دیگر پہلے سے مقرر نام۔ حسبِ ضرورت ایونٹ کی جگہ نہیں، اور اپنے ڈیٹا کو اس شکل میں ڈالنا:PAGE_VIEWEDآپ کے اپنے ڈیٹا ماڈل میں جھوٹ ہو گا۔
Iterable اور Klaviyo کے لیے سرور کا راستہ زیادہ قابلِ اعتماد ہے: نہ اشتہار روکنے والا ٹول، نہ SDK کے لوڈ ہونے کی غیر یقینی صورت، نہ ٹیب جلد بند ہونے کا مسئلہ۔
2. کیا درکار ہے
تین خانے، جن میں سے بھرے جانے والے خانے پلیٹ فارم پر منحصر ہیں۔
| پلیٹ فارم | اکاؤنٹ کا خانہ | کلید |
|---|---|---|
| ActiveCampaign | actid | Website → Site Tracking میں، ایونٹ کلید کے ساتھ |
| Mailchimp | آڈیئنس ID | API کلید — اس کا یہ طرز والا لاحقہ برقرار رکھیں: -us14، ڈیٹا سینٹر اسی سے پڑھا جاتا ہے |
| Iterable | درکار نہیں — خالی چھوڑیں | “Allow event track calls” کی اجازت والی کلید |
| Klaviyo | درکار نہیں — خالی چھوڑیں | یہ API کلید: نجی۔ |
تیسرا خانہ وہ ایونٹ نام ہے جس سے یہ نظر آئے گا۔ مختصر رکھیں: زیادہ سے زیادہ 32 حروف۔ یہ API کی حد ہے، ہماری نہیں، اور ہم بھیجنے کے بجائے محفوظ کرتے وقت مختصر کرتے ہیں — ورنہ فارم میں وہ چیز دکھتی جو پہنچنے والی چیز سے مختلف ہوتی۔
Mailchimp: API کلید کا لاحقہ برقرار رکھیں۔ آخری ڈیش کے بعد کا حصہ (-us14) آپ کے اکاؤنٹ کا ڈیٹا سینٹر بتاتا ہے، اور پتہ اسی سے بنتا ہے۔ اس کے بغیر کلید واضح پیغام کے ساتھ مسترد ہوتی ہے، کسی ان دیکھی جگہ ناکام نہیں ہوتی۔
3. یہ کب چلتا ہے — اور کب نہیں
سیشن کی شناخت ہوتے ہی: جب آپ کی سائٹ یہ کال کرے: MousePlayer.setUserId()، جب ہمارا اینالیٹکس رابطہ منفرد ID واپس پڑھے، یا آپ کا سرور شناخت کا اینڈپوائنٹ کال کرے۔ اس سے پہلے معلوم نہیں ہوتا کہ ریکارڈنگ کس کی ہے۔
صرف ایمیل پتے کے ساتھ
چاروں پلیٹ فارم رابطے کو ایمیل سے پہچانتے ہیں۔ گاہک ID معاہدے کا نمبر ہو تو کچھ نہیں بھیجا جاتا — صرف ناکام ہونے والا کام قطار میں ڈالنا لاگ کو شور سے بھرے گا۔
رابطے کا پہلے سے موجود ہونا ضروری ہے۔ ان میں سے کوئی پلیٹ فارم ایونٹ سے نیا رابطہ نہیں بناتا؛ ActiveCampaign پتہ نہ پہچاننے پر ایونٹ مکمل ضائع کرتا ہے۔ یہ رابطہ موجودہ رابطوں کی معلومات بڑھاتا ہے — آپ کی فہرست نہیں بناتا۔
ہر ایونٹ میں ID ہوتی ہے
تاکہ کام دوبارہ چلنے پر بھی وہی سیشن دو بار شمار نہ ہو۔
4. دوسری طرف کیا پہنچتا ہے
ایک ایونٹ، جس میں ریکارڈنگ کا لنک اس نام کی پراپرٹی میں ہوتا ہے: mouseplayer_session_url۔ اسے کھولیں تو عین اسی سیشن کی ریکارڈنگ ملتی ہے۔
اس کے بعد آپ کے پلیٹ فارم کی اپنی منطق چلتی ہے: ایونٹ کو خودکاری کے محرک یا طبقے کی شرط کے طور پر استعمال کریں، یا ٹیم کو رابطے سے ریکارڈنگ کھولنے دیں۔
کلید ہمارے سرور سے کبھی نہیں نکلتی
یہ AES-256-GCM رمز شدہ محفوظ ہوتی ہے، محفوظ کرنے کے بعد پھر نہیں دکھتی، اور کام لے جانے والی اندرونی قطار میں جان بوجھ کر شامل نہیں ہوتی — ورکر اسے خود ڈیٹابیس سے لیتا ہے۔
HTTP 200 کا مطلب پہنچ جانا نہیں
ActiveCampaign ایونٹ مسترد کرتے وقت اسٹیٹس 200 کے ساتھ یہ دیتا ہے: {"success":0}۔ ہم صرف اسٹیٹس نہیں، جواب کا متن پڑھتے ہیں، تاکہ انکار ترسیل کے لاگ میں ناکامی دکھے، خاموش کامیابی نہیں۔
5. Braze، Customer.io اور Brevo
سرور والے راستے پر مزید تین پلیٹ فارم۔ دو کو وہ چیز چاہیے جو باقی کو نہیں: مقام۔
| آپ فراہم کرتے ہیں | شناخت کس سے ہوتی ہے | |
|---|---|---|
| Braze | REST اینڈپوائنٹ اور API کلید | ایمیل پتہ |
| Customer.io | سائٹ ID، API کلید اور اپنا خطہ | آپ کی اپنی گاہک ID |
| Brevo | صرف ٹریکر کی کلید | ایمیل پتہ |
دو پلیٹ فارم مخصوص مقام پر چلتے ہیں
Braze کے REST اینڈپوائنٹس انسٹنس سے منسلک ہیں؛ Customer.io مختلف ہوسٹس والے دو الگ خطوں میں چلتا ہے۔ مقام کلید سے اخذ نہیں کیا جا سکتا، اور غلط انتخاب 401 دیتا ہے — جس سے آپ کلید جانچنے لگتے ہیں۔ دونوں خانے صرف اسی وجہ سے ہیں۔
Customer.io کو ایمیل درکار نہیں
یہ لوگوں کو آپ کی مقرر کردہ ID سے جانتا ہے، اس لیے ایمیل لازم کرنا غیر ضروری رکاوٹ ہوتا۔ باقی چھ ایمیل سے مطابقت کرتے ہیں، اور ان میں معاہدے کے نمبر سے شناخت شدہ سیشن درست طور پر کچھ نہیں بھیجتا۔
نئے پروفائلز نہیں
Braze کی کال میں یہ ہوتا ہے: _update_existing_only۔ CRM رابطے والا ہی فیصلہ: براؤزر سیشن آپ کے گاہکوں کی شناخت کا قابلِ اعتماد بیان نہیں، اور ہر بےنام ملاحظہ کار پر پروفائل بڑھانے والا لائف سائیکل پلیٹ فارم انضمام نہ ہونے سے بدتر ہے۔
Brevo، 204 دیتا ہے؛ Braze، 201 مگر ایک شرط کے ساتھ
Brevo کوئی متن نہیں لوٹاتا — وہاں 2xx واقعی مکمل بات ہے۔ Braze یہ لوٹاتا ہے: "message": "success" اور ساتھ یہ صف بھی ہو سکتی ہے: errors: مہلک مسائل پیغام میں آتے ہیں، برداشت کی گئی خانوں کی کمی صرف errors میں۔ صرف ایک پڑھنے سے کسی نہ کسی طرف غلط نتیجہ نکلتا ہے۔
یہاں مذکور تمام تجارتی نشان اپنے متعلقہ مالکان کی ملکیت ہیں۔ MousePlayer کا ان فراہم کنندگان سے کوئی کاروباری تعلق نہیں۔