การจับคู่คุกกี้

การจับคู่คุกกี้ในระดับสูงเป็นกระบวนการที่ผู้ลงโฆษณาหรือผู้ให้บริการเชื่อมโยงคุกกี้ในโดเมนของตนกับคุกกี้ในโดเมนของ Google การจับคู่คุกกี้เหล่านี้ช่วยให้คุณเชื่อมต่อข้อมูลจากบุคคลที่หนึ่งที่คุณเป็นเจ้าของกับข้อมูลโฆษณาของ Google (ติดตามผ่าน Display & Video 360 และ Campaign Manager 360) ของผู้ใช้รายเดียวกันได้ ทำให้รวมข้อมูล CRM ได้และทำความเข้าใจพฤติกรรมของผู้ใช้ได้ดีขึ้น การรวมข้อมูลนี้ผ่านการผนวกที่มุ่งเน้นความเป็นส่วนตัวช่วยให้คุณทําสิ่งต่อไปนี้ได้

  • กำหนดกลุ่มเป้าหมายตามรายการที่เฉพาะเจาะจงซึ่งละทิ้งในรถเข็นช็อปปิ้ง หากผู้ใช้ได้โต้ตอบกับโฆษณาและโดเมนของคุณไปแล้ว
  • พิจารณาว่าโฆษณาใดที่จะทำให้เกิดเซสชันที่นานขึ้นบนโดเมนของคุณ
  • วิเคราะห์ประวัติการซื้อที่ผสานรวมกับข้อมูลหลังแคมเปญ

ข้อจำกัดและความเป็นส่วนตัวของผู้ใช้ปลายทาง

แม้การจับคู่คุกกี้จะมีประสิทธิภาพ แต่ก็มีข้อจำกัดบางอย่าง ดังนี้

  • ไม่อนุญาตให้รวมตารางระหว่าง *_match และที่ไม่ใช่ *_match
  • ต้องอาศัยงานด้านวิศวกรรมทั้งจากคุณและ Google
  • คุณอาจไม่สามารถจับคู่ข้อมูลโฆษณา Google ทั้งหมดของคุณได้ อัตราการจับคู่ขึ้นอยู่กับปัจจัยหลายประการ และแตกต่างกันไปตามกรณีการใช้งานและการตั้งค่าฝั่งไคลเอ็นต์ อัตราการจับคู่มักต่ำกว่าที่ผู้ใช้คาดไว้ ผู้ใช้จะมีสิทธิ์ใช้การจับคู่คุกกี้ก็ต่อเมื่อโต้ตอบกับโดเมน และ โฆษณาของคุณเท่านั้น
  • Google จะเริ่มป้อนข้อมูลตารางการจับคู่เมื่อตั้งค่าเรียบร้อยแล้ว ขึ้นอยู่กับความถี่ที่ผู้ใช้เข้าชมเว็บไซต์และรับพิกเซลที่ตรงกัน อาจใช้เวลาหลายเดือนกว่าที่ตารางการจับคู่จะมีข้อมูลผู้ใช้ครบถ้วนและเสถียร
  • คุณจะไม่สามารถเชื่อมโยงผู้ใช้แต่ละรายกับอุปกรณ์หลายเครื่องได้ เว้นแต่คุณมีวิธีเชื่อมต่อผู้ใช้ข้ามอุปกรณ์
  • คุณไม่สามารถจับคู่ผู้ใช้รายเดียวที่ใช้คุกกี้หลายรายการได้ เช่นเดียวกับเมื่อผู้ใช้ล้างคุกกี้
  • งานที่เรียกใช้ในตารางการจับคู่จะเป็นไปตามข้อกำหนดการรวมเดียวกันกับงานอื่นๆ ใน Ads Data Hub อัตราการจับคู่ที่ต่ำรวมกับการเข้าชมโดเมนนานๆ ครั้งอาจทำให้เรียกข้อมูลได้ยาก เนื่องจากผลกระทบโดยรวมของอัตราการจับคู่และข้อกําหนดในการรวม1
  • ตามนโยบายของ Google เกี่ยวกับความเป็นส่วนตัวของผู้ใช้ปลายทาง คุณทำสิ่งต่อไปนี้
    • ไม่ได้รับอนุญาตให้จับคู่ข้อมูลที่มีการลงชื่อเข้าใช้และออกจากระบบของผู้ใช้
    • จับคู่ข้อมูลกับผู้ใช้ที่เลือกไม่ใช้การปรับโฆษณาตามโปรไฟล์ของผู้ใช้ไม่ได้
  • สำหรับเหตุการณ์ใน iOS คุณจะจับคู่ได้เฉพาะข้อมูลที่มาจากแอปใน iOS 14.5 ขึ้นไปจากผู้ใช้ที่ได้รับอนุญาตภายใต้เฟรมเวิร์กความโปร่งใสในการติดตามแอปของ 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

