# Programmatic Advertising ตรวจผู้ขายด้วย ads.txt

> ที่มา: https://phygital.co.th/insights/programmatic-advertising-explained · เผยแพร่ 20 พฤษภาคม 2568 · อ่าน 11 นาที · โดย PARANATH PANARATANA

ซื้อโฆษณาอัตโนมัติผ่าน DSP แล้วเงินถึงเว็บจริงไหม IAB Tech Lab ให้เว็บประกาศผู้ขายที่อนุญาตใน ads.txt และให้ระบบโฆษณาเปิดเผยผู้รับเงินใน sellers.json

## Key Takeaways

- **ads.txt ย่อมาจาก Authorized Digital Sellers เป็นไฟล์ที่เว็บวางไว้ที่ /ads.txt เพื่อประกาศว่าบริษัทไหนได้รับอนุญาตให้ขายพื้นที่โฆษณาของเว็บ** — แต่ละบรรทัดบอกระบบโฆษณา เลขบัญชีผู้ขาย และความสัมพันธ์แบบ DIRECT หรือ RESELLER
- **sellers.json ให้ระบบโฆษณาเปิดเผยว่าเลขบัญชีผู้ขายแต่ละเลขเป็นของบริษัทไหน** — และบอกว่าเป็นเจ้าของพื้นที่เอง (PUBLISHER) หรือเป็นคนกลาง (INTERMEDIARY)
- **SupplyChain object ในคำขอประมูลเรียงทุกบริษัทที่อยู่ในเส้นทางจ่ายเงิน** — และมีค่า complete บอกว่าเส้นทางนั้นย้อนไปถึงเจ้าของเว็บครบหรือไม่

เงินค่าโฆษณาที่ซื้อผ่านระบบประมูลอัตโนมัติไม่ได้ไปถึงเจ้าของเว็บโดยตรง ระหว่างทางมีแพลตฟอร์มฝั่งผู้ซื้อ ตลาดแลกเปลี่ยน แพลตฟอร์มฝั่งผู้ขาย และบางครั้งมีบริษัทขายต่ออีกหลายทอด IAB Tech Lab เขียนไว้ในสเปก ads.txt ว่าการโกงรูปแบบหนึ่งในระบบนี้คือการเสนอขายพื้นที่โฆษณาโดยติดป้ายชื่อเว็บหรือบัญชีผู้ขายปลอม ผู้ซื้อคิดว่าซื้อพื้นที่บนเว็บข่าวที่รู้จัก แต่เงินไปถึงคนที่ไม่มีสิทธิ์ขายพื้นที่นั้น

เจ้าของธุรกิจที่เอเจนซีเสนอแคมเปญ programmatic จึงต้องตัดสินก่อนจ่ายว่าจะขอดูอะไรบ้าง ไม่ใช่แค่ยอดการแสดงผลและยอดคลิก เครื่องมือสามชิ้นที่ IAB Tech Lab ออกแบบไว้ตอบคำถามนี้ได้ ทุกชิ้นเปิดดูได้ฟรี

## Programmatic Advertising ซื้อผ่านใครบ้าง

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

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

### ผู้ขายต่อ (reseller) ผิดไหม

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

### ซื้อผ่านเครือข่ายของ Google หรือ Meta ต้องตรวจแบบนี้ไหม

