การรองรับ GDPR ของ IAB

ภายใต้นโยบายความยินยอมของผู้ใช้ EU ของ Google คุณต้องเปิดเผยข้อมูลบางอย่างต่อผู้ใช้ในเขตเศรษฐกิจยุโรป (EEA) และสหราชอาณาจักร และต้องได้รับความยินยอมในการใช้คุกกี้หรือพื้นที่เก็บข้อมูลอื่นในเครื่องในกรณีที่กฎหมายกำหนด รวมถึงการใช้ข้อมูลส่วนตัว (เช่น AdID) เพื่อแสดงโฆษณา นโยบายนี้เป็นผลมาจากข้อกำหนดด้าน ePrivacy และกฎระเบียบให้ความคุ้มครองข้อมูลส่วนบุคคลของผู้บริโภค (GDPR) ของสหภาพยุโรป

คู่มือนี้จะอธิบายขั้นตอนที่จําเป็นเพื่อรองรับข้อความ TCF เวอร์ชัน 2 ของ GDPR IAB ซึ่งเป็นส่วนหนึ่งของ UMP SDK คู่มือนี้มีไว้เพื่อใช้ร่วมกับเริ่มต้นใช้งาน ซึ่งให้ภาพรวมเกี่ยวกับวิธีทำให้แอปทํางานด้วย UMP SDK และข้อมูลเบื้องต้นเกี่ยวกับการตั้งค่าข้อความ คำแนะนำต่อไปนี้ใช้กับข้อความ TCF เวอร์ชัน 2 ของ IAB สำหรับ GDPR โดยเฉพาะ ดูข้อมูลเพิ่มเติมได้ที่ข้อกําหนดของ IAB ส่งผลต่อข้อความขอความยินยอมในสหภาพยุโรปอย่างไร

ข้อกำหนดเบื้องต้น

GDPR กําหนดให้ต้องเพิกถอนความยินยอมเพื่อให้ผู้ใช้ถอนตัวเลือกความยินยอมได้ทุกเมื่อ ดูตัวเลือกความเป็นส่วนตัวเพื่อใช้วิธีให้ผู้ใช้เพิกถอนตัวเลือกความยินยอม

หากต้องการระบุว่าผู้ใช้มีอายุต่ำกว่าอายุที่ให้ความยินยอมได้หรือไม่ ให้ตั้งค่า setTagForUnderAgeOfConsent (TFUA) เมื่อคุณตั้งค่า TFUA เป็น true ไว้ UMP SDK จะไม่ขอความยินยอมจากผู้ใช้ หากแอปมีกลุ่มเป้าหมายทั้งเด็กและผู้ใหญ่ ให้ตั้งค่าพารามิเตอร์นี้สำหรับผู้ใช้ที่เป็นเด็กเพื่อไม่ให้ระบบขอความยินยอม

ตัวอย่างต่อไปนี้ตั้งค่า TFUA เป็น "จริง" ในคำขอความยินยอม UMP

Java

ConsentRequestParameters params = new ConsentRequestParameters
    .Builder()
    // Indicate the user is under age of consent.
    .setTagForUnderAgeOfConsent(true)
    .build();

consentInformation = UserMessagingPlatform.getConsentInformation(this);
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    (OnConsentInfoUpdateSuccessListener) () -> {
      // ...
    },
    (OnConsentInfoUpdateFailureListener) requestConsentError -> {
      // ...
    });

Kotlin

val params = ConsentRequestParameters
    .Builder()
    // Indicate the user is under age of consent.
    .setTagForUnderAgeOfConsent(true)
    .build()

consentInformation = UserMessagingPlatform.getConsentInformation(this)
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    ConsentInformation.OnConsentInfoUpdateSuccessListener {
      // ...
    },
    ConsentInformation.OnConsentInfoUpdateFailureListener {
      requestConsentError ->
      // ...
    })

สื่อกลาง

ทําตามขั้นตอนในหัวข้อเพิ่มพาร์ทเนอร์โฆษณาลงในข้อความ GDPR ที่เผยแพร่เพื่อเพิ่มพาร์ทเนอร์สื่อกลางลงในรายชื่อพาร์ทเนอร์โฆษณา มิเช่นนั้นพาร์ทเนอร์อาจแสดงโฆษณาในแอปของคุณไม่ได้

พาร์ทเนอร์สื่อกลางอาจมีเครื่องมือเพิ่มเติมที่จะช่วยในการปฏิบัติตาม GDPR ด้วย ดูรายละเอียดเพิ่มเติมในคู่มือการผสานรวมของพาร์ทเนอร์รายนั้นๆ