ภาพรวมแบบทีละขั้นตอน

  1. ผู้ใช้เข้าชมหน้าเว็บที่มีแท็กการจับคู่
  2. แท็กจับคู่จะเริ่มต้นชุดการเปลี่ยนเส้นทางไปยังบริการจับคู่ของ Google Marketing Platform, Google Ads และ YouTube คำขอจะมีรหัสหรือคุกกี้ของผู้ใช้รายดังกล่าวจากเว็บไซต์ของคุณ รวมทั้งคุกกี้ของ Google ในพื้นที่รหัสของแต่ละบริการที่ตรงกัน
  3. ระบบจะส่งพิกเซลโปร่งใส 1x1 กลับไปยังเบราว์เซอร์เพื่อยืนยันว่าคำขอได้รับการดำเนินการแล้ว

กระบวนการนี้จะแสดงในแผนภาพต่อไปนี้

รูปภาพแสดงชุดการเปลี่ยนเส้นทางระหว่างเบราว์เซอร์และบริการที่ตรงกัน

ตั้งค่า

กระบวนการตั้งค่าการจับคู่คุกกี้ใน Ads Data Hub มีดังนี้

  1. ติดต่อตัวแทนบัญชีของคุณและแจ้งความสนใจในการจับคู่คุกกี้ ซึ่งจะพูดคุยเรื่องเป้าหมายของคุณและให้ข้อมูลเพิ่มเติมเกี่ยวกับการใช้งานการติดตามพิกเซลในโดเมนของคุณ
  2. ผู้เชี่ยวชาญ Ads Data Hub จะเริ่มการสนทนาอีกรอบเพื่อพูดคุยเรื่องข้อกำหนดทางเทคนิคและกรณีการใช้งาน
  3. ขณะที่คุณติดตั้งใช้งานพิกเซลติดตามและปลายทางข้อผิดพลาด Google จะสร้างตารางการจับคู่ให้คุณ

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

การค้นหาตารางการจับคู่

เมื่อตารางการจับคู่มีข้อมูลเพียงพอสำหรับการตรวจสอบความเป็นส่วนตัว คุณก็พร้อมเรียกใช้การค้นหากับตารางแล้ว

ตารางเดิมสำหรับข้อมูลจากบุคคลที่หนึ่ง (1PD) จะแสดงด้วย my_data ซึ่งรวมถึงข้อมูลส่วนบุคคลที่ระบุตัวบุคคลนั้นได้ (PII) และข้อมูลที่ไม่ใช่ PII การใช้ตารางเดิมจะช่วยปรับปรุงรายงานด้วยข้อมูลเชิงลึกที่มากขึ้น เนื่องจากแสดงข้อมูล 1PD ทั้งหมดในขอบเขตเมื่อเทียบกับตาราง _match

แต่ละตารางในสคีมา Ads Data Hub ที่มีช่อง user_id จะมาพร้อมกับตาราง *_match ตัวอย่างเช่น สำหรับตาราง 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 ซึ่งจัดเก็บคุกกี้เป็น BYTES

คุณควรคำนึงถึงประเภทของช่องเมื่อเขียนข้อความค้นหา โอเปอเรเตอร์การเปรียบเทียบ SQL คาดหวังว่าลิเทอรัลที่คุณกําลังเปรียบเทียบจะเป็นประเภทเดียวกัน คุณอาจต้องเข้ารหัสค่าในตารางก่อนที่จะจับคู่ข้อมูล ทั้งนี้ขึ้นอยู่กับวิธีจัดเก็บ user_id ในตารางข้อมูลจากบุคคลที่หนึ่ง คุณต้องแคสต์คีย์สำหรับการรวมลงใน BYTES เพื่อให้จับคู่ได้สำเร็จ ดังนี้

JOIN ON
  adh.google_ads_impressions_match.external_cookie = CAST(my_data.user_id AS BYTES)