แคมเปญที่ซื้อพื้นที่นอกแพลตฟอร์มของตัวเอง เช่น เครือข่ายเว็บพันธมิตร เป็นส่วนที่เกี่ยวกับ ads.txt ส่วนโฆษณาที่ขึ้นในฟีดหรือหน้าค้นหาของแพลตฟอร์มเอง ไม่ได้ผ่านการขายต่อแบบนี้ ร้านที่ใช้ Google Ads อยู่แล้วและเริ่มตามคนเข้าเว็บไปยังเว็บอื่น ใช้กลุ่มเป้าหมายตามวิธีใน[Retargeting Remarketing ตามคนเข้าเว็บด้วยโฆษณากี่วันดี](https://phygital.co.th/insights/retargeting-remarketing-explained) และเมื่อเอเจนซีเสนอให้ซื้อผ่าน DSP อิสระ คำถามเรื่องผู้ขายในบทนี้จะเริ่มมีน้ำหนัก

## ads.txt บอกอะไรกับผู้ซื้อ

[หน้า ads.txt ของ IAB Tech Lab](https://iabtechlab.com/ads-txt/) อธิบายว่า ads.txt ย่อมาจาก Authorized Digital Sellers เป็นวิธีที่เจ้าของเว็บประกาศต่อสาธารณะว่าอนุญาตให้บริษัทไหนขายพื้นที่โฆษณาของตน ผู้ซื้อใช้ไฟล์นี้หาว่าใครคือผู้ขายที่ได้รับอนุญาต ประวัติในสเปกระบุว่าฉบับ 1.0 ออกเมื่อ 27 มิถุนายน 2017 และฉบับ 1.1 ผ่านการรับฟังความเห็นในเดือนเมษายนและออกฉบับสุดท้ายในเดือนกรกฎาคม 2022

[สเปก ads.txt ฉบับ 1.1](https://github.com/InteractiveAdvertisingBureau/Supply-Chain-Validation/blob/main/ads.txt%20v1.1.md) กำหนดให้วางไฟล์ไว้ที่ /ads.txt บนโดเมนหลัก ตอบกลับเป็นข้อความธรรมดา แต่ละบรรทัดมีสี่ช่อง คั่นด้วยจุลภาค

1. **โดเมนของระบบโฆษณา** เช่น SSP หรือตลาดแลกเปลี่ยนที่ผู้ประมูลเชื่อมต่อ
2. **เลขบัญชีผู้ขาย** ต้องตรงกับค่าที่ใช้ในคำขอประมูล ซึ่งใน OpenRTB มักเป็น publisher.id
3. **ประเภทความสัมพันธ์** DIRECT หรือ RESELLER
4. **รหัสหน่วยรับรอง** ไม่บังคับ สเปกยกตัวอย่าง Trustworthy Accountability Group หรือ TAG

สเปกยังรองรับบรรทัดตัวแปร เช่น CONTACT สำหรับช่องทางติดต่อทีมโฆษณาของเว็บ INVENTORYPARTNERDOMAIN สำหรับพื้นที่ที่พันธมิตรเป็นเจ้าของบางส่วน OWNERDOMAIN สำหรับโดเมนของบริษัทเจ้าของเว็บ และ MANAGERDOMAIN สำหรับบริษัทที่บริหารการขายพื้นที่แทนแบบหลักหรือแบบผูกขาด

### เปิดดู ads.txt ของเว็บหนึ่งได้อย่างไร

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

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

### เว็บของธุรกิจเองต้องมี ads.txt ไหม

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

### แอปและทีวีใช้ไฟล์เดียวกันไหม

ใช้อีกไฟล์ชื่อ app-ads.txt ซึ่งหน้า IAB Tech Lab อธิบายว่าขยายมาตรฐานเดิมให้ใช้กับแอปที่จำหน่ายผ่านร้านแอปบนมือถือและทีวีที่เชื่อมอินเทอร์เน็ต แคมเปญที่ซื้อพื้นที่ในแอปหรือบนทีวีจึงต้องเทียบกับ app-ads.txt ที่อยู่บนเว็บของผู้พัฒนาแอป ไม่ใช่ ads.txt ของเว็บ

## sellers.json และ SupplyChain ต่อเส้นทางให้ครบ

ads.txt บอกว่าเลขบัญชีไหนได้รับอนุญาต แต่ไม่ได้บอกว่าเลขนั้นเป็นของใคร [สเปก sellers.json](https://github.com/InteractiveAdvertisingBureau/Supply-Chain-Validation/blob/main/sellers-json.md) ฉบับ 1.0 เดือนกรกฎาคม 2019 เติมส่วนนี้ ระบบโฆษณาทุกรายที่อยู่ใน ads.txt ควรวางไฟล์ /sellers.json บนโดเมนของตัวเอง ในไฟล์มีรายชื่อผู้ขายทั้งหมดที่ระบบนั้นเป็นตัวแทน ทุกรายต้องอยู่ในไฟล์แม้จะเป็นแบบปกปิดชื่อ

แต่ละรายการมีเลขผู้ขายเดียวกับใน ads.txt และประเภทผู้ขายสามแบบ PUBLISHER หมายถึงพื้นที่อยู่บนเว็บหรือแอปที่บริษัทนั้นเป็นเจ้าของ และระบบจ่ายเงินให้บริษัทนั้นโดยตรง INTERMEDIARY หมายถึงบริษัทนั้นไม่ได้เป็นเจ้าของพื้นที่ หรือระบบไม่ได้จ่ายเงินให้โดยตรง BOTH คือมีทั้งสองแบบ ชื่อบริษัทต้องระบุเมื่อไม่ได้ตั้งค่าปกปิด สเปกยังกำหนดว่าเลขผู้ขายหนึ่งเลขแทนได้เพียงบริษัทเดียวที่รับเงิน

### SupplyChain object เห็นอะไรที่สองไฟล์ไม่เห็น

[สเปก SupplyChain object ของ OpenRTB](https://github.com/InteractiveAdvertisingBureau/openrtb/blob/main/supplychainobject.md) ให้คำขอประมูลพกรายชื่อทุกบริษัทที่ขายหรือขายต่อการแสดงผลนั้น แต่ละบริษัทเป็นหนึ่งจุดในเส้นทาง มีโดเมนของระบบโฆษณาและเลขผู้ขาย ซึ่งต้องตรงกับค่าใน ads.txt ค่า hp บอกว่าจุดนั้นอยู่ในเส้นทางจ่ายเงิน และสเปกฉบับ 1.0 ให้ตั้งค่านี้เป็น 1 ทุกจุด

ค่าที่ผู้ซื้อดูได้ง่ายที่สุดคือ complete ถ้าเป็น 1 เส้นทางย้อนกลับไปถึงเจ้าของเว็บครบทุกทอด ถ้าเป็น 0 มีบางทอดที่ไม่รู้ สเปกกำหนดว่าผู้ขายต่อที่คัดลอกเส้นทางของผู้ขายก่อนหน้า ต้องเพิ่มจุดของตัวเองต่อท้ายด้วย และผู้ขายต่อที่รับพื้นที่ซึ่งไม่มีเส้นทางมาก่อน ต้องสร้างเส้นทางใหม่โดยตั้ง complete เป็น 0

## อ่านรายงานรายโดเมนจากผู้ขาย

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

### DIRECT กับ RESELLER ในรายงานบอกอะไร

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

### ทำไมตัวเลขในรายงานกับในบัญชีเว็บไม่ตรงกัน

ไฟล์ ads.txt และ sellers.json ไม่ได้บอกค่าธรรมเนียมของแต่ละทอด สองไฟล์นี้บอกได้แค่ว่าใครมีสิทธิ์ขายและใครรับเงิน การดูว่าเงินหายไประหว่างทางเท่าไร ต้องใช้ข้อมูลที่ผู้ขายยอมเปิด เช่น ราคาที่ผู้ซื้อจ่ายเทียบกับราคาที่ SSP จ่ายให้เว็บ ถ้าสัญญาไม่ได้เขียนสิทธิ์ขอข้อมูลนี้ไว้ ผู้ซื้อก็ไม่มีข้อตกลงให้อ้างเมื่อขอดู การต่อรองจึงต้องเกิดตอนทำสัญญา ไม่ใช่ตอนแคมเปญจบแล้ว

### เรื่องเนื้อหาข้างโฆษณาอยู่ในการตรวจนี้ไหม

ไม่อยู่ ads.txt sellers.json และ SupplyChain ตอบว่าผู้ขายมีสิทธิ์ขายหรือไม่ ไม่ได้ตอบว่าหน้าเว็บที่โฆษณาไปขึ้นเหมาะกับแบรนด์หรือเปล่า เรื่องเนื้อหาข้างโฆษณาต้องใช้ตัวกรองคลังเนื้อหาและรายชื่อเว็บที่ห้ามแสดงแยกต่างหาก ส่วนตัวเลขที่ใช้วัดผลแคมเปญหลังผ่านการตรวจแล้ว เช่น CTR และ ROAS แต่ละแพลตฟอร์มนับต่างกันตามที่อธิบายใน[KPI โฆษณา CTR กับ ROAS ที่ Google และ Meta นับต่างกัน](https://phygital.co.th/insights/digital-marketing-kpi-ctr-cpc-roas-cac)

## เอกสารที่ขอจากผู้ขายก่อนจ่าย

ทุกข้อด้านล่างขอได้ เพราะสเปกของ IAB Tech Lab ทำให้ผู้ซื้อเทียบกับไฟล์สาธารณะได้ **PHYGITAL AGENCY** ใช้รายการนี้ตอนขอราคาจากผู้ขายสื่อ

1. **รายชื่อโดเมนและแอปที่โฆษณาจะขึ้น** พร้อมโดเมนของระบบโฆษณาและเลขบัญชีผู้ขายของแต่ละแถว สำหรับเทียบกับ ads.txt และ app-ads.txt
2. **ยืนยันว่าจะซื้อเฉพาะพื้นที่ที่ตรงกับ ads.txt** และแจ้งสัดส่วนแถว DIRECT กับ RESELLER ในรายงานสรุป
3. **ข้อมูล SupplyChain ของการแสดงผลที่ซื้อ** อย่างน้อยสัดส่วนที่ complete เป็น 1
4. **สิทธิ์ขอดูราคาที่แต่ละทอดได้รับ** เขียนไว้ในสัญญาก่อนเริ่มแคมเปญ
5. **รายงานรายเดือนชุดเดียวกับข้อ 1** เพื่อเทียบว่ารายชื่อเว็บเปลี่ยนไประหว่างแคมเปญหรือไม่

ผู้ขายที่ให้ข้อ 1 ไม่ได้ ผู้ซื้อก็ตรวจข้ออื่นต่อไม่ได้ ข้อนี้จึงเป็นเงื่อนไขแรกที่ใช้คัดข้อเสนอ

## สรุป

การแสดงผลหนึ่งครั้งที่ซื้อผ่านระบบประมูลอัตโนมัติอาจผ่านหลายบริษัทก่อนถึงเว็บ และข้อมูลโดเมนในคำขอประมูลเขียนโดยฝั่งผู้ขาย IAB Tech Lab จึงออกเครื่องมือสามชิ้น ads.txt ให้เว็บประกาศผู้ขายที่อนุญาตพร้อมความสัมพันธ์แบบ DIRECT หรือ RESELLER sellers.json ให้ระบบโฆษณาเปิดเผยว่าเลขผู้ขายแต่ละเลขเป็นของบริษัทใดและเป็นเจ้าของพื้นที่หรือคนกลาง SupplyChain object เรียงทุกทอดในเส้นทางจ่ายเงินและบอกว่าเส้นทางครบหรือไม่ ทั้งสามชิ้นไม่ได้บอกค่าธรรมเนียมและไม่ได้ตรวจเนื้อหาข้างโฆษณา ผู้ซื้อที่ขอรายงานรายโดเมนพร้อมเลขบัญชีผู้ขายตั้งแต่ขั้นขอราคา จะตรวจได้เองว่าเงินไปถึงผู้ขายที่เว็บยอมรับจริง ส่วนรูปแบบโฆษณาที่กลืนไปกับเนื้อหาบนเว็บเหล่านั้นมีเรื่องการติดป้ายต้องดูต่อใน[Native Advertising ป้ายโฆษณาในบทความตามแนวทาง FTC](https://phygital.co.th/insights/native-advertising-explained)

## คำถามที่พบบ่อย (FAQ)

### Programmatic Advertising คืออะไร

การซื้อโฆษณาทีละการแสดงผลผ่านระบบประมูลอัตโนมัติ ผู้ซื้อตั้งเงื่อนไขใน DSP ส่วนเว็บเสนอขายผ่าน SSP หรือตลาดแลกเปลี่ยน ทั้งหมดเกิดขึ้นตอนที่หน้าเว็บกำลังโหลด

### ads.txt คืออะไร

ไฟล์ข้อความที่เจ้าของเว็บวางไว้บนโดเมนของตัวเอง ประกาศรายชื่อระบบโฆษณาและเลขบัญชีที่ได้รับอนุญาตให้ขายพื้นที่ ใครก็เปิดดูได้โดยพิมพ์ชื่อเว็บตามด้วย /ads.txt

### sellers.json ต่างจาก ads.txt อย่างไร

ads.txt อยู่บนเว็บของผู้ขายพื้นที่ ส่วน sellers.json อยู่บนโดเมนของระบบโฆษณา ไฟล์แรกตอบว่าใครได้รับอนุญาต ไฟล์ที่สองตอบว่าเลขบัญชีเหล่านั้นเป็นของบริษัทใด

### RESELLER ใน ads.txt แปลว่าไม่ควรซื้อไหม

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

### ธุรกิจเล็กต้องใช้ Programmatic ไหม

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

## รายงานรายโดเมนเทียบกับ ads.txt ทุกเดือน

ทีม PHYGITAL AGENCY ขอรายงานรายโดเมนจากผู้ขายสื่อ เทียบกับ ads.txt และ sellers.json ของแต่ละเว็บ แล้วสรุปให้เจ้าของธุรกิจเห็นว่าเงินส่วนไหนไปถึงผู้ขายที่ไม่ได้รับอนุญาต

- [นัดประชุมผ่าน Google Meet](https://calendar.app.google/DotQdE7Ca8LZG6Us5)
- [เพิ่มเพื่อนใน LINE](https://lin.ee/J8Qq8Do)
