Annonces ciblées par centres d'intérêt avec l'API Topics

Envoyer un commentaire

À propos de l'API Topics

Dans le domaine de la publicité mobile, les annonceurs souhaitent diffuser des annonces pertinentes correspondant aux centres d'intérêt des mobinautes. Par exemple, un passionné de cuisine a plus de chances d'être interpellé par des annonces liées au monde culinaire que par des annonces qui n'ont aucun rapport avec ses centres d'intérêt.

La publicité ciblée par centres d'intérêt (également appelée IBA) est une forme de publicité personnalisée dans laquelle une annonce est sélectionnée en fonction des centres d'intérêt de l'utilisateur, lesquels ont été déterminés la façon dont il a interagi avec les applications. Cette approche est différente de la publicité contextuelle, qui repose uniquement sur les centres d'intérêt dérivés du contenu actuellement consulté. L'un des avantages de la publicité ciblée par centres d'intérêt par rapport à la publicité contextuelle est qu'elle permet aux applications de diffuser des annonces plus pertinentes et engageantes auprès des utilisateurs.

L'API Topics déduit des signaux précis relatifs aux centres d'intérêt sur l'appareil en fonction de l'utilisation de l'application. Ces signaux, appelés thèmes, sont partagés avec les annonceurs et répondent ainsi aux cas d'utilisation de la publicité ciblée par centres d'intérêt sans avoir à suivre les utilisateurs individuels dans les applications.