หลังจากรวบรวมความยินยอมตาม GDPR แล้ว คุณสามารถอ่านตัวเลือกความยินยอมจากพื้นที่เก็บข้อมูลในเครื่องตามข้อกําหนดของ TCF เวอร์ชัน 2 คีย์ IABTCF_PurposeConsents ระบุความยินยอมสําหรับวัตถุประสงค์ TCF แต่ละรายการ

ข้อมูลโค้ดต่อไปนี้แสดงวิธีตรวจสอบความยินยอมสําหรับวัตถุประสงค์ที่ 1

Java

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "1111111111"
String purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "");
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isEmpty()) {
  String purposeOneString = purposeConsents.charAt(0);
  boolean hasConsentForPurposeOne = purposeOneString.equals("1");
}

Kotlin

val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "1111111111"
val purposesConsents = sharedPref.getString("IABTCF_PurposeConsents", "")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isEmpty()) {
  val purposeOneString = purposeConsents.first()
  val hasConsentForPurposeOne = purposeOneString == "1"
}

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

จะเกิดอะไรขึ้นหากฉันไม่ดำเนินการใดๆ เพื่อปฏิบัติตามข้อกำหนดของแพลตฟอร์มการจัดการความยินยอม (CMP) สำหรับการแสดงโฆษณาใน EEA และสหราชอาณาจักร

ตั้งแต่วันที่ 16 มกราคม 2024 เป็นต้นไป หากพาร์ทเนอร์ไม่ได้ใช้ CMP ที่ผ่านการรับรองจาก Google จะมีเพียง โฆษณาแบบจำกัด เท่านั้นที่มีสิทธิ์แสดงในการเข้าชมจาก EEA และสหราชอาณาจักร

เราจะเริ่มบังคับใช้ในวันที่ 16 มกราคม 2024 กับการเข้าชมเพียงจำนวนน้อยใน EEA และสหราชอาณาจักร จากนั้นจะเพิ่มการบังคับใช้ไปยังการเข้าชมทั้งหมดใน EEA และสหราชอาณาจักรภายในสิ้นเดือนกุมภาพันธ์ 2024 โปรดใช้ CMP ที่ได้รับการรับรองภายในวันที่ 16 มกราคม 2024 เพื่อให้รายได้ของคุณไม่ได้รับผลกระทบจากข้อกำหนดนี้

ฉันจะตรวจสอบได้อย่างไรว่าผู้ใช้ให้ความยินยอมหรือไม่

ความยินยอมไม่ได้แสดงด้วยบิตเดียว แต่แสดงด้วยชุดวัตถุประสงค์และผู้ให้บริการตามที่ระบุไว้ในข้อกำหนด TCF ของ IAB ดูเกณฑ์การปรับโฆษณาตามโปรไฟล์ของผู้ใช้ของ Google Ads ได้ที่นโยบายความยินยอม: โฆษณาที่ปรับและไม่ได้ปรับตามโปรไฟล์ของผู้ใช้

นอกจากนี้ เทคโนโลยีโฆษณาในรายชื่อผู้ให้บริการเทคโนโลยีโฆษณา (ATP) ของ Google ที่ไม่ได้ลงทะเบียนในรายชื่อผู้ให้บริการ TCF จะใช้ข้อกําหนดทางเทคนิคเกี่ยวกับความยินยอมเพิ่มเติมของ Google ในการรวบรวมความยินยอม Google จะเผยแพร่รายชื่อและรหัสของผู้ให้บริการเทคโนโลยีโฆษณาที่ไม่ได้ลงทะเบียนกับ IAB ไว้ที่ https://storage.googleapis.com/tcfac/additional-consent-providers.csv

หากต้องการแก้ไขข้อบกพร่องของคําขอโฆษณาแต่ละรายการ ให้ใช้ฟีเจอร์การแก้ไขข้อบกพร่องหน่วยโฆษณาขั้นสูงในเครื่องมือตรวจสอบโฆษณาเพื่อส่งออกสตริงคําขอโฆษณา จากนั้นมองหาพารามิเตอร์การค้นหาต่อไปนี้

พารามิเตอร์การค้นหา ความหมาย
gdpr GDPR มีผลกับคําขอโฆษณานี้หรือไม่
gdpr_consent สตริง TC IAB มีเครื่องมือบนเว็บที่คุณสามารถถอดรหัสค่าด้วยตนเอง
addtl_consent สตริง AC จากข้อกำหนดทางเทคนิคเกี่ยวกับความยินยอมเพิ่มเติมของ Google

