ในระดับสูง การจับคู่คุกกี้คือกระบวนการที่ผู้ลงโฆษณาหรือผู้ให้บริการเชื่อมโยงคุกกี้ในโดเมนของตนกับคุกกี้ในโดเมนของ Google การจับคู่คุกกี้เหล่านี้ช่วยให้คุณเชื่อมต่อข้อมูลบุคคลที่หนึ่งที่คุณเป็นเจ้าของกับข้อมูลโฆษณา Google (ติดตามผ่าน Display & Video 360 และ Campaign Manager 360) ในผู้ใช้รายเดียวกัน ซึ่งจะช่วยให้คุณรวมข้อมูล CRM และทําความเข้าใจพฤติกรรมของผู้ใช้ได้ดียิ่งขึ้น การรวมข้อมูลนี้ผ่านการรวมที่เน้นความเป็นส่วนตัวจะช่วยให้คุณทําสิ่งต่อไปนี้ได้
- กําหนดเป้าหมายกลุ่มเป้าหมายตามสินค้าที่ละทิ้งในรถเข็นช็อปปิ้ง หากผู้ใช้เหล่านั้นโต้ตอบกับโฆษณาและโดเมนของคุณ
- พิจารณาว่าโฆษณาใดทําให้เซสชันในโดเมนนานขึ้น
- วิเคราะห์ประวัติการซื้อที่รวมกับข้อมูลหลังแคมเปญ
ข้อจํากัดและความเป็นส่วนตัวของผู้ใช้ปลายทาง
แม้ว่าการจับคู่คุกกี้จะมีประสิทธิภาพ แต่ก็มีข้อจํากัดบางอย่าง ดังนี้
- ไม่อนุญาตให้ใช้การรวมระหว่างตาราง
*_match
กับตารางที่ไม่ใช่*_match
- ซึ่งต้องใช้งานวิศวกรรมจากทั้งคุณและ Google
- คุณอาจจับคู่ข้อมูลโฆษณา Google ทั้งหมดไม่ได้ อัตราการจับคู่ขึ้นอยู่กับปัจจัยหลายอย่าง และแตกต่างกันไปตามกรณีการใช้งานและการตั้งค่าฝั่งไคลเอ็นต์ อัตราการจับคู่มักต่ำกว่าที่ผู้ใช้คาดไว้ ผู้ใช้จะมีสิทธิ์ใช้การจับคู่คุกกี้ก็ต่อเมื่อโต้ตอบกับโดเมน และ โฆษณาของคุณเท่านั้น
- Google จะเริ่มป้อนข้อมูลในตารางการจับคู่เมื่อตั้งค่าแล้ว อาจใช้เวลาหลายเดือนก่อนที่ตารางการจับคู่จะมีข้อมูลผู้ใช้ที่สมบูรณ์และเสถียร ทั้งนี้ขึ้นอยู่กับความถี่ที่ผู้ใช้เข้าชมเว็บไซต์และได้รับพิกเซลที่ตรงกัน
- คุณจะเชื่อมโยงผู้ใช้แต่ละรายกับอุปกรณ์หลายเครื่องไม่ได้ เว้นแต่จะมีวิธีเชื่อมต่อผู้ใช้ในอุปกรณ์ต่างๆ
- คุณไม่สามารถจับคู่ผู้ใช้รายเดียวโดยใช้คุกกี้หลายรายการได้ ดังที่จะเกิดขึ้นเมื่อผู้ใช้ล้างคุกกี้
- งานที่ใช้ตารางการจับคู่จะเป็นไปตามข้อกําหนดการรวบรวมเดียวกันกับงานอื่นๆ ใน Ads Data Hub อัตราการจับคู่ที่ต่ำร่วมกับการเข้าชมโดเมนของคุณไม่บ่อยนักอาจทําให้รับข้อมูลได้ยาก สาเหตุคือผลรวมของอัตราการจับคู่และข้อกําหนดการรวม1
- คุณจะดำเนินการต่อไปนี้ได้ตามความสอดคล้องกับนโยบายของ Google เกี่ยวกับความเป็นส่วนตัวของผู้ใช้ปลายทาง
- ไม่ได้รับอนุญาตให้จับคู่ข้อมูลของผู้ใช้ที่ลงชื่อเข้าใช้และออกจากระบบ
- ไม่สามารถจับคู่ข้อมูลกับผู้ใช้ที่เลือกไม่ใช้การปรับโฆษณาตามโปรไฟล์ของผู้ใช้
- สําหรับเหตุการณ์ใน iOS คุณจะจับคู่ได้เฉพาะข้อมูลจากแอปใน iOS 14.5 ขึ้นไปจากผู้ใช้ที่อนุญาตให้ใช้ภายใต้เฟรมเวิร์ก App Tracking Transparency ของ Apple
การยอมรับความยินยอมของบุคคลที่หนึ่ง
คุณต้องยืนยันว่าได้รับความยินยอมอย่างเหมาะสมในการแชร์ข้อมูลจากผู้ใช้ปลายทางใน EEA กับ Google ตามนโยบายความยินยอมของผู้ใช้ EU และนโยบาย Ads Data Hub เพื่อให้ใช้ข้อมูลจากบุคคลที่หนึ่งใน Ads Data Hub ได้ ข้อกําหนดนี้มีผลกับบัญชี Ads Data Hub แต่ละบัญชี และต้องอัปเดตทุกครั้งที่คุณอัปโหลดข้อมูลจากบุคคลที่หนึ่งใหม่ ผู้ใช้รายใดก็ได้สามารถรับทราบในนามของทั้งบัญชี
โปรดทราบว่ากฎการค้นหาบริการของ Google เดียวกันกับที่ใช้กับคำค้นหาการวิเคราะห์จะมีผลกับคำค้นหาที่ตรงกับคุกกี้ด้วย เช่น คุณไม่สามารถเรียกใช้การค้นหาข้ามบริการกับผู้ใช้ใน EEA เมื่อสร้างตารางการจับคู่
ดูวิธีรับความยินยอมใน Ads Data Hub ได้ที่ข้อกําหนดด้านความยินยอมสําหรับเขตเศรษฐกิจยุโรป
วิธีการทำงานของการจับคู่คุกกี้
คุณต้องแสดงแท็กการทำงานของคีย์เวิร์ดในทุกหน้าของโดเมนที่คุณต้องการจับคู่ข้อมูลการโฆษณาเพื่อให้ Google ป้อนข้อมูลตารางการทำงานของคีย์เวิร์ด ตําแหน่งที่จะวางพิกเซลจะขึ้นอยู่กับเป้าหมายการโฆษณา เช่น คุณอาจต้องการพยายามจับคู่ผู้ใช้ทุกคนที่เข้าชมโดเมน (ต้องใช้พิกเซลในเกือบทุกหน้า) หรือจับคู่ผู้ใช้ที่ทํา Conversion (ต้องใช้พิกเซลในหน้า Conversion) โดยทั่วไปแล้ว พิกเซลที่แพร่หลายมากขึ้นจะทําให้อัตราการจับคู่สูงขึ้น
แท็กการทำงานของคุกกี้คือพิกเซลขนาด 1x1 แบบโปร่งใส ซึ่งมีรหัสโปรไฟล์การจับคู่คุกกี้และรหัสผู้ใช้หรือรหัสคุกกี้ที่เข้ารหัส
<img src="https://cm.g.doubleclick.net/pixel?google_nid=adh_customername&google_hm=Q29va2llIG51bWJlciAxIQ" />
แท็กการทํางานร่วมกันนี้เป็นจุดเริ่มต้นการสื่อสารระหว่างคุณกับบริการการทํางานร่วมกันของคุกกี้ของ Google
ภาพรวมแบบทีละขั้นตอน
- ผู้ใช้เข้าชมหน้าเว็บที่มีแท็กการทำงานของคีย์เวิร์ด
- แท็กการทำงานของคีย์เวิร์ดจะเริ่มต้นชุดการเปลี่ยนเส้นทางไปยังบริการการทำงานของคีย์เวิร์ดของ Google Marketing Platform, Google Ads และ YouTube คําขอมีรหัสหรือคุกกี้ของผู้ใช้จากเว็บไซต์ของคุณ รวมถึงคุกกี้ Google ในพื้นที่รหัสของบริการที่ตรงกันแต่ละรายการ
- ระบบจะแสดงผลพิกเซลขนาด 1x1 แบบโปร่งใสในเบราว์เซอร์เพื่อยืนยันว่าคำขอได้รับการดำเนินการแล้ว
กระบวนการนี้แสดงในแผนภาพต่อไปนี้
ตั้งค่า
กระบวนการตั้งค่าการจับคู่คุกกี้ใน Ads Data Hub มีดังนี้
- ติดต่อตัวแทนฝ่ายดูแลลูกค้าและแจ้งความประสงค์ในการจับคู่คุกกี้ ผู้เชี่ยวชาญจะพูดคุยเกี่ยวกับเป้าหมายของคุณและแจ้งข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งใช้งานพิกเซลการติดตามในโดเมน
- ผู้เชี่ยวชาญของ Ads Data Hub จะเริ่มต้นการสนทนาอีกรอบเพื่อพูดคุยเกี่ยวกับข้อกําหนดทางเทคนิคและกรณีการใช้งาน
- ขณะที่คุณติดตั้งใช้งานพิกเซลการติดตามและปลายทางข้อผิดพลาด Google จะสร้างตารางการจับคู่
เมื่อทำตามขั้นตอนเหล่านี้เสร็จแล้ว คุณไม่จำเป็นต้องดำเนินการใดๆ ในทันที Google จะป้อนข้อมูลตารางการจับคู่ทุกวัน2 คุณจึงต้องรอให้เวลาผ่านไปพอสมควรก่อนที่ตารางจะมีข้อมูลเพียงพอที่จะให้การจับคู่ที่สื่อความหมายและเป็นไปตามข้อกําหนดการรวม ขึ้นอยู่กับความถี่ที่ผู้ใช้เข้าชมเว็บไซต์ เว็บไซต์ที่มีผู้เข้าชมรายวันจะถึงจุดนี้เร็วกว่าเว็บไซต์ที่มีผู้เข้าชมรายเดือน เมื่อจำนวนการจับคู่ใหม่สุทธิลดลง ตารางการจับคู่จะมีข้อมูลที่ครอบคลุมมากขึ้น
การค้นหาตารางที่ตรงกัน
เมื่อตารางการจับคู่มีข้อมูลเพียงพอที่จะผ่านการตรวจสอบความเป็นส่วนตัวแล้ว คุณก็พร้อมที่จะเรียกใช้การค้นหากับตาราง
ตารางเดิมสําหรับข้อมูลจากบุคคลที่หนึ่ง (1PD) จะแสดงด้วย my_data
ซึ่งรวมถึงทั้งข้อมูลส่วนบุคคลที่ระบุตัวบุคคลนั้นได้ (PII) และข้อมูลที่ไม่ใช่ PII
การใช้ตารางเดิมจะช่วยปรับปรุงรายงานด้วยข้อมูลเชิงลึกเพิ่มเติม เนื่องจากแสดงข้อมูล 1PD ทั้งหมดในขอบเขต เมื่อเปรียบเทียบกับตารางการจับคู่
แต่ละตารางในสคีมา Ads Data Hub ที่มีช่อง user_id
จะมีตารางการจับคู่ เช่น สําหรับตาราง adh.google_ads_impressions
แล้ว Ads Data Hub จะสร้างตารางการจับคู่ที่ชื่อ adh.google_ads_impressions_match
ซึ่งมีรหัสผู้ใช้ด้วย
ระบบจะสร้างตารางการจับคู่แยกต่างหากสําหรับตารางที่แยกนโยบาย ตัวอย่างเช่น สําหรับตาราง adh.google_ads_impressions_policy_isolated_youtube
Ads Data Hub จะสร้างตารางการจับคู่ชื่อ adh.google_ads_impressions_policy_isolated_youtube_match
ที่มีรหัสผู้ใช้ด้วย
ตารางเหล่านี้มีชุดย่อยของผู้ใช้ที่มีอยู่ในตารางเดิม ซึ่งมีการจับคู่ใน user_id
เช่น หากตารางต้นฉบับมีข้อมูลของผู้ใช้ ก และผู้ใช้ ข แต่มีเพียงผู้ใช้ ก ที่ตรงกัน ผู้ใช้ ข จะไม่อยู่ในตารางการจับคู่
ตารางการจับคู่จะมีคอลัมน์เพิ่มเติมชื่อ external_cookie
ซึ่งจะจัดเก็บตัวระบุผู้ใช้เป็นไบต์
คุณควรคำนึงถึงประเภทของช่องเมื่อเขียนการค้นหา โอเปอเรเตอร์การเปรียบเทียบของ SQL จะคาดหวังว่าค่าคงที่ที่คุณเปรียบเทียบจะเป็นประเภทเดียวกัน คุณอาจต้องเข้ารหัสค่าในตารางก่อนจับคู่ข้อมูล ทั้งนี้ขึ้นอยู่กับวิธีจัดเก็บ user_id
ในตารางข้อมูลจากบุคคลที่หนึ่ง
คุณต้องแคสต์คีย์การเข้าร่วมเป็น BYTES เพื่อให้การจับคู่สําเร็จ
JOIN ON
adh.google_ads_impressions_match.external_cookie = CAST(my_data.user_id AS BYTES)
นอกจากนี้ การเปรียบเทียบสตริงใน SQL จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ คุณจึงอาจต้องเข้ารหัสสตริงทั้ง 2 ด้านของการเปรียบเทียบเพื่อให้เปรียบเทียบได้อย่างถูกต้อง
การเข้ารหัสรหัสผู้ใช้
เข้ารหัสรหัสผู้ใช้ฝั่งไคลเอ็นต์
รหัสทั้งหมดต้องเข้ารหัส Base64 ซึ่งใช้กับ URL ได้ก่อนที่จะส่ง เพื่อให้มั่นใจว่ารูปแบบรหัสต่างๆ จะส่งผ่าน URL ได้อย่างปลอดภัย รหัส Base64 ที่ถอดรหัสซึ่งใช้ได้กับ URL จะแสดงใน Ads Data Hub ในช่อง external_cookie
คุณจึงต้องเลิกทำการเปลี่ยนรูปแบบที่ใช้ก่อนการเข้ารหัสเพื่อดึงรหัสเดิม
หากรหัสของคุณมีความยาวไม่เกิน 24 อักขระ (หรือไบต์) เสมอ คุณสามารถใส่รหัสที่เข้ารหัส Base64 ที่เข้ากันได้กับ URL ไว้ในพิกเซลได้ ดังที่แสดงในตัวอย่างที่ 1 หากรหัสมีความยาวมากกว่า 24 อักขระ (หรือไบต์) คุณจะต้องเปลี่ยนรหัสให้อยู่ในรูปแบบที่มีความยาวไม่เกิน 24 ไบต์ ในบางกรณี (เช่น GUID ในตัวอย่างที่ 2) ปัญหาอาจอยู่ที่การแปลงเป็นรูปแบบไบต์ ในกรณีอื่นๆ คุณอาจต้องส่งชุดย่อย (หรือแฮช) ของบัตรประจำตัวให้ Google โปรดทราบว่าไม่ว่าในกรณีใด คุณจะต้องตรวจสอบว่าสามารถเขียน SQL JOIN ซึ่งจะแปลงรหัสในตารางของบุคคลที่หนึ่งด้วยวิธีเดียวกัน
ตัวอย่างที่ 1
ค่ารหัสผู้ใช้จะไม่เกินขีดจำกัดความยาว 24 ไบต์เสมอ Ads Data Hub ขอแนะนําให้คุณส่งรหัสผู้ใช้ไปยัง ADH โดยตรง (หลังจากเข้ารหัสเป็น Base64 ที่ปลอดภัยสําหรับ URL เพื่อวัตถุประสงค์ในการนําส่ง URL)
var userId = 'abcdef123456789';
// Encode the string (or number) in normal base64.
var userIdBase64 = btoa(userId);
// Ensure that the uploaded user IDs use web-safe Base64 encoding.
userIdBase64 = userIdBase64.replace(/\+/g, '-').replace(/\//g, '_')
.replace(/=+$/, '');
// After encoding the UUID correctly, you can create the request tag and
// insert it into the DOM.
var imgElement = Document.createElement('img');
imgElement.src =
'https://cm.g.doubleclick.net/pixel?google_nid=adh_customername&google_hm='
+ userIdBase64;
document.body.appendChild(imgElement);
ตัวอย่างที่ 2
คุณกําหนดค่าตัวระบุที่ไม่ซ้ำกัน (UUID) สากลเป็นรหัสผู้ใช้ เช่น
123e4567-e89b-12d3-a456-426655440000
Ads Data Hub แนะนําการเปลี่ยนรูปแบบต่อไปนี้เมื่อจับคู่
- UUID มีการจัดรูปแบบเป็นสตริง 36 อักขระ
- ถอดรหัส UUID เป็นเลขฐานสิบหก
- UUID มีการจัดรูปแบบเป็นไบต์
- ไบต์ที่เข้ารหัส Base64 ที่ปลอดภัยสำหรับ URL
- UUID มีการจัดรูปแบบเป็นสตริง
ซึ่งสามารถติดตั้งใช้งานได้ด้วยโค้ดต่อไปนี้
JavaScript
var userId = '123e4567-e89b-12d3-a456-426655440000';
// A helper function for converting a hex string to a byte array.
function strToBytes(str) {
for (var bytes = [], i = 0; i < str.length; i += 2) {
bytes.push(parseInt(str.substr(i, 2), 16));
}
return bytes;
}
// Remove the formatting dashes from the UUID.
userId = userId.replace(/-/g, '');
// Encode the hex string as a byte array.
var userIdBytes = strToBytes(userId);
// Encode the byte array in normal base64.
var userIdBase64 = btoa(String.fromCharCode(...new Uint8Array(userIdBytes)));
// Ensure that the uploaded user IDs use web-safe Base64 encoding.
userIdBase64 = userIdBase64.replace(/\+/g, '-').replace(/\//g, '_').replace(
/=+$/, '');
// After encoding the UUID correctly, you can create the request tag and
// insert it into the DOM.
var imgElement = Document.createElement('img');
imgElement.src =
'https://cm.g.doubleclick.net/pixel?google_nid=adh_customername&google_hm='
+ userIdBase64;
document.body.appendChild(imgElement);
Python
import base64
user_id = '123e4567-e89b-12d3-a456-426655440000'
user_id_as_bytes = bytes.fromhex(user_id.replace('-', ''))
base64.urlsafe_b64encode(user_id_as_bytes)
หากตรงกับรหัสผู้ใช้ Google ช่อง external_cookie
จะมีรหัสของคุณเป็นค่าไบต์ หากต้องการสร้างรหัสเดิมขึ้นมาใหม่ คุณต้องทำการเปลี่ยนรูปแบบต่อไปนี้
external_cookie
มีการจัดรูปแบบเป็นไบต์- การเข้ารหัสฐานสิบหก
external_cookie
external_cookie
มีการจัดรูปแบบเป็นสตริง
เข้ารหัสรหัสผู้ใช้ใน Ads Data Hub
หากคุณจัดเก็บสตริง UUID ในช่องในข้อมูลจากบุคคลที่หนึ่ง คุณจะต้องแปลงสตริงเป็นไบต์ ดังตัวอย่างด้านบน เพื่อให้ผสานข้อมูลได้สําเร็จ
ตัวอย่างต่อไปนี้แสดงวิธีเข้ารหัส UUID และรวมไว้ในช่องคุกกี้ภายนอก
JOIN my_data ON imp.external_cookie = FROM_HEX(REPLACE(my_data.uuid, '-', ''))
โปรดทราบว่าคุณไม่สามารถแคสต์จำนวนเต็มเป็นไบต์ได้ หากรหัสผู้ใช้เป็นจำนวนเต็ม (เช่น ในตัวอย่างที่ 1 ด้านบน) คุณจะต้องแคสต์เป็นสตริงก่อน ดังนี้
JOIN my_data ON imp.external_cookie = CAST(CAST(my_data.user_id AS STRING) AS BYTES)
โปรดทราบว่าการเข้ารหัสที่จําเป็นเพื่อจับคู่ข้อมูลจะเจาะจงกับวิธีจัดเก็บและวิธีเข้ารหัสข้อมูลก่อนส่งไปยัง Ads Data Hub
ดูข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันสตริงใน BigQuery SQL
ตัวอย่างการค้นหา
ตัวอย่างต่อไปนี้จะรวมข้อมูลจากบุคคลที่หนึ่งเข้ากับ google_ads_impressions_match
จากนั้นรวมผลลัพธ์เหล่านี้เข้ากับ adh_google_ads_impressions
ในการค้นหาครั้งที่ 2
SELECT
imp.campaign_id as campaign_id,
sum(my_data.recent_orders) as orders,
average(my_data.lifetime_value) as ltv
FROM
adh.google_ads_impressions_match as imp
LEFT JOIN
my_data ON imp.external_cookie = my_data.company_guest_id_bytes
GROUP BY
campaign_id
เมื่อบันทึกผลการค้นหาก่อนหน้าเป็น previous_results
แล้ว คุณจะเข้าร่วม google_ads_impressions
ได้ ซึ่งจะเพิ่มข้อมูลเกี่ยวกับแคมเปญที่มีการแสดงผล 0 ครั้งลงในผลลัพธ์
SELECT
campaign_id,
COALESCE(orders, 0) as orders,
COALESCE(ltv, 0) as ltv,
FROM (SELECT DISTINCT campaign_id
FROM adh.google_ads_impressions)
LEFT JOIN previous_results USING (campaign_id)