สะพานเชื่อม CRM
เมื่อเซสชันมีชื่อ บันทึกจะเป็นหมายเหตุของบุคคลใน CRM ที่มีอยู่แล้ว ไม่สร้างผู้ติดต่อใหม่
1. หน้าที่ในหนึ่งประโยค
ทันทีที่ระบุตัวตนเซสชัน เราค้นบุคคลใน CRM ด้วยตัวระบุที่คุณส่ง แล้วแนบหมายเหตุพร้อมลิงก์บันทึก
เท่านั้น ไม่สร้างผู้ติดต่อหรือดีลใหม่ ไม่เปลี่ยนสายงาน CRM ที่สร้างข้อมูลซ้ำทุกครั้งที่มีคนดูหน้าราคาแย่กว่าไม่เชื่อมต่อ
หากไม่พบบุคคล จะไม่ทำอะไร การสร้างหมายถึงเขียนข้อมูล CRM จากเซสชันเบราว์เซอร์ แต่เซสชันไม่ใช่แหล่งความจริงว่าใครเป็นลูกค้า
2. คีย์จับคู่: หาบุคคลอย่างไร
ส่วนนี้ควรใช้เวลาสิบนาทีทำความเข้าใจ เพราะเป็นจุดที่การเชื่อมต่อ CRM มักผิดเงียบๆ
เรารู้จักผู้เข้าชมจากสิ่งที่เว็บไซต์แจ้ง ได้แก่ MousePlayer.setUserId() หรือ distinct ID จากเครื่องมือวิเคราะห์ หรือ identify ฝั่งเซิร์ฟเวอร์ CRM ก็ใช้บางค่า สิ่งทั้งสองต้องเป็นค่าเดียวกัน
| สิ่งที่ค้นหา | เปลี่ยนได้หรือไม่ | |
|---|---|---|
| HubSpot | อีเมลผู้ติดต่อ | ไม่ได้ ปลายทางค้นหาออกแบบตามอีเมล |
| Pipedrive | ค้นบุคคลตามคำ โดยใช้อีเมลก่อน | ไม่ได้ |
| Salesforce | ช่องที่ คุณระบุ ค่าเริ่มต้น Email | ได้ |
ทำไม Salesforce ต้องถาม
ระบบ Salesforce ไม่ค่อยใช้อีเมลเป็นคีย์ อาจใช้ Customer_Number__c หรือ ID ภายนอกจากระบบเรียกเก็บเงิน หากยังค้นอีเมลจะไม่พบอะไรแต่รายงานสำเร็จ เป็นความล้มเหลวที่แย่เพราะดูเหมือนการเชื่อมต่อทำงาน
แบบฟอร์มจึงถามว่า: ช่องใดบน Contact เก็บค่าที่เรากำลังส่ง ใส่ชื่อ API รวมถึง __c หากเป็นช่องกำหนดเอง
ตรวจชื่อช่องด้วยรูปแบบเข้มงวดก่อนถึงคำค้น ใช้ตัวอักษร ตัวเลข และขีดล่างเท่านั้น ค่าอื่นปฏิเสธแทน escape เพราะ escape อาจผิดละเอียดอ่อนได้ แต่การปฏิเสธไม่เป็นเช่นนั้น
3. ทำงานเมื่อใดและตั้งใจไม่ทำเมื่อใด
เมื่อระบุตัวตน เว็บไซต์เรียก MousePlayer.setUserId() หรือสะพานวิเคราะห์อ่าน distinct ID จาก PostHog, Mixpanel หรือ Amplitude หรือเซิร์ฟเวอร์เรียกปลายทาง identify
ครั้งเดียวต่อเซสชัน ไม่ใช่ต่อหน้า
คนที่ลงชื่อเข้าใช้แล้วดูสิบเอ็ดหน้าได้หนึ่งหมายเหตุ ไม่ใช่สิบเอ็ด ไทม์ไลน์ CRM เป็นพื้นที่ที่คนอ่าน
ไม่ทำเมื่อไม่มีตัวระบุ
เซสชันนิรนามไม่มีค่าจับคู่ เราไม่เดาจาก IP และไม่แนบบันทึกกับใครก็ตามที่ใช้ที่อยู่นั้นร่วมกัน
ไม่ทำเมื่อ CRM ไม่รู้จักบุคคล
นับว่าเสร็จ ไม่ใช่ล้มเหลว ผู้สนใจที่ยังไม่อยู่ใน CRM เป็นเรื่องปกติ ลองใหม่พรุ่งนี้ก็ไม่เปลี่ยน
4. หมายเหตุมีลักษณะใดและโทเค็นอยู่ที่ใด
หนึ่งหมายเหตุบนไทม์ไลน์ผู้ติดต่อ ระบุว่าบันทึกเซสชันแล้วพร้อมลิงก์ ฝ่ายขายคลิกดูสิ่งที่บุคคลทำจริงก่อนติดต่อได้
ข้อมูลรับรอง
เก็บเข้ารหัส AES-256-GCM ไม่แสดงอีกหลังบันทึก ช่องแสดงดอกจัน และบันทึกแบบฟอร์มที่ยังเป็นดอกจันจะไม่เปลี่ยนค่าเดิม ตั้งใจไม่ใส่ในคิวภายใน เพราะคิวคือสถานะร่วมซึ่งไม่เหมาะเก็บคีย์
Salesforce ต้องใช้สามอย่าง ระบบอื่นสอง
Salesforce ยืนยันผ่าน Connected App กับโทเค็นรีเฟรช จึงถาม consumer key ความลับ และโทเค็นรีเฟรช พร้อม URL อินสแตนซ์ HubSpot และ Pipedrive ใช้โทเค็น API เดียว ทั้งสามกรณีเป็นแอปของคุณ MousePlayer ไม่ใช้แอป marketplace ที่ต้องเชื่อถือ
5. Zoho CRM และ Freshsales
CRM อีกสองระบบที่มีความยุ่งยากตั้งค่าคนละขั้ว
| Zoho CRM | Freshsales | |
|---|---|---|
| สิ่งที่ระบุ | ศูนย์ข้อมูล ID ไคลเอนต์ ความลับไคลเอนต์ โทเค็นรีเฟรช | คีย์ API และโดเมน Freshworks |
| สิ่งที่ค้นหา | ช่องที่ระบุ ค่าเริ่มต้น Email | ช่องที่ระบุ ค่าเริ่มต้น email |
| ตำแหน่งหมายเหตุ | ในผู้ติดต่อ เป็นระเบียน Note | ในผู้ติดต่อ เป็นหมายเหตุ |
Zoho อยู่ในหนึ่งในหกศูนย์ข้อมูล
บัญชีอยู่ใน com, eu, in, com.au, jp หรือ com.cn และคีย์ไม่บอกว่าแห่งใด เลือกผิด Zoho ตอบ INVALID_TOKEN ซึ่งดูเหมือนคีย์ผิดและพาไปตรวจผิดที่ จึงใช้ช่องรายการเลือก
ตั้ง Self Client ครั้งเดียว
สร้าง Self Client ในคอนโซล Zoho API สร้าง grant token สำหรับ ZohoCRM.modules.ALL และ ZohoSearch.securesearch.READ แล้วแลกเป็นโทเค็นรีเฟรชหนึ่งครั้ง โทเค็นนี้ไม่หมดอายุ โทเค็นเข้าถึงรายชั่วโมงสร้างจากค่านี้และไม่เก็บ
Zoho ตอบ 200 แม้ปฏิเสธ
ทั้งการแลกโทเค็นและเขียนระเบียนอาจตอบ HTTP 200 พร้อมข้อผิดพลาดหรือสถานะรายระเบียนในเนื้อหา เราอ่านเนื้อหา เพราะหากเชื่อสถานะจะรายงานสำเร็จทั้งที่ไม่เคยสร้างหมายเหตุ
เครื่องหมายการค้าทั้งหมดที่กล่าวถึงเป็นของเจ้าของแต่ละราย MousePlayer ไม่มีความสัมพันธ์ทางธุรกิจกับผู้ให้บริการเหล่านี้