0Pricing
Digital Marketing Academy · บทเรียน

การรวมตารางการตลาด

เซสชัน ผู้ใช้ และคำสั่งซื้อ

การรวมตารางการตลาด เป็นบทเรียน Digital Marketing Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Digital Marketing Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Digital Marketing Academy มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องใช้ JOIN

คำถามจริงมักครอบคลุมหลายตาราง ค่าใช้จ่ายอยู่ในตารางแคมเปญ รายได้อยู่ในตารางคำสั่งซื้อ และคุณลักษณะอยู่ในตารางผู้ใช้ หากต้องการคำนวณ ROAS หรือ LTV แยกตามกลุ่มย่อย คุณต้องรวมข้อมูลเหล่านี้

JOIN จับคู่แถวจากสองตารางด้วยคีย์ร่วม เช่น รหัสผู้ใช้หรือรหัสแคมเปญ

SELECT o.order_id, u.country
FROM orders o
JOIN users u ON o.user_id = u.user_id;

INNER JOIN

INNER JOIN แสดงเฉพาะแถวที่ตรงกันในทั้งสองตาราง คำสั่งซื้อที่ไม่มีผู้ใช้ตรงกัน หรือผู้ใช้ที่ไม่มีคำสั่งซื้อ จะถูกตัดออก

ใช้เมื่อคุณสนใจเฉพาะระเบียนที่มีอยู่ทั้งสองฝั่ง เช่น ผู้ที่ซื้อสินค้า

SELECT u.user_id, u.country, SUM(o.revenue) AS revenue
FROM users u
JOIN orders o ON o.user_id = u.user_id
GROUP BY u.user_id, u.country;

LEFT JOIN

LEFT JOIN เก็บทุกแถวจากตารางฝั่งซ้ายไว้ แม้จะไม่มีข้อมูลตรงกันทางฝั่งขวา ค่าที่หายไปจะแสดงเป็น NULL

วิธีนี้ช่วยให้คุณค้นหาผู้ใช้ที่ไม่เคยสั่งซื้อ หรือเซสชันที่ไม่เคยเปลี่ยนเป็นผลลัพธ์ได้

SELECT u.user_id, COALESCE(SUM(o.revenue), 0) AS revenue
FROM users u
LEFT JOIN orders o ON o.user_id = u.user_id
GROUP BY u.user_id;

ค้นหาข้อมูลที่ขาดหาย

จับคู่ LEFT JOIN กับการตรวจสอบ NULL เพื่อแยกแถวที่ไม่มีคู่ตรงกัน "ผู้สมัครรายใดไม่เคยซื้อสินค้าเลย" เป็นคำถามด้านการรักษาผู้ใช้ที่พบบ่อย

การที่ฝั่งขวาเป็น NULL หมายความว่าไม่มีคำสั่งซื้อที่ตรงกันอยู่

SELECT u.user_id, u.signup_date
FROM users u
LEFT JOIN orders o ON o.user_id = u.user_id
WHERE o.order_id IS NULL;

เชื่อมเซสชันกับคำสั่งซื้อ

การเชื่อมเซสชันกับคำสั่งซื้อช่วยเชื่อมโยงพฤติกรรมกับผลลัพธ์ จับคู่ด้วยรหัสผู้ใช้เพื่อดูว่าการเข้าชมจากแหล่งใดนำไปสู่การซื้อในท้ายที่สุด

นี่คือพื้นฐานของการวิเคราะห์การระบุแหล่งที่มาของช่องทาง

SELECT s.channel, SUM(o.revenue) AS revenue
FROM sessions s
JOIN orders o ON o.user_id = s.user_id
GROUP BY s.channel;

คำนวณ ROAS

ROAS ที่แท้จริงต้องใช้ค่าใช้จ่ายและรายได้ประกอบกัน เชื่อมแคมเปญกับคำสั่งซื้อด้วยรหัสแคมเปญ แล้วหารผลรวม

NULLIF ป้องกันการหารด้วยค่าใช้จ่ายเป็นศูนย์

SELECT c.campaign_id,
       SUM(o.revenue) / NULLIF(SUM(c.spend), 0) AS roas
FROM campaigns c
LEFT JOIN orders o ON o.campaign_id = c.campaign_id
GROUP BY c.campaign_id;

นามแฝงของตาราง

นามแฝง (o สำหรับคำสั่งซื้อ และ u สำหรับผู้ใช้) ช่วยให้คำสั่งสอบถามหลายตารางสั้นและไม่กำกวม เมื่อชื่อคอลัมน์มีอยู่ในทั้งสองตาราง ควรระบุชื่อตารางกำกับคอลัมน์เสมอ

นามแฝงที่ชัดเจนทำให้การเชื่อมตารางที่ซับซ้อนอ่านและตรวจหาข้อผิดพลาดได้ง่ายขึ้นมาก

SELECT c.name AS campaign, SUM(o.revenue) AS revenue
FROM campaigns c
JOIN orders o ON o.campaign_id = c.campaign_id
GROUP BY c.name;