หากต้องการอ่านตัวเลือกความยินยอมแบบเป็นโปรแกรม โปรดดูข้อมูลเพิ่มเติมที่หัวข้อวิธีอ่านตัวเลือกความยินยอม

ฉันต้องใช้ UMP SDK ของ Google เพื่อปฏิบัติตามข้อกําหนดของ CMP ไหม

ไม่ คุณสามารถใช้ CMP ใดก็ได้จากรายการ CMP ที่ได้รับการรับรองจาก Google เพื่อแสดงโฆษณา

ฉันจะแสดงแบบฟอร์มความยินยอมอีกครั้งโดยใช้ UMP SDK ได้อย่างไร แม้ว่าผู้ใช้จะให้ความยินยอมแล้วก็ตาม

หากผู้ใช้ตัดสินใจให้หรือไม่ให้ความยินยอมแล้ว โซลูชันการจัดการความยินยอมของ Google จะไม่ขอความยินยอมใหม่จนกว่าสตริง TC จะหมดอายุหรือใช้งานไม่ได้

GDPR กําหนดให้ต้องมีการแก้ไขความยินยอมเพื่อให้ผู้ใช้สามารถถอนการเลือกความยินยอมได้ทุกเมื่อ ดูตัวเลือกความเป็นส่วนตัวเพื่อใช้วิธีให้ผู้ใช้เพิกถอนตัวเลือกความยินยอม หากต้องการแสดงแบบฟอร์มความยินยอมอีกครั้ง ให้โทรหา showPrivacyOptionsForm()

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

ภายใต้ TCF นั้น Google จะตรวจสอบว่าผู้ให้บริการเทคโนโลยีโฆษณาและแหล่งที่มาของดีมานด์โฆษณาแบบเป็นโปรแกรมอื่นๆ ไม่ได้ละเมิดนโยบายของ Google และมีพื้นฐานทางกฎหมายอย่างน้อย 1 อย่างในการประมวลผลข้อมูล ก่อนที่จะเพิ่มผู้ให้บริการและแหล่งที่มาดังกล่าวในการแสดงโฆษณาสื่อกลางตามลำดับขั้น ไปที่ส่วนสื่อกลางเพื่อดูข้อมูลเพิ่มเติม

พาร์ทเนอร์สื่อกลางบางรายในรายชื่อผู้ให้บริการเทคโนโลยีโฆษณา (ATP) ของ Google ไม่ได้ลงทะเบียนในรายชื่อผู้ให้บริการ TCF พาร์ทเนอร์เหล่านี้ใช้ข้อกำหนดทางเทคนิคเกี่ยวกับความยินยอมเพิ่มเติมของ Google ในการรวบรวมความยินยอมแทน Google จะเผยแพร่รายชื่อและรหัสของผู้ให้บริการเทคโนโลยีโฆษณาที่ไม่ได้ลงทะเบียนกับ IAB ไว้ที่ https://storage.googleapis.com/tcfac/additional-consent-providers.csv

UMP SDK รองรับการจัดเก็บ ACString ซึ่งช่วยให้คุณเพิ่มพาร์ทเนอร์โฆษณาลงในข้อความ GDPR ที่เผยแพร่ได้โดยไม่ต้องทราบว่าพาร์ทเนอร์จดทะเบียนกับ TCF หรือไม่ เมื่อใช้ CMP ของบุคคลที่สาม คุณควรทําดังนี้

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

ผู้เผยแพร่โฆษณาสามารถอ่านสตริง TCF ของ IAB ในแอปได้ ดูข้อมูลเกี่ยวกับการอ่านตัวเลือกความยินยอมแบบเป็นโปรแกรมได้ที่หัวข้อวิธีอ่านตัวเลือกความยินยอม ผู้เผยแพร่โฆษณาควรตรวจสอบภาระหน้าที่ของตนภายใต้กฎระเบียบที่เกี่ยวข้องกับที่ปรึกษาทางกฎหมาย

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

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

ฉันจะใช้สตริง AC เวอร์ชัน 2 สําหรับผู้ใช้ที่ให้ความยินยอมในเวอร์ชัน 1 ไปแล้วได้อย่างไร

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

Java

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "2~1.35.41.101~dv.9.21.81"
String additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "");
// Index 0 contains information about the specification version number.
if (!additionalConsent.isEmpty()) {
  String specACVersion = additionalConsent.charAt(0);
  boolean isACVersion2 = purposeOneString.equals("2");
}

Kotlin

val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "2~1.35.41.101~dv.9.21.81"
val additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "")
// Index 0 contains information about the specification version number.
if (!additionalConsent.isEmpty()) {
  val specACVersion = additionalConsent.first()
  val isACVersion2 = specACVersion == "2"
}