นอกจากนี้ การเปรียบเทียบสตริงใน SQL ยังคำนึงถึงการใช้อักษรตัวพิมพ์ใหญ่ ดังนั้นคุณอาจต้องเข้ารหัสสตริงทั้ง 2 ด้านของการเปรียบเทียบเพื่อให้เปรียบเทียบได้อย่างถูกต้อง

การเข้ารหัส User-ID

เข้ารหัสรหัสผู้ใช้ฝั่งไคลเอ็นต์

เพื่อให้แน่ใจว่ารูปแบบรหัสต่างๆ จะส่งผ่าน URL ได้อย่างปลอดภัย รหัสทั้งหมดต้องมีการเข้ารหัส Base64 ที่ปลอดภัยกับ URL ก่อนที่จะส่ง รหัสที่ถอดรหัส Base64 ที่ปลอดภัยของ URL จะพร้อมใช้งานใน Ads Data Hub ในช่อง external_cookie ดังนั้นคุณจะต้องเลิกทำการเปลี่ยนรูปแบบที่ใช้ก่อนเข้ารหัสเพื่อให้ได้รหัสเดิม

หากรหัสของคุณมีอักขระ 24 ตัว (หรือไบต์) หรือน้อยกว่าเสมอ คุณจะใส่รหัสที่เข้ารหัส Base64 ได้อย่างปลอดภัยกับ URL ในพิกเซลดังที่แสดงในตัวอย่างที่ 1 หากรหัสมีอักขระเกิน 24 ตัว (หรือไบต์) คุณจะต้องแปลงรหัสเป็นการนำเสนอที่มีขนาดไม่เกิน 24 ไบต์ ในบางกรณี (เช่น GUID ในตัวอย่างที่ 2) ก็อาจมีการแปลงเป็นค่าแทนไบต์ ในกรณีอื่นๆ คุณอาจต้องส่งชุดย่อย (หรือแฮช) ของรหัสไปให้ Google โปรดทราบว่าไม่ว่าจะในกรณีใด คุณจะต้องตรวจสอบว่าสามารถเขียน SQL JOIN ซึ่งจะแปลงรหัสในตารางบุคคลที่หนึ่งได้ในลักษณะเดียวกัน

ตัวอย่างที่ 1

ค่ารหัสผู้ใช้จะต่ำกว่าขีดจำกัดความยาว 24 ไบต์เสมอ Ads Data Hub ขอแนะนำให้คุณส่ง User-ID ไปยัง 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 แนะนําการเปลี่ยนรูปแบบต่อไปนี้เมื่อจับคู่

  1. UUID จะจัดรูปแบบเป็นสตริงที่มี 36 อักขระ
  2. UUID ถอดรหัสเลขฐานสิบหก
  3. UUID จะอยู่ในรูปแบบไบต์
  4. ไบต์การเข้ารหัส Base64 ที่ปลอดภัยกับ URL
  5. 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 จะมีรหัสของคุณเป็นค่าไบต์ โปรดเปลี่ยนรูปแบบต่อไปนี้หากต้องการสร้างรหัสเดิมใหม่

  1. external_cookie มีรูปแบบเป็นไบต์
  2. การเข้ารหัสเลขฐานสิบหก external_cookie
  3. external_cookie มีรูปแบบเป็นสตริง

เข้ารหัสรหัสผู้ใช้ใน Ads Data Hub

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

ตัวอย่างต่อไปนี้แสดงวิธีเข้ารหัส UUID และผนวกเข้ากับช่องคุกกี้ภายนอก

JOIN my_data ON imp.external_cookie = FROM_HEX(REPLACE(my_data.uuid, '-', ''))

โปรดทราบว่าคุณแคสต์จำนวนเต็มเป็นไบต์ไม่ได้ หาก User-ID ของคุณเป็นจำนวนเต็ม (ตามตัวอย่างที่ 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)

  1. ตัวอย่างเช่น อัตราการจับคู่ 20% ที่มีผล หมายความว่า คุณต้องการผู้ใช้ 250 คนต่อแถว จึงจะถึงเกณฑ์การรวมผู้ใช้ 50 ราย และเท่ากับ 50 / .2 = 250

  2. การจับคู่ที่ตรงกันในวันหนึ่งๆ อาจมีความล่าช้าถึง 48 ชั่วโมงก่อนที่จะปรากฏในตาราง