เชื่อมสามตาราง

เชื่อม JOIN ต่อกันเพื่อนำข้อมูลจากมากกว่าสองตารางมารวมกัน ในที่นี้เราเชื่อมแคมเปญกับคำสั่งซื้อและผู้ใช้ เพื่อแบ่งรายได้ตามประเทศ

JOIN แต่ละรายการจะเพิ่มเงื่อนไข ON อีกหนึ่งรายการเพื่อเชื่อมตารางใหม่เข้ากับชุดตารางเดิม

SELECT c.name, u.country, SUM(o.revenue) AS revenue
FROM campaigns c
JOIN orders o ON o.campaign_id = c.campaign_id
JOIN users u ON u.user_id = o.user_id
GROUP BY c.name, u.country;

ระวังระดับรายละเอียดข้อมูล

การเชื่อมความสัมพันธ์แบบหนึ่งต่อหลายอาจทำให้จำนวนแถวเพิ่มและทำให้ผลรวมสูงเกินจริง หากแคมเปญหนึ่งมีหลายคำสั่งซื้อ การรวมค่าใช้จ่ายแยกตามคำสั่งซื้อจะนับค่าใช้จ่ายซ้ำ

รวมค่าของแต่ละฝั่งแยกกัน แล้วจึงเชื่อมผลรวม เพื่อให้ตัวเลขถูกต้องตามจริง

SELECT c.campaign_id, c.total_spend, r.revenue
FROM campaigns c
JOIN (
  SELECT campaign_id, SUM(revenue) AS revenue
  FROM orders GROUP BY campaign_id
) r ON r.campaign_id = c.campaign_id;

การระบุแหล่งที่มาจากการสัมผัสครั้งแรก

หากต้องการยกเครดิตให้ช่องทางแรกที่ผู้ใช้เข้ามา ให้ค้นหาเซสชันแรกสุดของผู้ใช้แต่ละราย แล้วเชื่อมเซสชันนั้นกับคำสั่งซื้อของผู้ใช้

คำสั่งสอบถามย่อยจะแยกการสัมผัสครั้งแรกออกมาก่อนการเชื่อมรายได้

SELECT f.channel, SUM(o.revenue) AS revenue
FROM (
  SELECT DISTINCT ON (user_id) user_id, channel
  FROM sessions ORDER BY user_id, session_date
) f
JOIN orders o ON o.user_id = f.user_id
GROUP BY f.channel;

JOIN ในการใช้งานจริง

JOIN คือจุดที่ SQL ด้านการตลาดเริ่มทรงพลัง ค่าใช้จ่ายรวมกับรายได้ทำให้ได้ ROAS เซสชันรวมกับคำสั่งซื้อทำให้ระบุแหล่งที่มาได้ และผู้ใช้รวมกับคำสั่งซื้อทำให้ได้ LTV แยกตามกลุ่มย่อย

เลือก INNER เมื่อทั้งสองฝั่งต้องมีข้อมูล และเลือก LEFT เมื่อคุณต้องการเก็บทุกแถวฝั่งซ้ายไว้เพื่อตรวจสอบข้อมูลที่ขาดหาย

ตรวจสอบความเข้าใจ

คุณต้องการแสดงรายชื่อผู้ใช้ทุกคนที่สมัครใช้งาน รวมถึงผู้ที่ไม่เคยสั่งซื้อเลย คุณควรใช้การเชื่อมตารางแบบใด

ทบทวน

INNER JOIN เก็บแถวที่ตรงกันจากทั้งสองฝั่ง ส่วน LEFT JOIN เก็บแถวทั้งหมดจากฝั่งซ้ายและเผยให้เห็นข้อมูลที่ขาดหาย นามแฝงและคอลัมน์ที่ระบุชื่อตารางกำกับช่วยให้คำสั่งสอบถามเป็นระเบียบ

ระวังปัญหาการเพิ่มจำนวนแถวในความสัมพันธ์แบบหนึ่งต่อหลาย ควรรวมค่าล่วงหน้าเพื่อให้ผลรวมถูกต้อง ขั้นถัดไป: คำสั่งสอบถามเกี่ยวกับโคฮอร์ตและฟันเนล

คำถามที่พบบ่อย

บทเรียน “การรวมตารางการตลาด” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การรวมตารางการตลาด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Digital Marketing Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Digital Marketing Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การรวมตารางการตลาด”

เซสชัน ผู้ใช้ และคำสั่งซื้อ คุณปฏิบัติ Digital Marketing Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Digital Marketing Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Digital Marketing Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การรวมตารางการตลาด” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Digital Marketing Academy นี้ได้ไหม

ได้ บทเรียน Digital Marketing Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เหตุผลที่นักการตลาดเรียน SQL
  2. SELECT, WHERE, GROUP BY
  3. การรวมตารางการตลาด
  4. คิวรีกลุ่ม Cohort และกรวย
← กลับไปที่ Digital Marketing Academy