تتيح Topics API عرض الإعلانات المستندة إلى الاهتمامات بدون استخدام ملفات تعريف الارتباط الخارجية.
How the Topics API works
The Topics API can be used to observe and provide access to topics that appear to be of interest to the user, based on their activity. The Topics API can then give API callers (such as ad tech platforms) access to a user's topics of interest, but without revealing additional information about the user's activity.
Key concepts
- A topic is a human-readable topic of interest for the current user and is part of the Topics taxonomy.
- A caller is an entity, such as an app, a third-party SDK, a website, or service, that makes a request to the Topics API to observe or access a user's interests.
- A topic is observed by a caller, if the caller made a Topics API request from a web page or app associated with this topic during the past three epochs.
- An epoch is a period of topic computation, which defaults to one week.
- A taxonomy is a hierarchical list of categories, which includes, for example, such categories as
/Arts & Entertainment/Music & Audio/Soul & R&Band/Business & Industrial/Business Services/Corporate Events. - Topics are derived using a classifier model that maps user activity to zero or more topics.
Topics API flow core steps
The Topics API lifecycle has three main steps:
- Observe user activity, such as when they visit the web page
https://cats.example/tabby/index.htmlor download the appcats. - Derive topics from user activity, for example
/Pets & Animals/Pets/Cats. - Access topics previously observed for the user, for example as a signal to select relevant advertising (such as a cat food promotion).
Observe topics
Callers can only access topics of interest that they've observed. A caller observes a topic when they make a Topics API request from a context associated with this topic. To illustrate this concept, consider the following simplified example.
- Suppose there are two Topics API callers: A and B.
- There are two contexts:
- Greenhouse, for example an app named Greenhouse or a website greenhouse.example, associated with the topic
Home & Garden. - Tennis exercises, for example an app named Tennis Exercises or a website tennis.example, associated with the topic
Sports/Tennis.
- Greenhouse, for example an app named Greenhouse or a website greenhouse.example, associated with the topic
- Both caller A and B are present in the context of Greenhouse.
- Only the caller B is present in the context of Tennis exercises.
- Assume that no topics were observed for the user before epoch 1, for the sake of simplification.
- The user visits the Greenhouse app, and callers A and B make a Topics API call to record the user visit to the page or app (see the implementation guide suggested in Next steps to find out how to call the Topics API). This record (a hostname or app data) is later used to derive topics of interest. The Topics API will later mark the topic
Home & Gardenas observed by both callers A and B. - The user visits the Tennis exercises app. Only the caller B sends a Topics API request. The Topics API will later mark the topic
Sports/Tennisas observed by the caller B. - By the end of the epoch, the Topics API refreshes the user's top topics and determines the callers that observed these topics based on user activity.
- Later, when the caller B makes another Topics API call, it can get either
Home & GardenorSports/Tennistopic (or, with a 5% chance, a random topic) for this user in the response array. - Caller A can only access the topic
Home & Garden, as it has never observed the topicSports/Tennis. This means that a third-party will only learn about a user's topic of interest within the specific context (app or website) where it is present.
Derive topics
Topics derives topics of interest from user activity. The topics are selected from a predefined open-source taxonomy. Once per epoch, Topics refreshes the user's top five topics and the callers that observed them during the epoch. The Topics classifier model derives topics from user activity: hostname for a web page visit, app information on Android.
Caller accesses user's topics of interest
The API returns only topics that have been observed by the caller within the most recent three epochs. A maximum of three topics may be returned to a caller,one topic for each of the three recent epochs (if the caller observed topics for that epoch). The returned topics can be used by the caller to supplement any contextual information and can be combined to help find a more relevant ad for the user.
Epochs
The Topics API must ensure that the topics of interest it provides are kept up to date. The topics are inferred for a user based on their activity during a period of time known as an epoch, one week by default. Each user has their own epochs (epochs are "per user") and the initial start time is randomized.
Once each epoch, the Topics API computes the user's top five topics and determines which callers observed those topics using on-device information. The topic selected for each epoch is randomly selected from the user's top five topics for that time period. To further enhance privacy and ensure that all topics may be represented, there is a 5% chance the topic is randomly selected from all possible topics in the taxonomy of interests.
المواضيع على الويب في الممارسة العملية
على الويب، يتم استنتاج المواضيع من أسماء المضيفين للصفحات التي يزورها المستخدم. على سبيل المثال، قد يكون الموضوع الذي تم استنتاجه للموقع الإلكتروني dogs.example هو /الحيوانات الأليفة والحيوانات/الحيوانات الأليفة/الكلاب.
يعرض الرسم البياني التالي مثالاً مبسطًا لتوضيح كيف يمكن أن تساعد Topics API إحدى منصات تكنولوجيا الإعلان في اختيار إعلان مناسب. يفترض المثال أنّ متصفّح المستخدم يتضمّن نموذجًا لتحديد المواضيع من أسماء مضيفي المواقع الإلكترونية.
يحدّد المتصفّح مصدر الجهة الطالبة من سياق الرمز الذي يستدعي Topics API. يعني ذلك عمليًا أنّ مستخدمي Topics يطلبون واجهة برمجة التطبيقات في إطار iframe من مصدرهم أو يضمّنون المواضيع في عملية fetch إلى مصدرهم.
على سبيل المثال، يمكن تضمين وسيط عرض إعلانات الموردين (SSP) في مواقع إلكترونية متعددة للناشرين. يمكن بعد ذلك لوسيط عرض إعلانات الموردين طلب Topics API ضمن إطار iframe من مصدرها، ما يتيح لها مراقبة المواضيع المرتبطة بمستخدم على مواقع الناشرين هذه. ويمكن بعد ذلك مشاركة هذه المواضيع مع منصة عرض طلب (DSP) لمساعدتها في اختيار إعلان ملائم بالمستخدِم.
الطريقة التي تحدّد بها واجهة برمجة التطبيقات المواضيع التي تظهر للمتصلين
لا يتلقّى مستدعو واجهة برمجة التطبيقات سوى المواضيع التي رصدها مؤخرًا، ويتم تجديد مواضيع المستخدم مرة واحدة كل حقبة، وهي فترة زمنية تم ضبطها على أسبوع واحد في تنفيذ Chrome. وهذا يعني أنّ واجهة برمجة التطبيقات توفّر نافذة متجددة يمكن من خلالها أن يتلقّى طالب البيانات مواضيع تم رصدها.
يوضّح الجدول التالي مثالاً (صغيرًا بشكل غير واقعي) لسجلّ تصفّح افتراضي لمستخدم خلال فترة واحدة، ويعرض المواضيع المرتبطة بالمواقع الإلكترونية التي زارها، والجهات التي تطلب البيانات من واجهة برمجة التطبيقات والموجودة على كل موقع إلكتروني (الكيانات التي تطلب البيانات من document.browsingTopics() في رمز JavaScript المُضمّن في الموقع الإلكتروني).
| الموقع الإلكتروني | المواضيع | الجهات التي تطلب بيانات من واجهة برمجة التطبيقات على الموقع الإلكتروني |
|---|---|---|
| running.example | Running & WalkingAthletic Shoes |
adtech1.example adtech2.example |
| dogs.example | Dogs |
adtech1.example |
| holiday.example | Hotels & Accommodations |
adtech2.example |
| sunglasses.example | Sunglasses |
[لا شيء] |
في نهاية الفترة الزمنية (أسبوع واحد تلقائيًا)، تنشئ Topics API أهم المواضيع في المتصفّح لهذا الأسبوع.
- أصبح النطاق adtech1.example مؤهلاً الآن لتلقّي المواضيع
Running & WalkingوAthletic ShoesوDogs، لأنّه رصدها على running.example وعلى dogs.example أيضًا. - إنّ adtech1.example غير مؤهَّل لتلقّي الموضوع
Hotels & Accommodationsلهذا المستخدم لأنّه غير متوفّر على أيّ من المواقع الإلكترونية التي زارها المستخدم مؤخرًا والمرتبطة بهذا الموضوع. - اطّلع النطاق adtech2.example على المواضيع
Running & WalkingوAthletic ShoesوHotels & Accommodations، ولكنّه لم يطّلع على الموضوعDogs.
زار المستخدم الموقع الإلكتروني sunglasses.example الذي يتضمّن الموضوع Sunglasses، ولكن لم يتم إجراء أي طلبات إلى Topics API على هذا الموقع الإلكتروني. في هذه المرحلة، يعني ذلك أنّ موضوع Sunglasses لن تعرضه واجهة برمجة التطبيقات لأي طالب.
في الأسبوع الثاني، ينتقل المستخدِم إلى موقع إلكتروني آخر:
| الموقع الإلكتروني | المواضيع | الجهات التي تطلب بيانات من واجهة برمجة التطبيقات على الموقع الإلكتروني |
|---|---|---|
| cameras.example | Camera & Photo Equipment |
adtech2.example |
بالإضافة إلى ذلك، تتم إضافة رمز من adtech2.example إلى sunglasses.example:
| الموقع الإلكتروني | المواضيع | الجهات التي تطلب بيانات من واجهة برمجة التطبيقات على الموقع الإلكتروني |
|---|---|---|
| sunglasses.example | Sunglasses |
adtech2.example |
بالإضافة إلى Running & Walking وAthletic Shoes وHotels & Accommodations من الأسبوع الأول، يعني ذلك أنّ adtech2.example سيتمكّن الآن من تلقّي المواضيع Camera & Photo Equipment وSunglasses، ولكن لن يحدث ذلك إلا في الفترة التالية، أي الأسبوع الثالث. ويضمن ذلك ألا تتمكّن الجهات الخارجية من معرفة المزيد عن اهتمامات المستخدم السابقة (في هذه الحالة، الاهتمام بالموضة) أكثر مما يمكنها معرفته باستخدام ملفات تعريف الارتباط.
بعد أسبوعين آخرين، قد تتم إزالة Running & Walking وAthletic Shoes وHotels & Accommodations من قائمة المواضيع المؤهَّلة في adtech2.example إذا لم يزر المستخدم أي مواقع إلكترونية تتضمّن هذه المواضيع وتتضمّن رمزًا من adtech2.example.
نموذج المصنِّف
تستخدِم Topics نموذج تصنيف يربط أسماء المضيفين للمواقع الإلكترونية بموضوع واحد أو أكثر (قد تتيح إضافة معلومات أخرى، مثل عناوين URL الكاملة أو محتوى الصفحة، عرض إعلانات أكثر صلة بالموضوع، ولكن قد يؤدي ذلك أيضًا إلى الحدّ من الخصوصية).
التصنيف
يتم اختيار المواضيع من تصنيف. وقد اختار Chrome هذه المواضيع بهدف أن يصبح التصنيف مرجعًا يديره مساهمون موثوق بهم في المنظومة المتكاملة. يجب أن يكون التصنيف صغيرًا بما يكفي لربط متصفّحات العديد من المستخدمين بكل موضوع. والهدف النهائي هو أن يتم الحصول على التصنيف من جهة خارجية تدمج الملاحظات والآراء والأفكار الواردة من مختلف الجهات في المجال.
لتجنُّب الفئات الحسّاسة، يجب أن تكون المواضيع علنية ومنظَّمة بتدخّل فريقنا ومحدّثة باستمرار. تم تنظيم التصنيف الذي يستخدمه Chrome من قِبل فريقنا لاستبعاد الفئات التي تُعتبر حساسة بشكل عام، مثل العرق أو الميول الجنسي.
تصنيف المواضيع
يتم تنظيم المواضيع يدويًا لأهم 50,000 موقع إلكتروني، ويتم استخدام قائمة التجاوز المنظَّمة هذه لأسماء المضيفين والمواضيع لتدريب نموذج المصنّف. بالنسبة إلى أهم المواقع الإلكترونية، يتم الوصول إلى المواضيع من قائمة التجاوز بدلاً من استخدام نموذج المصنِّف. يمكنك عرض قائمة التجاوز محليًا على جهاز الكمبيوتر.
chrome://topics-internals إصدار النموذج ومساره والمواضيع المرتبطة بكل مضيف مُدرَج.عند تنفيذ Topics API في Chrome، يتم تنزيل ملف TensorFlow Lite يمثّل النموذج ليتم استخدامه محليًا على جهاز المستخدم.
كيفية اختيار أهم خمسة مواضيع للمستخدم
تعرض واجهة برمجة التطبيقات موضوعًا واحدًا لكل حقبة، بحد أقصى ثلاثة مواضيع. إذا تم عرض ثلاث مواضيع، سيشمل ذلك مواضيع الحقبة الحالية والحقبتين السابقتين.
- في نهاية كل حقبة، يجمع المتصفّح قائمة بالصفحات التي تستوفي المعايير التالية:
- زار المستخدم الصفحة خلال الفترة الزمنية.
- تتضمّن الصفحة رمزًا يستدعي
document.browsingTopics(). - تم تفعيل واجهة برمجة التطبيقات (على سبيل المثال، لم يحظرها المستخدم أو عنوان الاستجابة).
- يستخدم المتصفّح على جهاز المستخدم نموذج التصنيف الذي توفّره Topics API لربط اسم المضيف لكل صفحة بقائمة مواضيع.
ينشئ المتصفّح قائمة بأبرز خمسة مواضيع.
- يتمّ تصنيف كلّ موضوع من المواضيع الرئيسية الـ 22 في التصنيف ضمن حزمة "مستوى فائدة عالٍ" أو "مستوى فائدة عادي" استنادًا إلى الملاحظات الواردة من منظومة الإعلانات المتكاملة. يرتّب المتصفّح المواضيع أولاً حسب تصنيفها في الحزمة. ترث جميع المواضيع الفرعية تصنيف المجموعة الخاص بموضوعها الرئيسي. يتم منح الأولوية للمواضيع "العالية الفائدة".
- بعد ذلك، يرتّب المتصفّح المواضيع حسب عدد مرات ظهورها ضمن كل مجموعة.
- يتم اختيار أهم خمسة مواضيع من هذه القائمة المرتبة لتكون أهم مواضيع المستخدم في تلك الحقبة.
تعرض طريقة document.browsingTopics() بعد ذلك موضوعًا عشوائيًا من بين أهم خمسة مواضيع لكل حقبة، مع احتمال بنسبة% 5 أن يتم اختيار أي من هذه المواضيع بشكل عشوائي من التصنيف الكامل للمواضيع. في Chrome، يمكن للمستخدمين أيضًا إزالة مواضيع فردية أو محو سجلّ التصفّح لتقليل عدد المواضيع التي تعرضها واجهة برمجة التطبيقات. يمكن للمستخدمين أيضًا إيقاف واجهة برمجة التطبيقات.
يمكنك الاطّلاع على معلومات حول المواضيع التي تم رصدها خلال الفترة الحالية من صفحة chrome://topics-internals.
Next steps
Setup
Implement Topics
انظر أيضًا
يمكنك الاطّلاع على مراجعنا لفهم Topics API على الويب بشكل أفضل.
- يمكنك الاطّلاع على عروض توضيحية وعروض تعاون وفيديوهات تفصيلية حول المواضيع.
- اطّلِع على قائمة خيارات Chrome المخصّصة للمطوّرين التي تتيح لهم تخصيص Topics API للاختبار.
- تعرَّف على كيفية تمكُّن المستخدمين والمطوّرين من التحكُّم في واجهة برمجة التطبيقات.
- اطّلِع على المراجع للحصول على خدمات تفسيرية فنية ودعم. طرح الأسئلة والتفاعل مع المستخدمين ومشاركة الملاحظات