วงจรลูกค้า (ฝั่งเซิร์ฟเวอร์)

ส่งลิงก์เล่นย้อนหลังไป ActiveCampaign, Mailchimp, Iterable หรือ Klaviyo จากเซิร์ฟเวอร์เราทันทีที่เซสชันได้รับ ID ลูกค้าของคุณ

1. ทำไมมีส่วนนี้ควบคู่สะพานเชื่อมเบราว์เซอร์

MousePlayer มีสะพานเชื่อมวงจรลูกค้าที่เขียนลง SDK บนหน้าอยู่แล้ว ทั้ง Klaviyo, Braze, Customer.io และอีกหกระบบ ส่วนนี้ทำงานเดียวกันจากเซิร์ฟเวอร์ เพราะสองแพลตฟอร์มใหญ่ที่สุดใช้ทางเบราว์เซอร์ไม่ได้:

  • ActiveCampaign ไม่มี API เบราว์เซอร์สำหรับเหตุการณ์เลย คำสั่ง vgo() ตั้งบัญชีและอีเมลแล้วเริ่มติดตามได้ แต่ส่งเหตุการณ์ไม่ได้ เหตุการณ์ต้องผ่าน Event Tracking API ด้วย event key แยก เฉพาะฝั่งเซิร์ฟเวอร์
  • Mailchimp มี แต่รองรับชื่อจำกัด พิกเซลติดตามเว็บไซต์รับ PAGE_VIEWED, PRODUCT_VIEWED, PURCHASED และชื่อที่กำหนดไว้อีกไม่กี่ชื่อ ไม่มีช่องให้เหตุการณ์กำหนดเอง การฝืนข้อมูลเราให้เป็น PAGE_VIEWED จะทำให้โมเดลข้อมูลของคุณเองเป็นเท็จ

สำหรับ Iterable และ Klaviyo ทางเซิร์ฟเวอร์เพียงน่าเชื่อถือกว่า ไม่มีตัวบล็อกโฆษณา SDK ที่อาจยังไม่โหลด หรือแท็บปิดก่อน

2. สิ่งที่ต้องใช้

สามช่อง โดยขึ้นกับแพลตฟอร์มว่าจะกรอกช่องใด

แพลตฟอร์มช่องบัญชีคีย์
ActiveCampaignactidWebsite → Site Tracking ข้าง event key
MailchimpID กลุ่มผู้รับคีย์ API โดยคงส่วนท้ายรูปแบบ -us14 เพราะใช้ระบุศูนย์ข้อมูล
Iterableไม่ต้องใช้ เว้นว่างคีย์ที่มีสิทธิ์ "Allow event track calls"
Klaviyoไม่ต้องใช้ เว้นว่างคีย์ API ส่วนตัว

ช่องที่สามคือชื่อเหตุการณ์ที่จะแสดง ควรสั้น: ไม่เกิน 32 อักขระ เป็นข้อจำกัด API ไม่ใช่ของเรา เราตัดตอนบันทึกไม่ใช่ตอนส่ง มิฉะนั้นแบบฟอร์มจะแสดงต่างจากข้อมูลที่ถึง

Mailchimp: คงส่วนท้ายคีย์ API ส่วนหลังขีดสุดท้าย (-us14) ระบุศูนย์ข้อมูลบัญชีและใช้สร้างที่อยู่ หากไม่มีจะปฏิเสธพร้อมข้อความชัดเจน แทนล้มเหลวในจุดที่มองไม่เห็น

3. ทำงานเมื่อใดและไม่ทำงานเมื่อใด

ทันทีที่ระบุตัวตนเซสชัน เมื่อเว็บไซต์เรียก MousePlayer.setUserId() หรือสะพานเชื่อมวิเคราะห์อ่าน distinct ID หรือเซิร์ฟเวอร์เรียกปลายทาง identify ก่อนหน้านั้นเราไม่ทราบว่าบันทึกเป็นของใคร

เฉพาะ 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.ioID ไซต์ คีย์ 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 คู่กัน ปัญหาร้ายแรงอยู่ใน message ส่วนช่องที่สูญเสียแต่ยังยอมรับอยู่ใน errors อ่านเพียงอย่างใดอย่างหนึ่งจะตีความผิด

เครื่องหมายการค้าทั้งหมดที่กล่าวถึงเป็นของเจ้าของแต่ละราย MousePlayer ไม่มีความสัมพันธ์ทางธุรกิจกับผู้ให้บริการเหล่านี้