Concepts clés

  • Un thème est un sujet d'intérêt compréhensible pour l'utilisateur. Il fait partie de la taxonomie de l'API Topics.
  • Un thème est observé par un appelant (une application ou un SDK tiers utilisé dans l'application) ayant effectué une requête API Topics à partir d'une application associée à ce thème au cours des trois dernières "epochs".
  • Une epoch est une période de calcul thématique, telle qu'une semaine.

Comment ça marche

Avec cette proposition, l'API Topics vise à fournir aux appelants des thèmes publicitaires d'intérêt plus précis en fonction de l'utilisation de l'application par l'utilisateur. Ces thèmes peuvent être utilisés pour compléter les informations contextuelles relatives à l'application qui souhaitent diffuser une annonce. Ils peuvent également être combinés afin d'identifier une annonce appropriée pour l'utilisateur.

Reportez-vous au guide du développeur de l'API Topics pour obtenir des exemples de code qui montrent comment configurer l'extraction des thèmes pour la publicité ciblée par centres d'intérêt. Remarque : les API ne sont pas encore finalisées.

Les thèmes sont sélectionnés à partir d'une taxonomie Open Source prédéfinie.

La plate-forme utilise un modèle de classificateur pour déduire les thèmes. L'implémentation de l'API Topics et son utilisation du classificateur font partie du projet Open Source Android et s'affinent avec le temps.

À des fins d'illustration, l'exemple de code suivant présente l'utilisation de thèmes pour extraire une annonce ciblée par centres d'intérêt. Les API utilisées ici ne sont pas définitives.

// Initialize the Topics API.
…
topicsFuture = AdvertisingTopicsClient.getTopics();

// Retrieve Topics and use them in Ad request.
Futures.addCallback(
    topicsFuture,
    new FutureCallback<AdvertisingTopicsInfo>() {
        @Override
        public void onSuccess(@Nullable AdvertisingTopicsInfo topicsInfo) {
            // Sanitize Topics result.
            ...
            // Initialize ad request with Topics obtained.
            AdRequest adRequest = AdRequest.initialize(topicsInfo);
        }

        @Override
        public void onFailure(Throwable t) {
            // Handle error.
            ...
        }
});

Pour mieux comprendre le fonctionnement du modèle de classificateur, vous pouvez tester la manière dont différentes données d'application réagissent dans le système à l'aide du colab sur les classificateurs de thèmes Android.

Accéder aux API Topics

Les plates-formes ad tech doivent demander l'accès à l'API Topics. Pour en savoir plus, consultez la section Créer un compte Privacy Sandbox.

Détails

  • Une fois par epoch (une fois par semaine, par exemple), les cinq principaux thèmes de l'utilisateur sont calculés à l'aide des informations disponibles sur l'appareil.

    • Lorsque l'API Topics est appelée, la plate-forme vérifie si un thème est attribué à l'application qui appelle l'API. Si aucun thème n'est attribué, un choix est effectué comme suit et le thème choisi sera attribué à cette application pour le reste de cette epoch.
      • Avec une probabilité de 95 %, un thème est choisi de manière aléatoire dans la liste des cinq principaux thèmes calculés pour cette epoch.
      • Avec une probabilité de 5 %, un thème est choisi de manière aléatoire dans la taxonomie.
      • Un appelant peut spécifier qu'il souhaite récupérer les thèmes sans modifier l'état. Pour ce faire, il peut appeler getTopics à l'aide du paramètre shouldRecordObservation = false. Dans ce cas, les thèmes pourront être renvoyés, mais l'appel ne sera pas inclus dans le calcul hebdomadaire de l'epoch, et la liste des thèmes observés pour l'appelant ne sera pas mise à jour.
    • Chaque application se voit attribuer un thème distinct dans le but d'empêcher la mise en corrélation des différents thèmes avec le même utilisateur d'une application à une autre.
      • Par exemple, l'application A peut voir le thème T1 pour l'utilisateur, tandis que l'application B peut voir le thème T2. De cette façon, les deux applications peuvent difficilement identifier que ces informations sont associées au même utilisateur.
  • L'API Topics renvoie une liste comportant jusqu'à trois thèmes, un pour chacune des trois epochs précédentes.

    • Si vous fournissez jusqu'à trois thèmes, les applications peu utilisées auront suffisamment de thèmes pour trouver des annonces pertinentes. Cependant, les applications que vous utilisez fréquemment identifieront au maximum un nouveau thème par semaine.
    • Les informations sur le thème renvoyé incluent un identifiant (nombre entier) correspondant à une entrée de la taxonomie, une version de taxonomie et une version de modèle de classificateur.
    • Seuls les appelants ayant observé l'utilisateur se servir d'une application associée au thème en question au cours des trois dernières epochs pourront recevoir ce thème.
    • Tous les thèmes renvoyés représentent les centres d'intérêt de l'utilisateur. Vous pouvez les sélectionner dans leur totalité ou en partie pour la personnalisation des annonces dans votre demande d'annonce.
  • Une fois qu'un thème est attribué à l'application qui appelle l'API Topics, la plate-forme détermine si l'appelant peut le recevoir.

    • Seuls les appelants ayant observé l'engagement utilisateur sur une application associée au thème en question au cours des trois dernières epochs peuvent recevoir ce thème.
    • Si l'appelant n'a encore jamais appelé l'API pour cet utilisateur dans une application à propos de ce thème, ce dernier ne sera pas inclus dans la liste renvoyée par l'API.
    • Si l'appelant n'a reçu aucun thème au cours des trois dernières epochs, l'API Topics renvoie une liste vide.

    Imaginons que sept applications soient installées sur l'appareil de l'utilisateur : A, B, C, D, E, F et G. Supposons que la classification des thèmes pour l'application et pour les SDK de technologie publicitaire de ces applications soit la suivante :

    Application Classification des thèmes SDK de technologie publicitaire
    R T1, T5 ad-sdk1, ad-sdk2
    B T2 ad-sdk2
    C T3, T6 ad-sdk3, ad-sdk4
    D T1, T4 ad-sdk1
    E T5 ad-sdk4, ad-sdk5
    F T6 ad-sdk2, ad-sdk3, ad-sdk4
    G T7 ad-sdk2
    • Fin de la semaine 1 : l'API Topics génère les cinq principaux thèmes de l'utilisateur pour cette epoch.
    Thème principal Appelants qui peuvent se renseigner sur le sujet
    T1 ad-sdk1, ad-sdk2
    T2 ad-sdk2
    T3 ad-sdk3, ad-sdk4
    T4 ad-sdk1
    T5 ad-sdk1, ad-sdk2, ad-sdk4, ad-sdk5
    • Au cours de la deuxième semaine, si un appelant au niveau d'une application appelle l'API, la liste des thèmes renvoyés n'inclura que ceux pour lesquels l'appelant figure dans la colonne "Appelants qui peuvent se renseigner sur le sujet" correspondant à ce thème pour cette application et pour cette epoch.
    • La période d'historique prise en compte dans le calcul des thèmes disponibles pour chaque appelant est de trois epochs (ou trois semaines).
    • Seuls les thèmes associés à des applications qui appellent l'API Topics, directement ou via des SDK publicitaires, sont utilisés. Autrement dit, si une application n'inclut aucun SDK publicitaire qui appelle l'API Topics et n'appelle pas l'API elle-même, les thèmes associés à cette application ne contribueront pas à ceux partagés avec d'autres applications ou SDK publicitaires.
    • Une application peut également désactiver l'API Topics de manière déclarative via de nouveaux éléments manifestes et XML, afin d'empêcher les SDK publicitaires d'utiliser l'API pour cette application. Les thèmes associés aux applications désactivées ne sont pas pris en compte dans le calcul hebdomadaire des thèmes. Ce document sera mis à jour pour inclure les détails d'implémentation associés.
  • Si l'utilisation des applications est insuffisante pour que la plate-forme puisse déduire cinq thèmes, elle peut envisager des options telles que la génération aléatoire de thèmes restants.

Taxonomie

  • Dans la proposition actuelle, la taxonomie initiale comprend entre quelques centaines et quelques milliers de thèmes. La proposition de taxonomie initiale sera partagée dans une prochaine mise à jour de ce document.
  • Cette taxonomie sera définie manuellement afin que les thèmes sensibles en soient exclus.
  • Elle sera adaptée aux catégories d'annonces qui peuvent être diffusées dans les applications mobiles Android.
  • La taxonomie est Open Source et peut être modifiée. Vous pouvez soumettre des suggestions de modifications à l'aide du bouton de commentaires situé en haut de cette page.

Classificateur de thèmes

Les thèmes d'intérêt sont issus d'un modèle de classificateur entraîné à partir d'informations accessibles à tous sur l'application (telles que son nom, sa description et le nom de son package).

  • Lorsque le modèle de classificateur est exploité à des fins d'inférence pour calculer les thèmes pour une epoch donnée, l'ensemble de signaux utilisés reste sur l'appareil. Cet ensemble de signaux peut inclure des applications installées ou récemment utilisées. Il pourra être étendu par la suite pour inclure d'autres signaux.
  • Les modèles initiaux seront entraînés par Google. Les données d'entraînement comprendront des libellés définis manuellement pour les informations d'applications accessibles à tous. Le modèle sera disponible gratuitement pour que les applications puissent le tester et puissent déterminer les thèmes pertinents pour leur application.
  • Les modèles initiaux seront entraînés à l'aide d'informations accessibles à tous sur les applications, informations issues d'un ensemble limité de plates-formes de téléchargement d'applications, comme le Google Play Store.
  • Il est possible qu'une application soit associée à plusieurs thèmes, à aucun thème ou qu'elle n'ajoute aucun thème à l'historique de l'utilisateur. Si une application correspond à plusieurs thèmes dans la taxonomie, le nombre de thèmes choisis pour cette application est limité aux trois premiers.

Contrôle utilisateur

  • La conception vise à fournir aux utilisateurs la possibilité d'afficher et de supprimer les thèmes associés à l'utilisation de l'application. La mise en œuvre de cette fonctionnalité de contrôle utilisateur est en cours d'élaboration et sera incluse dans une prochaine mise à jour.
  • Si l'utilisateur désinstalle une application qui a contribué à la sélection d'un thème déduit au cours des trois dernières epochs, ce thème ne sera pas supprimé de la liste des thèmes renvoyés pour les trois dernières epochs, afin d'éviter de divulguer des informations sur la désinstallation.

Pour faciliter le test de l'expérience utilisateur, vous pouvez également lancer un intent in-app afin d'afficher l'interface utilisateur correspondant aux paramètres de l'API Topics de la même manière qu'un utilisateur final. Voici un exemple de cet appel :

//Button that launches settings UI
private Button mSettingsAppButton;
private static final String RB_SETTING_APP_INTENT = "android.adservices.ui.SETTINGS";

//Does setup for button on screen that will launch settings UI to observe Topics
private void registerLauchSettingsAppButton() {
    mSettingsAppButton.setOnClickListener(
        new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                Context context = getApplicationContext();
                Intent activity2Intent = new Intent(RB_SETTING_APP_INTENT);
                activity2Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(activity2Intent);
            }
        });
}