
ภาพรวม
เครื่องมือวัด Conversion จะติดตาม Conversion ที่ Google เริ่มต้นผ่านการผสานรวมศูนย์การกระทําอย่างใดอย่างหนึ่งของเรา คุณจำเป็นต้องทำให้การผสานรวมทำงานได้อย่างถูกต้องอยู่เสมอ เนื่องจากอาจส่งผลต่อการจัดอันดับในบางหน้า ทุกครั้งที่ Google สร้าง action_link
ระบบจะแก้ไข URL ที่เจาะจงให้รวมพารามิเตอร์การค้นหาที่ไม่ซ้ำกัน rwg_token
คุณสามารถจัดเก็บโทเค็นและแสดงผลค่าที่เหมาะสมเมื่อผู้ใช้ทำการจองเสร็จสมบูรณ์
ทําตามขั้นตอนต่อไปนี้เพื่อผสานรวมให้เสร็จสมบูรณ์
- แยกวิเคราะห์และจัดเก็บ
rwg_token
- แยกวิเคราะห์และจัดเก็บข้อมูลผู้ขาย
- แสดงค่า
rwg_token
และmerchant_changed
- ทดสอบและยืนยันเครื่องมือวัด Conversion
แยกวิเคราะห์และจัดเก็บ rwg_token
คุณต้องรวบรวมและจัดเก็บ rwg_token
ไว้ไม่เกิน 30 วันนับจากการอ้างอิงครั้งแรกของ Google เพื่อให้การผสานรวมเสร็จสมบูรณ์ ค่า rwg_token
คือสตริงที่เข้ารหัสซึ่งมีข้อมูลเมตาเกี่ยวกับลิงก์และข้อมูลผู้ขายที่สร้าง action_link
นั้น
แยกวิเคราะห์โทเค็น
เมื่อระบบนำผู้ใช้ไปยังหน้าการจอง ระบบจะเพิ่ม rwg_token
ใหม่ต่อท้าย URL ที่ระบุ ในหน้าการจอง คุณต้องแยกวิเคราะห์ค่าโทเค็น
ตัวอย่างต่อไปนี้แสดงวิธีแยกวิเคราะห์ rwg_token
สําหรับการติดตามระดับอุปกรณ์ผ่านเบราว์เซอร์
var query = location.search.substring(1);
var params = query.split('&');
var rwgToken = undefined;
for (var i = 0; i < params.length; ++i) {
var pair = params[i].split('=');
if (pair[0] == 'rwg_token') {
rwgToken = decodeURIComponent(pair[1]);
break;
}
}
โทเค็นต่อท้าย URL ของคุณได้รับการเข้ารหัส โปรดดูตัวอย่าง rwg_token
ต่อไปนี้ ใช้โทเค็นตัวอย่างนี้เพื่อให้แน่ใจว่าคุณแยกวิเคราะห์โทเค็นได้อย่างถูกต้อง พร้อมกับสัญลักษณ์พิเศษ เช่น =
AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==
จัดเก็บโทเค็น
เมื่อจัดเก็บ rwg_token
แล้ว คุณจะใช้เครื่องมือวัด Conversion ได้ 2 ระดับ ดังนี้
- ระดับอุปกรณ์
- ระดับผู้ใช้
คุณสามารถจัดเก็บโทเค็นที่ระดับใดก็ได้ แต่ต้องจัดเก็บโทเค็นเป็นเวลา 30 วันหลังจากการอ้างอิงครั้งแรก
ตัวอย่างต่อไปนี้แสดงเครื่องมือวัด Conversion ระดับอุปกรณ์ คุณสามารถจัดเก็บค่าโทเค็นในเบราว์เซอร์ด้วยคุกกี้ของบุคคลที่หนึ่ง ตัวอย่างนี้สมมติว่าคุณแยกวิเคราะห์ค่าโทเค็นเป็นตัวแปรแล้ว อย่าลืมอัปเดต
rootdomain.com
ด้วยโดเมนของคุณ
if (typeof rwg_token !== 'undefined') {
document.cookie =
"_rwg_token=" + rwg_token + ";max-age=2592000;domain=rootdomain.com ;path=/";
}
ทุกครั้งที่ Google สร้าง action_link
ที่คุณระบุผ่านฟีด ระบบจะแก้ไข URL ให้รวมพารามิเตอร์การค้นหาที่ไม่ซ้ำกัน rwg_token
คุณต้องจัดเก็บโทเค็นนี้และส่งกลับเป็นส่วนหนึ่งของเหตุการณ์ Conversion
จัดเก็บที่ระดับอุปกรณ์
ระดับอุปกรณ์รวมถึงการใช้คุกกี้ของเบราว์เซอร์ พื้นที่เก็บข้อมูลในเครื่อง พื้นที่เก็บข้อมูลในเครื่องของแอป หรือวิธีการอื่นๆ ที่สามารถเก็บโทเค็นไว้ได้ตลอดระยะเวลา 30 วันของกรอบเวลาการระบุแหล่งที่มา ระบบจะจัดเก็บโทเค็นไว้ในอุปกรณ์ของผู้ใช้ ดังนั้น เหตุการณ์ Conversion จึงไม่สามารถระบุแหล่งที่มาได้อย่างถูกต้องหากผู้ใช้ดำเนินการต่อไปนี้
- เปลี่ยนอุปกรณ์ที่ใช้
- ล้างพื้นที่เก็บข้อมูลในเครื่องหรือคุกกี้
- ใช้เบราว์เซอร์แบบส่วนตัวหรือไม่ระบุตัวตน
เมื่อใช้เครื่องมือวัด Conversion ระดับอุปกรณ์ คุณจะต้องติดตั้งใช้งานเหตุการณ์ Conversion อีกครั้งในอุปกรณ์ทุกเครื่องที่รองรับ ซึ่งรวมถึงอุปกรณ์เคลื่อนที่
จัดเก็บที่ระดับผู้ใช้
ระดับผู้ใช้จะเก็บโทเค็นไว้ในฐานข้อมูลแอปพลิเคชันผ่านระบบวิเคราะห์ฝั่งเซิร์ฟเวอร์หรือระบบฝั่งเซิร์ฟเวอร์อื่นๆ ระบบจะจัดเก็บโทเค็นฝั่งเซิร์ฟเวอร์ ดังนั้น เหตุการณ์ Conversion จะยังคงระบุแหล่งที่มาอย่างถูกต้องหลังจากผู้ใช้เข้าสู่ระบบอีกครั้ง
เมื่อใช้เครื่องมือวัด Conversion ระดับผู้ใช้ตามสถาปัตยกรรมของระบบ คุณจะติดตั้งใช้งานเหตุการณ์ Conversion เพียงครั้งเดียวฝั่งเซิร์ฟเวอร์ แล้วนําไปใช้ซ้ำในอุปกรณ์ทั้งหมดที่รองรับได้
รีเฟรชโทเค็น
เมื่อ Google แนะนำผู้ใช้ไปยังผู้ขายรายเดียวกัน ระบบจะแทนที่โทเค็นที่มีอยู่ซึ่งจัดเก็บไว้แล้วด้วยโทเค็นใหม่จากการแนะนำล่าสุด หลังจากการเปลี่ยนโทเค็นแล้ว กรอบเวลาการระบุแหล่งที่มา 30 วันของพื้นที่เก็บข้อมูลโทเค็นจะรีเซ็ต และระบบจะระบุแหล่งที่มาของ Conversion ใหม่ทั้งหมดสำหรับผู้ขายรายนี้ไปยังโทเค็นล่าสุด
โปรดดูรายละเอียดเพิ่มเติมในข้อกําหนดในการระบุแหล่งที่มาของ Conversion
แยกวิเคราะห์และจัดเก็บข้อมูลผู้ขาย
เมื่อระบบนําผู้ใช้ไปยังหน้าการจอง คุณต้องติดตั้งใช้งานตรรกะที่สามารถค้นหาและบันทึกรายละเอียดผู้ขาย โดยทั่วไป พาร์ทเนอร์จะเพิ่มข้อมูลเมตาของผู้ขายหรือ merchant_id
ลงในลิงก์การกระทํา และใช้ข้อมูลดังกล่าวเพื่อระบุและจัดเก็บข้อมูลผู้ขาย
เราขอแนะนําให้คุณจัดเก็บ merchant_id
หรือตัวระบุที่เลือกไว้พร้อมกับ rwg_token
เมื่อผู้ใช้ยืนยันการจอง คุณสามารถอ้างอิงผู้ขายก่อนที่จะส่งคำขอ Conversion ที่สมบูรณ์ได้ เช่นเดียวกับพื้นที่เก็บข้อมูลโทเค็น คุณต้องต้องบันทึกรายละเอียดผู้ขายที่มีโทเค็นเป็นเวลา 30 วันหลังจากการอ้างอิงครั้งแรก
ตัวอย่างต่อไปนี้จะแก้ไข rwg_token
ที่เก็บไว้ก่อนหน้านี้ ระบบจะถือว่าคุณได้แยกวิเคราะห์ข้อมูลผู้ขายจากข้อมูลเมตาใน URL ที่ระบุและบันทึกเป็น merchant_id
หรือจับคู่กับ merchant_id
ที่มีอยู่
if (typeof rwg_token !== 'undefined') {
document.cookie =
"_rwg_token=" + rwg_token + ";_merchant_id=" + merchantid + ";max-age=2592000;domain=rootdomain.com;path=/";
}
แสดงผลค่า rwg_token
และ merchant_changed
เมื่อผู้ใช้ทำการจองที่เริ่มต้นจากการอ้างอิง action_link
เสร็จสมบูรณ์แล้ว คุณจะต้องส่งคําขอ HTTP POST ไปยังปลายทาง Conversion โดยมีปลายทาง 2 รายการ ดังนี้
- สภาพแวดล้อมจริง: https://www.google.com/maps/conversion/collect
- สภาพแวดล้อม Sandbox: https://www.google.com/maps/conversion/debug/collect
เมื่อส่งเหตุการณ์ Conversion คุณต้องต้องระบุ rwg_token
ที่เก็บไว้และค่า merchant_changed
เป็น 1
หรือ 2
ดูรายละเอียดเพิ่มเติมเกี่ยวกับ
merchant_changed
ได้ที่แสดงมูลค่าการเปลี่ยนแปลงของผู้ขาย
เนื้อหา POST ต้องเป็นออบเจ็กต์ที่เข้ารหัส JSON ในรูปแบบต่อไปนี้
{
"conversion_partner_id": "<partnerId>",
"rwg_token": "<rwg_token_val>",
"merchant_changed": "1|2"
}
{
"conversion_partner_id": "XXXXXXX",
"rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==",
"merchant_changed": "2"
}
ตัวอย่างต่อไปนี้มีเครื่องมือวัด Conversion ระดับอุปกรณ์ที่มีคุกกี้ในอุปกรณ์ของผู้ใช้ ซึ่งเขียนด้วย JavaScript
const partnerId = XXXXXXXXXX;
const endpoint = `https://www.google.com/maps/conversion/collect`;
const rwgTokenCookie = document.cookie
.split('; ')
.find(row => row.startsWith('_rwg_token='));
if (typeof rwgTokenCookie !== 'undefined') {
const rwgTokenVal = rwgTokenCookie.split('=')[1];
fetch(endpoint, {
method: "POST",
body: JSON.stringify({
conversion_partner_id: partnerId,
rwg_token: rwgTokenVal,
merchant_changed: merchantChanged
})
});
}
แสดงผลค่าการเปลี่ยนแปลงของผู้ขาย
ระบบจะใช้ค่า merchant_changed
เพื่อระบุว่ามีการเปลี่ยนผู้ขายจากผู้ขายการเปลี่ยนเส้นทางเริ่มต้นหรือไม่ การเปลี่ยนแปลงผู้ขายเป็นเรื่องปกติหากหน้า Landing Page ของคุณอยู่ในแพลตฟอร์มที่มีผู้ขายรายอื่น ในกรณีนี้ หาก Google เป็นผู้นําผู้ใช้ไปยังแพลตฟอร์มของคุณและผู้ใช้ตัดสินใจไปยังผู้ขายรายอื่นเพื่อจองให้เสร็จสมบูรณ์ คุณต้องทราบว่า Conversion เกิดขึ้นกับผู้ขายรายอื่น คุณสามารถใช้บูลีนเพื่อระบุการเปลี่ยนแปลงของผู้ขายได้ แต่จะระบุรายละเอียดผู้ขายไม่ได้
เมื่อเลือกค่าที่จะกำหนดให้กับ merchant_changed
คุณต้องนำผู้ขายเดิมที่บันทึกไว้ในแยกวิเคราะห์และจัดเก็บข้อมูลผู้ขาย ตรวจสอบว่าผู้ขายมีการเปลี่ยนแปลงหรือไม่ แล้วกําหนดค่าตามต้องการ
- ข้อกําหนด: เมื่อผู้ใช้ออกจากเว็บไซต์ของผู้ขายรายแรกและทําการซื้อผ่านแพลตฟอร์มของคุณกับผู้ขายรายอื่นจนเสร็จสมบูรณ์
- ค่าการเปลี่ยนแปลงของผู้ขาย:
1
- ค่าการเปลี่ยนแปลงของผู้ขาย:
- ข้อกําหนด: เมื่อผู้ใช้ทําธุรกรรมผ่านผู้ขายเดิมจนเสร็จสมบูรณ์
- ค่าการเปลี่ยนแปลงของผู้ขาย:
2
- ค่าการเปลี่ยนแปลงของผู้ขาย:
ทดสอบและยืนยันเครื่องมือวัด Conversion
เทสเคสต่อไปนี้ใช้โทเค็นทดสอบที่ระบุไว้ในส่วนโทเค็นทดสอบ โดยมีจุดประสงค์เพื่อช่วยแนะนําคุณผ่านสถานการณ์ต่างๆ ทั้งหมดที่อาจส่งผลให้เกิดเหตุการณ์ Conversion วิธีนี้ช่วยให้มั่นใจว่าระบบจะจัดเก็บโทเค็นอย่างเหมาะสม ตั้งค่า merchant_changed
อย่างถูกต้อง และส่งเหตุการณ์ Conversion เมื่อเหมาะสม
ใช้ลิงก์การดําเนินการหรือ URL ของหน้าการจองที่ระบุไว้ในฟีด แล้วเรียกใช้แต่ละกรณีทดสอบโดยต่อท้าย Test Tokens ต่อท้าย URL โปรดใช้หน้าต่างเบราว์เซอร์ส่วนตัวหรือโหมดไม่ระบุตัวตน ซึ่งจะล้างโทเค็นที่มีอยู่ซึ่งเชื่อมโยงกับผู้ใช้ปัจจุบันและช่วยให้คุณทำงานได้อย่างราบรื่น
Test Case | คำอธิบายการทดสอบ | User Flow | ผลลัพธ์ที่คาดหวัง |
---|---|---|---|
1 | ผู้ใช้ทำการจองที่ไม่ได้เริ่มต้นใน Google จนเสร็จสมบูรณ์ | ผู้ใช้ไปยังหน้าการจองโดยตรงโดยไม่มีการอ้างอิงจาก Google หรือการอ้างอิงที่มีอยู่ ซึ่งไม่ควรส่งผลให้เกิดเหตุการณ์ Conversion | ไม่มีเหตุการณ์ Conversion เนื่องจากผู้ใช้ไม่เคยเข้าชมหน้าการจองมาก่อนหรือ Google ไม่ได้เป็นผู้แนะนำ |
2 | ผู้ใช้ทำการจองที่มาจาก Google จนเสร็จสมบูรณ์ | ผู้ใช้พบผู้ขายผ่าน Google ระบบจะนําผู้ใช้ไปยังหน้าการจองและผู้ใช้ทำการจอง | ระบบจะส่งเหตุการณ์ Conversion ที่มีค่า Token A และ merchant changed เป็น 2 เนื่องจาก Google นําผู้ใช้ไปยังหน้าการจอง |
3 | ผู้ใช้ (ที่มาจาก Google) เริ่มขั้นตอนการจอง แต่ออกจากเซสชันไปก่อนที่การจองจะเสร็จสมบูรณ์ หมายเหตุ: เปิดเซสชันนี้ไว้สําหรับการทดสอบที่ 4 และ 5 |
ระบบนําผู้ใช้ไปยังหน้าการจอง แต่เซสชันสิ้นสุดลงและผู้ใช้ไม่ได้จองให้เสร็จสมบูรณ์ | ไม่มี Conversion เนื่องจากผู้ใช้ไม่ได้ทำการจองให้เสร็จสมบูรณ์ แต่ควรจัดเก็บ Token B เป็นเวลา 30 วัน |
4 | ผู้ใช้กลับมาที่หน้าการจองโดยไม่ได้มาจาก Google และทำการจองให้เสร็จสมบูรณ์ หมายเหตุ: URL ของขั้นตอนการจองต้องไม่มี rwg_token |
ผู้ใช้กลับมาที่หน้าการจองหลังจากการทดสอบ #4 โทเค็น ขควรจัดเก็บไว้ 30 วัน และ Conversion ที่เกิดขึ้นในช่วง 30 วันดังกล่าวควรแสดงเหตุการณ์ Conversion | ระบบจะส่งเหตุการณ์ Conversion ที่มีค่า Token B และผู้ขายที่เปลี่ยนแปลงเป็น 2 เนื่องจากผู้ใช้กลับมาที่หน้าการจองหลังจากได้รับการอ้างอิงจาก Google ก่อนหน้านี้ |
5 | ผู้ใช้ทำการจองใหม่ซึ่งมาจาก Google ให้เสร็จสมบูรณ์หลังจากการทดสอบ #4 | หากผู้ใช้กลับมาที่หน้าการจองโดยใช้การอ้างอิงจาก Google หลังจากการอ้างอิงจาก Google ก่อนหน้า กรอบเวลาการจัดเก็บข้อมูล 30 วันของผู้ใช้จะรีเซ็ตและโทเค็นใหม่ โทเค็น C จะแทนที่โทเค็นเก่า โทเค็น B จากนั้น Conversion ทั้งหมดในอนาคตจะมาจาก Token C | ระบบจะส่งเหตุการณ์ Conversion ที่มีค่า Token C และผู้ขายมีการเปลี่ยนแปลงเป็น 2 เนื่องจากผู้ใช้จองห้องพักเสร็จสมบูรณ์แล้ว และโทเค็นใหม่เข้ามาแทนที่โทเค็นที่เก็บไว้ก่อนหน้านี้ |
หากคุณมีแพลตฟอร์มที่ผู้ใช้ชำระเงินกับผู้ขายรายอื่นได้ ให้ทดสอบสิ่งต่อไปนี้
Test Case | คำอธิบายการทดสอบ | User Flow | ผลลัพธ์ที่คาดหวัง |
---|---|---|---|
6 | Google แนะนำผู้ใช้ไปยังหน้าการจองของคุณและผู้ใช้ทำการจองกับผู้ขายรายอื่นจนเสร็จสมบูรณ์ | Google แนะนำผู้ใช้ไปยังหน้าการจองของคุณ โดยใช้ Token A แต่ก่อนที่จะทำการจอง ผู้ใช้ไปยังหน้าอื่นและทำการจองกับผู้ขายที่แตกต่างจากการอ้างอิงเดิม | ระบบจะส่งเหตุการณ์ Conversion เนื่องจากผู้ใช้ทำการจองที่มาจากคำแนะนําจาก Google ด้วย Token A และค่า merchant changed เป็น 1 จนเสร็จสมบูรณ์ เนื่องจากผู้ใช้ทำการจองในผู้ขายรายอื่นนอกเหนือจากการอ้างอิง |
ขณะทดสอบ ให้ส่งคําขอ HTTP POST ไปยังปลายทาง Conversion โดยมีปลายทาง 2 รายการ ดังนี้
- สภาพแวดล้อมจริง: https://www.google.com/maps/conversion/collect
- สภาพแวดล้อมของกล่องทดสอบ: https://www.google.com/maps/conversion/debug/collect
โทเค็นทดสอบ
หากต้องการทดสอบเครื่องมือวัด Conversion ให้เพิ่มโทเค็นทดสอบรายการใดรายการหนึ่งต่อไปนี้ลงในส่วนท้ายของลิงก์การกระทําหรือ URL ของหน้าการจองที่คุณระบุในฟีด
โทเค็น ก:
rwg_token=AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ%3D%3D
โทเค็น ข:
rwg_token=AJKvS9U2QfiQanHFQrlJxBjD0AyFany3qpaJVEWOcY4nHqY_UkLYFFDj6RIa-EXS1iEmV8gtFPG6v1cU1jnusJK66ijXXnaqkQ%3D%3D
โทเค็น C:
rwg_token=AJKvS9VwInjZ_hGZPvBz0COVWJ5oFDzocFt9hGi7TMurlo2l71uiXP48PspPUMmRnqCUDE1mF_A5H_dMV78cBTF8jIfSQK6lEA%3D%3D
เมื่อส่งเหตุการณ์ Conversion ที่สำเร็จแล้ว คุณจะดูเหตุการณ์เหล่านั้นแบบรวมได้ในศูนย์การดำเนินการในส่วนแดชบอร์ดการติดตาม Conversion
ข้อกําหนดในการระบุแหล่งที่มาของ Conversion
มาตรฐานที่จําเป็นสําหรับการระบุแหล่งที่มาของ Conversion ของ Google คือกรอบเวลาการระบุแหล่งที่มา 30 วันสําหรับการโต้ตอบกับลิงก์การกระทําที่สถานที่ตั้งในร้านค้าใดก็ได้
กรอบเวลาการระบุแหล่งที่มานี้หมายความว่า Google จะคาดหวังว่าจะมีการส่งเหตุการณ์ Conversion ในสถานการณ์ต่อไปนี้
- ผู้ใช้ติดตามลิงก์การกระทําในสถานที่และสั่งซื้อจากผู้ขายรายเดียวกันในเซสชันเดียวกัน ค่าการเปลี่ยนแปลงของผู้ขาย = 2
- ผู้ใช้ไปที่ลิงก์การกระทําในสถานที่ จากนั้นกลับมาจากแชแนลอื่นภายในกรอบเวลาการระบุแหล่งที่มา 30 วันเพื่อสั่งซื้อจากผู้ขายรายเดียวกัน ค่าการเปลี่ยนแปลงของผู้ขาย = 2
- ผู้ใช้ติดตามลิงก์การกระทําในสถานที่ จากนั้นสั่งซื้อที่ร้านค้าอื่นภายในเซสชันเดียวกันหรือเซสชันอื่นภายในกรอบเวลาการระบุแหล่งที่มา 30 วัน ค่าการเปลี่ยนแปลงของผู้ขาย = 1
นอกจากนี้ Google คาดว่าจะส่งเหตุการณ์ Conversion จากอุปกรณ์ใดก็ได้ที่ผู้ใช้เข้าถึงผ่านลิงก์การกระทําที่ถือเป็น Conversion อุปกรณ์เหล่านี้ ได้แก่
- แอปพลิเคชันเว็บบนเดสก์ท็อปหรืออุปกรณ์เคลื่อนที่
- แอปบนอุปกรณ์เคลื่อนที่ผ่าน Deep Link ของแอปหรือ Intent ของแอปที่ลงทะเบียนไว้สำหรับโดเมนของคุณ
หากจัดเก็บโทเค็นที่ระดับผู้ใช้ คุณควรระบุการระบุแหล่งที่มาจากหลายอุปกรณ์ ดูข้อมูลเพิ่มเติมได้ที่จัดเก็บที่ระดับผู้ใช้ ในกรณีนี้ ผู้ใช้ที่ไปยังลิงก์การกระทําจากเดสก์ท็อป แล้วทําธุรกรรมในอุปกรณ์เคลื่อนที่ด้วยบัญชีผู้ใช้เดียวกันจนเสร็จสมบูรณ์จะต้องทริกเกอร์เหตุการณ์ Conversion
หากมีการเก็บโทเค็นไว้ที่ระดับอุปกรณ์เท่านั้น เช่น ในคุกกี้เบราว์เซอร์ คุณไม่จําเป็นต้องระบุการระบุแหล่งที่มาข้ามอุปกรณ์ ในกรณีนี้ อุปกรณ์แต่ละเครื่องอาจมีโทเค็นแยกต่างหาก หากผู้ใช้ไปยังลิงก์การกระทําในอุปกรณ์นั้น และอุปกรณ์แต่ละเครื่องสามารถปฏิบัติตามกฎการระบุแหล่งที่มาแยกกันได้