ใช้ Topics กับการเสนอราคาแบบเป็นโปรแกรมใน Protected Audience

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

ก่อนอ่านคู่มือนี้ โปรดทำความคุ้นเคยกับทั้งหัวข้อและ Protected Audience

รับหัวข้อ

เมื่อเรียกใช้ Topics API ผู้โทรจะเห็นบางหัวข้อที่เคยสังเกตการณ์เบราว์เซอร์นั้นมาก่อน

const currentTopics = await document.browsingTopics();
// Example result
[
  {
    "configVersion": "chrome.2",
    "modelVersion": "4",
    "taxonomyVersion": "2",
    "topic": 310,
    "version": "chrome.2:2:4"
  }
]

ในกรณีนี้คือ 310 แมปไปที่ "กีฬา/การปั่นจักรยาน"

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

ใช้หัวข้อเพื่อกำหนดกลุ่มความสนใจอย่างมีเงื่อนไข

หัวข้อที่ได้สามารถใช้โดยตรงเพื่อเลือกเพิ่มผู้ใช้ไปยังกลุ่มความสนใจ

if (currentTopics[0].topic === 310) { // Interest in "Sports/Cycling"
  const interestGroup = {
  owner: 'https://dsp.example',
  name: 'custom-bikes',
  }
}

ระบุหัวข้อของผู้ซื้อให้กับกลุ่มความสนใจ

คุณรวมหัวข้อปัจจุบัน (หรือข้อมูลที่ประมวลผลจากหัวข้อดังกล่าว) ไว้ใน userBiddingSignals ได้เมื่อสร้างกลุ่มความสนใจ วิธีนี้ช่วยให้ผู้ซื้อใช้หัวข้อเมื่อเสนอราคาได้

const interestGroup = {
  owner: 'https://dsp.example',
  name: 'custom-bikes',
  userBiddingSignals: {
    topics: currentTopics,
    ....
  },
  ...
};

navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);

ระบุหัวข้อของผู้ขายในการประมูล

หัวข้อปัจจุบันที่ผู้ขายมองเห็นได้ (หรือข้อมูลที่ประมวลผลจากหัวข้อดังกล่าว) อาจรวมอยู่ใน auctionSignals, sellerSignals หรือ perBuyerSignals เมื่อกำหนดค่าการประมูล วิธีนี้ช่วยให้ทั้งผู้ซื้อสามารถใช้หัวข้อเมื่อเสนอราคา และผู้ขายสามารถใช้หัวข้อเมื่อให้คะแนนราคาเสนอ

const myAuctionConfig = {
  seller: 'https://ssp.example',
  auctionSignals: {
    topics: currentTopics,
  },
  sellerSignals: {
    topics: currentTopics,
  },
  perBuyerSignals: {
    'https://dsp.example': {
      topics: currentTopics,
      // ...
    },
    // ...
  },
  // ...
};
const result = await navigator.runAdAuction(myAuctionConfig);

ใช้หัวข้อเมื่อเสนอราคา

จากนั้นเมื่อมีการเรียกใช้ฟังก์ชัน generateBid() ของผู้ซื้อ คุณจะสามารถใช้หัวข้อที่บันทึกไว้ที่ส่งผ่าน (เช่นเดียวกับข้อมูลอื่นๆ ที่ระบุในสัญญาณ) เพื่อช่วยในการเสนอราคา ตัวอย่างเช่น ผู้เสนอราคาอาจใช้ข้อความ "กีฬา/การปั่นจักรยาน" หัวข้อที่จะเสนอราคาสูงขึ้นกับกลุ่มความสนใจcustom-bikesนี้

generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  const topics = interestGroup.userBiddingSignals.topics;
  // Use the topic values in the bidding logic.
}

ใช้หัวข้อเมื่อให้คะแนนราคาเสนอ

หลังจากเสนอราคาเมื่อมีการเรียกใช้ฟังก์ชัน scoreAd() ของผู้ขาย คุณสามารถใช้หัวข้อที่บันทึกไว้ได้เช่นเดียวกับข้อมูลอื่นๆ ที่ส่งผ่านการกำหนดค่าการประมูล ตัวอย่างเช่น ผู้ขายอาจต้องการถ่วงน้ำหนักการเสนอราคาที่สูงขึ้นสำหรับโฆษณาที่ตรงกับหัวข้อที่ตรวจพบ

scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals, directFromSellerSignals) {
  const sellerTopics = actionConfig.auctionSignals.topics;
  // or corresponding key in sellerSignals
  // use the topics values to score the ads
  //...
}