IDFA (Identifier for Advertisers) คือตัวระบุอุปกรณ์ที่ไม่ซ้ำกันใน iOS ที่ออกแบบมาเพื่อวัตถุประสงค์ในการโฆษณาและการระบุแหล่งที่มาของการติดตั้ง ด้วยการมาถึงของ App Tracking Transparency (ATT) ใน iOS 14.5 การรับ IDFA ต้องการความยินยอมอย่างชัดแจ้งจากผู้ใช้ผ่านกล่องโต้ตอบของระบบ ตาม เอกสารของ Apple เกี่ยวกับ App Tracking Transparency, 2025 หากไม่ได้รับอนุญาต ATT แอปพลิเคชันจะได้รับตัวระบุที่เป็นศูนย์ App Tracking Transparency ได้เปลี่ยนแปลงระบบนิเวศโฆษณาบนมือถืออย่างสิ้นเชิง ทำให้ความพร้อมใช้งานของ IDFA ลดลง 80% หลังจากการนำไปใช้
ประเด็นสำคัญ
IDFA (Identifier for Advertisers) คือตัวระบุตัวอักษรและตัวเลขที่ไม่ซ้ำกันซึ่งกำหนดให้กับอุปกรณ์ Apple แต่ละเครื่องเพื่อวัตถุประสงค์ในการโฆษณา ซึ่งแตกต่างจาก IDFV (Identifier for Vendor) IDFA จะเหมือนกันในทุกแอปบนอุปกรณ์และผู้ใช้สามารถรีเซ็ตได้ตลอดเวลาผ่านการตั้งค่า — ความเป็นส่วนตัว — โฆษณา — รีเซ็ตตัวระบุ
วัตถุประสงค์หลักของ IDFA คือ การระบุแหล่งที่มาของการติดตั้ง และการติดตามประสิทธิภาพของแคมเปญโฆษณาบนอุปกรณ์ Apple เครือข่ายโฆษณาใช้ IDFA เพื่อเชื่อมโยงการคลิกโฆษณากับการติดตั้งแอป สร้างโปรไฟล์ผู้ใช้ และแสดงโฆษณาเฉพาะบุคคล ตั้งแต่การนำ ATT มาใช้ เปอร์เซ็นต์ของผู้ใช้ที่ให้สิทธิ์เข้าถึง IDFA โดยเฉลี่ยอยู่ที่ 20-35% ตามแพลตฟอร์มการวิเคราะห์ต่างๆ
ตาม Flurry Analytics (2025) หลังจาก iOS 18 อัตราการยอมรับ ATT สูงถึง 92% ของอุปกรณ์ที่ใช้งาน แต่สัดส่วนของผู้ใช้ที่ยอมรับการติดตามลดลงเหลือ 22% สิ่งนี้นำไปสู่การเปลี่ยนแปลงพื้นฐานในอุตสาหกรรมโฆษณาบนมือถือ ทำให้เครือข่ายโฆษณาต้องมองหาวิธีการระบุแหล่งที่มาทางเลือก
คุณสมบัติสำคัญ ของ IDFA คือไม่มีข้อมูลส่วนบุคคลของผู้ใช้และไม่เชื่อมโยงกับ Apple ID อย่างไรก็ตาม Apple จัดประเภทเป็นตัวระบุที่อยู่ภายใต้ข้อบังคับของ App Tracking Transparency
App Tracking Transparency (ATT) คือกรอบงานของ Apple ที่นำเสนอใน iOS 14.5 ซึ่งต้องการความยินยอมอย่างชัดแจ้งจากผู้ใช้ก่อนอ่าน IDFA หากไม่ได้รับความยินยอม เมธอด asIdentifierManager จะส่งคืนตัวระบุที่เป็นศูนย์ (00000000-0000-0000-0000-000000000000) และแอปพลิเคชันไม่สามารถติดตามผู้ใช้ได้
ATT ถูกนำไปใช้ผ่านคลาส ATTrackingManager ด้วยเมธอดสาธารณะเดียว requestTrackingAuthorization(completionHandler:) เมื่อเมธอดนี้ถูกเรียก ระบบจะแสดงกล่องโต้ตอบแบบเนทีฟพร้อมข้อความที่นักพัฒนาตั้งค่าผ่านคีย์ NSUserTrackingUsageDescription ใน Info.plist ผู้ใช้สามารถเลือกหนึ่งในสามตัวเลือก: “อนุญาตการติดตาม” “ขอให้แอปไม่ติดตาม” หรือ “ปฏิเสธ”
สถานะการอนุญาตถูกติดตามผ่าน ATTrackingManager.trackingAuthorizationStatus ซึ่งสามารถรับค่าได้สี่ค่า: notDetermined, restricted, denied หรือ authorized ก่อนขอ ATT แนะนำให้ตรวจสอบสถานะปัจจุบันและไม่เรียกกล่องโต้ตอบหากสถานะถูกกำหนดแล้ว — เริ่มจาก iOS 17 การเรียก requestTrackingAuthorization อีกครั้งด้วยสถานะ denied จะไม่แสดงกล่องโต้ตอบและส่งคืนข้อผิดพลาด
ช่วงเวลาของการขอ ATT มีผลอย่างมากต่ออัตราการยินยอม การวิจัยจาก Singular (2025) แสดงให้เห็นว่าการขอ ATT บนหน้าจอแนะนำ (เมื่อเปิดครั้งแรก) ให้อัตราการแปลง 35-45% ในขณะที่ขอหลังจากดำเนินการเสร็จสิ้น (เช่น หลังลงทะเบียน) จะเพิ่มอัตราการแปลงเป็น 55-65% แนะนำให้แสดงหน้าจอขออนุญาตล่วงหน้าด้วยการออกแบบที่กำหนดเองซึ่งอธิบายคุณค่าของการติดตามให้ผู้ใช้ทราบก่อนกล่องโต้ตอบ ATT ของระบบ
สำคัญ: แอปสามารถเรียก requestTrackingAuthorization ได้เพียงครั้งเดียวก่อนได้รับคำตอบ เมื่อผู้ใช้เลือก “ปฏิเสธ” หรือ “ขอให้แอปไม่ติดตาม” กล่องโต้ตอบจะไม่ปรากฏบนอุปกรณ์อีก นักพัฒนาต้องใช้กลไกสำรองสำหรับการทำงานโดยไม่มี IDFA เพื่อให้แน่ใจว่าแอปยังคงทำงานได้อย่างถูกต้องภายใต้เงื่อนไขการติดตามที่จำกัด
ด้วยการเปิดตัว iOS 18 Apple ได้เพิ่มข้อกำหนดสำหรับแอปที่ใช้ตัวระบุโฆษณา แอปทั้งหมดที่ขอ IDFA หรือส่งข้อมูลอุปกรณ์เพื่อวัตถุประสงค์ในการโฆษณาต้องปฏิบัติตามกฎ App Store ใหม่ การไม่ปฏิบัติตามนำไปสู่การปฏิเสธบิลด์ระหว่างการตรวจสอบ App Store Connect
เริ่มจาก iOS 18 ทุกแอปต้องรวม Privacy Manifest (ไฟล์ privacy.xcprivacy) ที่ประกาศ API ทั้งหมดที่ใช้สำหรับการติดตาม สำหรับ IDFA จะใช้คีย์ NSPrivacyTracking และ NSPrivacyTrackingDomains ซึ่งระบุโดเมนของเครือข่ายโฆษณาที่ส่งตัวระบุไปยัง หากไม่มีแมนิเฟสต์ที่ถูกต้อง แอปจะถูกปฏิเสธระหว่างการตรวจสอบ App Store Connect
Apple ยังได้กำหนดให้ระบุเหตุผลในการใช้ตัวระบุโฆษณาในคำอธิบายแอป หากแอปใช้ IDFA สำหรับการระบุแหล่งที่มาของการติดตั้ง จะต้องใช้ SKAdNetwork เป็นวิธีหลัก และใช้ IDFA เป็นสัญญาณเพิ่มเติมเพื่อปรับปรุงความแม่นยำในการระบุแหล่งที่มาเท่านั้น
ด้วยข้อจำกัดที่เพิ่มขึ้นเกี่ยวกับ IDFA อุตสาหกรรมได้พัฒนาแนวทางทางเลือกหลายวิธี SKAdNetwork (StoreKit Ad Network) คือกลไกระบุแหล่งที่มาอย่างเป็นทางการของ Apple ที่ทำงานโดยไม่มี IDFA และไม่ต้องการความยินยอมจากผู้ใช้ SKAdNetwork ใช้คำขอ postback ที่ลงนามระหว่างเครือข่ายโฆษณาและ App Store เพื่อรับประกันความเป็นส่วนตัวของผู้ใช้
ทางเลือกอื่นๆ ได้แก่: การระบุแหล่งที่มาแบบความน่าจะเป็นตามที่อยู่ IP เวอร์ชัน OS และสัญญาณอุปกรณ์อื่นๆ API รวมส่วนตัวเช่น Private Click Measurement (PCM) จาก WebKit และโซลูชันเฉพาะของแพลตฟอร์มโฆษณาที่ใช้การเรียนรู้ของเครื่องเพื่อทำนาย Conversion สำหรับตลาดจีน ยังใช้ CAID (Cellular Advertising ID) ซึ่งอิงตามข้อมูลเครือข่ายของผู้ให้บริการมือถือ
การนำคำขอ IDFA ไปใช้ต้องรวม App Tracking Transparency และจัดการสถานะการอนุญาตที่เป็นไปได้ทั้งหมดอย่างถูกต้อง ด้านล่างนี้คือตัวอย่างที่สมบูรณ์สำหรับ Swift พร้อมหน้าจอขออนุญาตล่วงหน้า
ตัวอย่างแสดงขั้นตอนการทำงานทั้งหมดกับ IDFA: การตรวจสอบสถานะ การแสดงหน้าจอขออนุญาตล่วงหน้า การเรียกกล่องโต้ตอบ ATT ของระบบ และการรับตัวระบุหลังจากการอนุญาต
import AppTrackingTransparency
import AdSupport
func requestIDFAAccess() {
let status = ATTrackingManager.trackingAuthorizationStatus
switch status {
case .notDetermined:
// กำลังแสดงหน้าจอขออนุญาตล่วงหน้าพร้อมคำอธิบาย
showPrePermissionScreen { accepted in
guard accepted else { return }
ATTrackingManager.requestTrackingAuthorization { newStatus in
handleATTStatus(newStatus)
}
}
case .authorized:
// ผู้ใช้ให้ความยินยอมแล้ว — กำลังรับ IDFA
let idfa = ASIdentifierManager.shared().advertisingIdentifier
print("IDFA: \(idfa.uuidString)")
case .denied, .restricted:
// กำลังเปลี่ยนเส้นทางผู้ใช้ไปยังการตั้งค่า
redirectToSettings()
@unknown default:
break
}
}
private func handleATTStatus(status: ATTrackingManager.AuthorizationStatus) {
if status == .authorized {
let idfa = ASIdentifierManager.shared().advertisingIdentifier
// กำลังส่ง IDFA ไปยังเครือข่ายโฆษณา
sendIDFAToAdNetwork(idfa.uuidString)
}
}
เนื่องจากผู้ใช้ส่วนใหญ่ปฏิเสธคำขอ ATT นักพัฒนาจึงต้องมีชุดกลยุทธ์เพื่อทำงานอย่างมีประสิทธิภาพโดยไม่มีตัวระบุ แนวทางหลักคือการรวมกันของ SKAdNetwork และวิธีการระบุแหล่งที่มาแบบความน่าจะเป็น
SKAdNetwork (SKAN) คือกรอบงานของ Apple สำหรับการระบุแหล่งที่มาของการติดตั้งที่ไม่ต้องการ IDFA และไม่แสดงกล่องโต้ตอบความยินยอม เครือข่ายโฆษณาลงทะเบียน SKAdNetwork ID ของตนใน Info.plist ของแอป และหลังการติดตั้ง App Store จะส่ง postback ที่ลงนามพร้อมข้อมูลแคมเปญ SKAN 4.0 ซึ่งนำเสนอใน iOS 17 รองรับหลาย Conversion ตัวระบุแหล่งที่มา และค่า Conversion แบบหยาบ
ข้อจำกัดของ SKAN: ความล่าช้าของ postback 24 ถึง 48 ชั่วโมง ไม่มีตัวระบุผู้ใช้ และค่า Conversion ที่จำกัด (สูงสุด 64) ถึงกระนั้น SKAN ได้กลายเป็นมาตรฐานโดยพฤตินัยสำหรับการระบุแหล่งที่มาของ iOS หลังการนำ ATT ไปใช้ และเครือข่ายโฆษณาขนาดใหญ่ทั้งหมดต้องรองรับเพื่อทำงานบนอุปกรณ์ Apple
เครือข่ายโฆษณาเช่น Meta และ Google ได้พัฒนาโซลูชันของตนเองโดยใช้การเรียนรู้ของเครื่องที่ทำนาย Conversion โดยไม่มีตัวระบุผู้ใช้ Meta Aggregated Events Measurement (AEM) ใช้ข้อมูลรวมสำหรับการระบุแหล่งที่มา ในขณะที่ Google Attribution จำลอง Conversion ตามข้อมูลในอดีต
สำหรับนักพัฒนา การใช้วิธีการระบุแหล่งที่มาหลายวิธีพร้อมกันเป็นสิ่งสำคัญ: SKAdNetwork เป็นวิธีหลัก การระบุแหล่งที่มาฝั่งเซิร์ฟเวอร์ผ่านเครือข่ายโฆษณา และเครื่องมือวิเคราะห์เฉพาะด้วยการจำลอง Conversion การรวมวิธีการช่วยให้สามารถคืนค่าความแม่นยำในการระบุแหล่งที่มาได้ถึง 70-80% เมื่อเทียบกับยุค IDFA แนะนำให้ทดสอบชุดค่าผสมต่างๆ ของวิธีการในช่วงการทดสอบเบตาเพื่อเลือกชุดที่เหมาะสมที่สุดสำหรับแอปและกลุ่มเป้าหมายเฉพาะ
คำถามที่พบบ่อย
IDFA คือรหัสเฉพาะของอุปกรณ์ iPhone หรือ iPad ที่เครือข่ายโฆษณาใช้เพื่อแสดงโฆษณาเฉพาะบุคคลและวัดประสิทธิภาพของแคมเปญ ตั้งแต่ iOS 14.5 แอปต้องขออนุญาตของคุณก่อนเข้าถึง IDFA ผ่านกล่องโต้ตอบระบบ App Tracking Transparency
IDFV (Identifier for Vendor) คือตัวระบุที่ไม่ซ้ำกันสำหรับแอปทั้งหมดของนักพัฒนาคนเดียวกันบนอุปกรณ์ ซึ่งแตกต่างจาก IDFA IDFV ไม่ต้องการความยินยอม ATT และพร้อมใช้งานเสมอ IDFA เหมือนกันในทุกแอป ในขณะที่ IDFV เฉพาะสำหรับแอปของผู้ขายรายเดียว (ตาม bundle ID)
เป็นไปไม่ได้ ที่จะรับ IDFA โดยไม่ได้รับความยินยอมจากผู้ใช้ ตั้งแต่ iOS 14.5 ASIdentifierManager.advertisingIdentifier ส่งคืนตัวระบุที่เป็นศูนย์ (00000000-0000-0000-0000-000000000000) หากผู้ใช้ไม่ได้ให้ความยินยอมผ่าน ATT วิธีกฎหมายเดียวคือเรียก ATTrackingManager.requestTrackingAuthorization และรับสถานะ authorized
NSUserTrackingUsageDescription คือคีย์ใน Info.plist ของแอปที่มีข้อความแสดงในกล่องโต้ตอบ ATT ของระบบ ข้อความควรอธิบายให้ผู้ใช้ทราบว่าเหตุใดแอปจึงต้องการการติดตาม ตัวอย่าง: “IDFA ของคุณถูกใช้เพื่อแสดงโฆษณาเฉพาะบุคคลและวัดประสิทธิภาพของแคมเปญ”
ไม่ IDFA เป็นตัวระบุเฉพาะของระบบนิเวศ Apple Android ใช้ GAID (Google Advertising ID) หรือ AAID (Android Advertising ID) ทั้งสองทำหน้าที่คล้ายกันแต่ถูกควบคุมด้วยกฎที่แตกต่างกัน — บน Android ผู้ใช้สามารถรีเซ็ตตัวระบุหรือปิดการปรับแต่งโฆษณาในการตั้งค่า Google
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ
อ่านเพิ่มเติม