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&B
and/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.html
or 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 & Garden
as 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/Tennis
as 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 & Garden
orSports/Tennis
topic (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 ممکن است /Pets & Animals/Pets/Dogs باشد.
نمودار زیر یک مثال ساده را نشان می دهد تا نشان دهد چگونه API موضوعات ممکن است به یک پلت فرم فناوری تبلیغات در انتخاب یک تبلیغ مناسب کمک کند. در این مثال فرض می شود که مرورگر کاربر از قبل مدلی برای نگاشت نام میزبان وب سایت به موضوعات دارد.
مرورگر مبدا تماس گیرنده را از متن کدی که Topics API را فراخوانی می کند، تعیین می کند. در عمل، این بدان معنی است که کاربران Topics API را در یک iframe از مبدأ خود فرا میخوانند یا موضوعات را در یک واکشی به مبدا خود وارد میکنند.
به عنوان مثال، یک پلت فرم سمت عرضه (SSP) را می توان در سایت های چند ناشر تعبیه کرد. سپس SSP می تواند Topics API را در یک iframe از مبدا فراخوانی کند و به آن اجازه می دهد موضوعات مرتبط با کاربر را در سایت های آن ناشر مشاهده کند. سپس می توان این موضوعات را با یک پلتفرم سمت تقاضا (DSP) به اشتراک گذاشت تا به آن کمک کند یک تبلیغ مرتبط را برای کاربر انتخاب کند.
چگونه API تصمیم می گیرد که تماس گیرندگان کدام موضوعات را ببینند
تماسگیرندگان API فقط موضوعاتی را دریافت میکنند که اخیراً مشاهده کردهاند، و موضوعات برای یک کاربر هر دوره یکبار بهروزرسانی میشوند: یک دوره زمانی که در اجرای Chrome روی یک هفته تنظیم شده است. این بدان معناست که API یک پنجره متحرک فراهم می کند که در آن یک تماس گیرنده ممکن است موضوعات مشاهده شده را دریافت کند.
جدول زیر نمونهای (اگرچه بهطور غیر واقعی کوچک) از یک تاریخچه مرور فرضی برای یک کاربر در طول یک دوره، نشان میدهد که موضوعات مرتبط با سایتهایی را که بازدید کردهاند، و تماسگیرندگان API موجود در هر سایت (موجودی که document.browsingTopics()
در کد جاوا اسکریپت موجود در سایت).
سایت | موضوعات | تماس گیرندگان API در سایت |
---|---|---|
در حال اجرا.مثال | Running & Walking Athletic Shoes | adtech1.example adtech2.example |
سگ ها. مثال | Dogs | adtech1.example |
تعطیلات. مثال | Hotels & Accommodations | adtech2.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
توسط API برای هیچ تماس گیرنده ای بازگردانده نمی شود.
در هفته دوم، کاربر از سایت دیگری بازدید می کند:
سایت | موضوعات | تماس گیرندگان API در سایت |
---|---|---|
cameras.example | Camera & Photo Equipment | adtech2.example |
علاوه بر این، کد adtech2.example به sunglasses.example
اضافه می شود:
سایت | موضوعات | تماس گیرندگان API در سایت |
---|---|---|
عینک آفتابی. مثال | Sunglasses | adtech2.example |
بهعلاوه Running & Walking
، Athletic Shoes
، Hotels & Accommodations
از هفته 1، این بدان معناست که adtech2.example اکنون میتواند موضوعات Camera & Photo Equipment
و Sunglasses
را دریافت کند - اما نه تا دوره بعدی، هفته 3. این تضمین میکند اینکه اشخاص ثالث نمی توانند بیشتر از آنچه با کوکی ها می توانستند درباره گذشته کاربر (در این مورد علاقه به مد) بیاموزند.
پس از دو هفته دیگر، اگر کاربر از سایتهایی با موضوعاتی که شامل کد adtech2.example است بازدید نکند Running & Walking
، Athletic Shoes
و Hotels & Accommodations
ممکن است از فهرست موضوعات واجد شرایط adtech2.example خارج شوند.
مدل طبقه بندی کننده
Topics از یک مدل طبقهبندیکننده استفاده میکند که نام میزبان وبسایتها را با موضوعات صفر یا بیشتر ترسیم میکند (تجزیه و تحلیل اطلاعات اضافی، مانند URLهای کامل یا محتوای صفحه، ممکن است به تبلیغات مرتبطتر اجازه دهد، اما میتواند حریم خصوصی را نیز کاهش دهد).
طبقه بندی
موضوعات از طبقه بندی انتخاب می شوند. این موضوعات توسط Chrome مدیریت شده است، با این هدف که طبقه بندی به منبعی تبدیل شود که توسط مشارکت کنندگان قابل اعتماد اکوسیستم نگهداری می شود. طبقه بندی باید به اندازه کافی کوچک باشد که بسیاری از مرورگرهای کاربران با هر موضوع مرتبط شوند. هدف نهایی این است که طبقه بندی از یک طرف خارجی که بازخوردها و ایده هایی از سراسر صنعت را در بر می گیرد، تهیه شود.
برای اجتناب از دستهبندیهای حساس، موضوعات باید عمومی، تحت نظارت انسانی و بهروز باشند. طبقهبندی استفادهشده توسط Chrome بهمنظور حذف دستههایی که عموماً حساس تلقی میشوند ، مانند قومیت یا گرایش جنسی، توسط انسان تنظیم شده است.
طبقه بندی موضوعات
موضوعات به صورت دستی برای 50000 سایت برتر تنظیم می شوند و این فهرست نادیده گرفته شده از نام هاست و موضوعات برای آموزش مدل طبقه بندی کننده استفاده می شود. برای سایتهای برتر، بهجای استفاده از مدل طبقهبندیکننده، به موضوعات از فهرست نادیده گرفته میشود. می توانید فهرست لغو را به صورت محلی در رایانه خود مشاهده کنید .
اجرای Chrome از Topics API یک فایل TensorFlow Lite را دانلود می کند که مدل را نشان می دهد تا بتوان از آن به صورت محلی در دستگاه کاربر استفاده کرد.
نحوه انتخاب پنج موضوع برتر کاربر
API یک موضوع را برای هر دوره، حداکثر تا سه موضوع برمی گرداند. اگر سه مورد برگردانده شود، این شامل موضوعات مربوط به دوره فعلی و دو دوره قبلی است.
- در پایان هر دوره، مرورگر فهرستی از صفحاتی را جمع آوری می کند که معیارهای زیر را دارند:
- این صفحه در طول دوره مورد بازدید کاربر قرار گرفت.
- این صفحه شامل کدهایی است که
document.browsingTopics()
را فراخوانی می کند. - API فعال شد (به عنوان مثال، توسط کاربر یا سرصفحه پاسخ مسدود نشده است).
- مرورگر در دستگاه کاربر، از مدل طبقهبندیکننده ارائه شده توسط Topics API استفاده میکند تا نام میزبان هر صفحه را به فهرستی از موضوعات نگاشت کند.
مرورگر فهرستی از پنج موضوع برتر تولید می کند.
- هر یک از 22 موضوع ریشه در طبقه بندی بر اساس بازخورد اکوسیستم تبلیغاتی به یک سطل "مطلوب بالا" یا "مطلوب استاندارد" اختصاص داده شده است. مرورگر ابتدا موضوعات را بر اساس تخصیص سطل آنها مرتب می کند. همه موضوعات نسل اول، انتساب سطل موضوع ریشه والد خود را به ارث می برند. موضوعات "کاربرد بالا" در اولویت قرار دارند.
- سپس مرورگر موضوعات را بر اساس فرکانس در هر سطل مرتب می کند.
- پنج موضوع برتر از این فهرست مرتب شده به عنوان موضوعات برتر کاربر برای آن دوره انتخاب می شوند.
متد document.browsingTopics()
سپس یک موضوع تصادفی را از پنج تای اول برای هر دوره برمی گرداند، با احتمال 5% که هر یک از اینها ممکن است به طور تصادفی از طبقه بندی کامل موضوعات انتخاب شوند. در کروم، کاربران همچنین میتوانند موضوعات جداگانه را حذف کنند یا تاریخچه مرور خود را پاک کنند تا تعداد موضوعات برگردانده شده توسط API کاهش یابد. کاربران همچنین ممکن است از API انصراف دهند .
می توانید اطلاعات مربوط به موضوعات مشاهده شده در دوره فعلی را از صفحه chrome://topics-internals
مشاهده کنید.
مراحل بعدی
راه اندازی
موضوعات را پیاده سازی کنید
همچنین ببینید
برای درک بهتر Topics API در وب، منابع ما را بررسی کنید.
- دموی موضوعات، ویدیوهای مشارکتی و کلیپ را بررسی کنید.
- فهرست پرچمهای Chrome را ببینید که به توسعهدهندگان اجازه میدهد تا موضوعات API را برای آزمایش سفارشی کنند.
- ببینید کاربران و توسعه دهندگان چگونه می توانند API را کنترل کنند .
- منابع توضیح دهنده فنی و پشتیبانی را بررسی کنید. سوال بپرسید، مشارکت کنید و بازخورد خود را به اشتراک بگذارید.