Security, Privacy, AI and CSR information for all Piano products now lives in one place. Explore our Compliance Center.
Analytics
English French
English French

Appsflyer

À propos d'AppsFlyer

AppsFlyer est une plateforme de référence d'analyse marketing mobile et d'attribution. Elle permet aux entreprises de mesurer avec précision la performance de leurs campagnes sur tous les canaux, d'attribuer les acquisitions d'utilisateurs à des actions marketing précises et d'optimiser leurs stratégies grâce à des insights générés par l'IA, tout en respectant les exigences de confidentialité.

Grâce à ses capacités de traitement de données à grande échelle, à sa protection avancée contre la fraude et à ses nombreuses intégrations, AppsFlyer est un outil essentiel dans l'écosystème numérique fragmenté d'aujourd'hui. Il aide les marketeurs à transformer des données complexes en décisions claires et exploitables, qui favorisent la croissance et renforcent l'engagement client.

À propos de l'intégration

Faites évoluer votre stratégie de marketing mobile avec PA Connect AppsFlyer. Cette intégration crée un écosystème de données unifié qui relie l'attribution mobile à une analyse complète des utilisateurs, pour vous permettre de prendre des décisions fondées sur les données tout au long du parcours client. En associant les capacités de segmentation avancées de Piano Analytics à la plateforme d'attribution d'AppsFlyer, vous supprimez les silos de données et obtenez une vision plus fine de l'acquisition et de l'engagement des utilisateurs.

Suivez l'intégralité des parcours utilisateur, de la première interaction avec une campagne jusqu'à l'installation de l'application et au-delà. Utilisez les données d'attribution d'AppsFlyer pour identifier les canaux marketing qui apportent les utilisateurs à plus forte valeur, et les insights comportementaux de Piano Analytics pour optimiser vos stratégies d'engagement après l'installation. Accédez à des rapports unifiés qui combinent les métriques d'acquisition et l'analyse détaillée du comportement des utilisateurs, afin de mesurer le véritable ROI de vos campagnes et la valeur vie client sur chaque point de contact.

Il existe deux façons d'alimenter le connecteur en événements, selon la manière dont l'application transmet ses données à AppsFlyer.

Prérequis

Avant de configurer l'une ou l'autre méthode, vérifiez que les éléments suivants sont présents dans votre Data Model Piano Analytics :

  • Événements :

    • app.install (événement par défaut)

    • app.reengage (⚠️ événement personnalisé à déclarer)

    • app.reattribute (⚠️ événement personnalisé à déclarer), si le suivi du réengagement et de la réattribution est nécessaire

  • Propriété :

    • appsflyer_user_id (⚠️ propriété personnalisée à déclarer : scope = event, data type = string ; nous vous recommandons d'ajouter l'indicateur « Contient des données personnelles »)

Méthodes d'intégration

  • Méthode A : avec le SDK AppsFlyer (côté client). L'application intègre le SDK AppsFlyer. Il s'agit de l'implémentation standard décrite dans la plupart des documentations AppsFlyer.

  • Méthode B : sans le SDK AppsFlyer (côté serveur, S2S). L'application ou le backend envoie les événements à AppsFlyer via l'API Server-to-Server (S2S) Events plutôt que via le SDK. Utilisez cette méthode lorsque votre configuration est entièrement côté serveur et que le SDK AppsFlyer ne peut pas être intégré.

Quelle que soit la méthode, AppsFlyer génère le même postback Piano (voir « Le postback Piano » ci-dessous). Seule la manière dont l'événement arrive dans AppsFlyer diffère.

Identification du partenaire dans AppsFlyer

L'identifiant partenaire (PID) de Piano Analytics dans AppsFlyer est atinternet_int. Il reçoit les données de postback des installations et des événements in-app, ce qui permet à Piano Analytics de capturer l'activité d'acquisition et de réengagement des utilisateurs des applications mobiles.

Pour activer le connecteur, recherchez et activez atinternet_int dans la configuration des partenaires AppsFlyer, puis activez les postbacks concernés. Cette étape est obligatoire pour la méthode A comme pour la méthode B.

Correspondance de l'identifiant visiteur

Pour que les événements envoyés par AppsFlyer soient associés aux sessions Piano Analytics existantes, l'identifiant visiteur Piano doit être inclus dans chaque postback, sous la forme du paramètre d'URL idclient.

Sans le paramètre idclient, les événements reçus d'AppsFlyer ne peuvent être rattachés à aucune session visiteur dans Piano Analytics. Les données apparaissent alors comme du trafic sans lien avec les parcours utilisateur existants.

La manière dont l'identifiant visiteur Piano est transmis à AppsFlyer dépend de la méthode d'intégration, décrite ci-dessous.

Méthode A : avec le SDK AppsFlyer

  1. Récupérez l'identifiant visiteur Piano à l'aide de la méthode getVisitorId du SDK Piano Analytics dans l'application mobile. Consultez Visitor identification pour la syntaxe propre à chaque plateforme (Android, iOS, Flutter).

  2. Transmettez cette valeur à AppsFlyer à l'aide de la méthode setAdditionalData du SDK, avec la clé pianoVisitorId. AppsFlyer injecte automatiquement cette valeur dans l'URL du postback via le placeholder {pianoVisitorId}.

Exemple : si l'identifiant visiteur Piano est abc-123-def, l'application doit appeler :

AppsFlyer.setAdditionalData({"pianoVisitorId": "abc-123-def"})

AppsFlyer envoie alors le postback à :

https://<domain>/event?s=<site_id>&idclient=abc-123-def
  1. (Facultatif) Définissez le Customer User ID via le SDK AppsFlyer si un suivi cross-plateforme avec appsflyer_user_id est nécessaire.

  2. Dans l'interface AppsFlyer, recherchez le partenaire atinternet_int et activez le postback d'installation.

  3. Activez également le postback d'événement si le suivi du réengagement et de la réattribution est nécessaire.

Une fois le SDK en place, AppsFlyer déclenche automatiquement le postback à chaque installation ou événement in-app, et le transforme en événement Piano correspondant.

Méthode B : sans le SDK AppsFlyer (côté serveur, S2S)

Avant d'envoyer le payload S2S, assurez-vous que votre backend dispose de l'identifiant visiteur Piano de l'utilisateur.

En l'absence de SDK AppsFlyer, l'identifiant visiteur Piano est transmis dans le champ custom_data du payload S2S, sous la forme d'une chaîne encodée en JSON avec la clé pianoVisitorId. AppsFlyer utilise cette valeur pour renseigner le placeholder {pianoVisitorId} (le paramètre idclient) dans le postback Piano.

Endpoint de l'API S2S

POST https://api2.appsflyer.com/inappevent/{app-id}

Payload

Pour que le postback Piano se déclenche correctement avec tous les champs requis, le payload S2S doit contenir :

JSON
{
  "appsflyer_id": "<appsflyer_device_id>",
  "customer_user_id": "<user_id>",
  "eventName": "app.install",
  "eventTime": "2024-01-15 10:30:00.000",
  "eventValue": "{}",
  "custom_data": "{\"pianoVisitorId\": \"<piano_visitor_id>\", \"appUserId\": \"<app_user_id>\"}"
}

Correspondance des champs et remarques

Champ S2S

Rôle

custom_data

Doit contenir pianoVisitorId sous la forme d'une chaîne encodée en JSON. C'est ce champ qui renseigne le paramètre idclient dans l'URL du postback Piano.

customer_user_id

Correspond à appsflyer_user_id dans le corps du postback Piano.

eventName

Détermine le nom de l'événement envoyé à Piano.

appsflyer_id

L'identifiant d'appareil AppsFlyer.

eventTime / eventValue

Champs S2S standard (horodatage et valeur de l'événement).

Important :

  • La réattribution et le réengagement (app.reattribute, app.reengage) sont définis automatiquement par AppsFlyer selon sa logique d'attribution. Vous n’avez pas besoin de les envoyer explicitement.

  • src_creation et src_campaign sont renseignés par AppsFlyer à partir de l'enregistrement d'attribution. Vous n’avez pas besoin de les envoyer.

  • L'intégration atinternet_int doit être active et les postbacks activés dans l'interface AppsFlyer, exactement comme pour la méthode A.

Référence : AppsFlyer Server-to-server events API for mobile (S2S).

Le postback Piano

AppsFlyer envoie les données à Piano Analytics via des postbacks HTTP. Il existe deux types de postbacks, installation et événement, composés chacun d'une URL et d'un corps JSON.

Comme atinternet_int est un compte Analytics Partner, les templates de postback sont gérés côté AppsFlyer. Le résultat est identique, que l'événement ait été collecté via le SDK (méthode A) ou via l'API S2S (méthode B).

Première installation

Déclenché lorsqu'un utilisateur installe l'application et la lance pour la première fois.

URL :

https://$$dashboard(domain)/event?s=$$dashboard(site_property_id)&idclient={pianoVisitorId}

Corps :

JSON
{
  "events": [
    {
      "name": "app.install",
      "data": {
        "appsflyer_user_id": "$$sdk(af_customer_user_id)",
        "src_creation": "$$sdk(promoter-id)",
        "src_campaign": "$$sdk(af_c_id)",
        "src_medium": "appsflyer",
        "src_force": true
      }
    }
  ]
}

Réengagement et réattribution

URL :

https://$$dashboard(domain)/event?s=$$dashboard(site_property_id)&idclient={pianoVisitorId}

Corps pour le réengagement (déclenché lorsque l'utilisateur revient dans l'application via un point de contact marketing, après la première installation) :

JSON
{
  "events": [
    {
      "name": "app.reengage",
      "data": {
        "appsflyer_user_id": "$$sdk(af_customer_user_id)",
        "src_creation": "$$sdk(promoter-id)",
        "src_campaign": "$$sdk(af_c_id)",
        "src_medium": "appsflyer",
        "src_force": true
      }
    }
  ]
}

Corps pour la réattribution (déclenché lorsque l'utilisateur réinstalle l'application après l'avoir désinstallée) :

JSON
{
  "events": [
    {
      "name": "app.reattribute",
      "data": {
        "appsflyer_user_id": "$$sdk(af_customer_user_id)",
        "src_creation": "$$sdk(promoter-id)",
        "src_campaign": "$$sdk(af_c_id)",
        "src_medium": "appsflyer",
        "src_force": true
      }
    }
  ]
}

Propriétés du postback

Chaque corps de postback contient des propriétés d'attribution de source préfixées par src_, ainsi que appsflyer_user_id pour le rapprochement cross-plateforme :

Propriété

Valeur

Description

src_creation

$$sdk(promoter-id)

L'éditeur ou le réseau publicitaire à l'origine de l'installation.

src_campaign

$$sdk(af_c_id)

L'identifiant de la campagne dans AppsFlyer.

src_medium

appsflyer

Valeur fixe qui identifie AppsFlyer comme source d'attribution.

src_force

true

Force Piano Analytics à remplacer toute attribution de source existante.

appsflyer_user_id

$$sdk(af_customer_user_id) (méthode A) / customer_user_id (méthode B)

Le Customer User ID (CUID) AppsFlyer, défini par l'annonceur. Utile pour le rapprochement cross-plateforme entre AppsFlyer et Piano Analytics. Facultatif.

src_force signifie que la source AppsFlyer la plus récente remplace la source de la session en cours : l'ensemble de la visite hérite de la source d'acquisition. Si plusieurs points de contact ont lieu au cours de la même visite, c'est le dernier qui l'emporte côté Piano (les données brutes dans AppsFlyer conservent tous les points de contact).

Reporting dans Piano Analytics

Une fois le connecteur actif, vos données AppsFlyer sont disponibles dans Piano Analytics avec le reste des données de votre application. Vous pouvez relier les sources marketing qui génèrent vos installations à ce que font ensuite les utilisateurs dans l'application.

Créer vos propres analyses

Vous pouvez utiliser les événements et propriétés envoyés par AppsFlyer dans Data Query et dans vos boards, comme n'importe quelle autre donnée :

  • Événements : app.install, app.reengage et app.reattribute, pour compter les installations, les réengagements et les réinstallations.

  • Propriétés de source : src_creation (l'éditeur ou le réseau publicitaire), src_campaign (l'identifiant de campagne AppsFlyer) et src_medium.

Par exemple, ventilez app.install par src_campaign pour voir quelles campagnes génèrent le plus d'installations. Comparez ensuite l'engagement des utilisateurs de chaque campagne dans l'application, afin d'identifier les campagnes qui apportent des utilisateurs qui restent actifs, et pas seulement des utilisateurs qui installent l'application.

Board prêt à l'emploi

Si vous préférez ne pas créer vos analyses de zéro, Piano peut vous fournir un board prêt à l'emploi pour vos données AppsFlyer. Pour l'obtenir, contactez le centre de support.

Dépannage

Une fois la configuration terminée, déclenchez un événement de test et vérifiez qu'il apparaît dans Piano Analytics avec le bon identifiant visiteur et la bonne attribution de source. Si quelque chose ne semble pas correct, vérifiez les problèmes courants suivants.

Les événements apparaissent mais ne sont liés à aucune session visiteur

Le paramètre idclient est absent ou vide.

  • Méthode A : vérifiez que l'identifiant visiteur Piano est correctement récupéré et transmis à AppsFlyer via setAdditionalData.

  • Méthode B : vérifiez que pianoVisitorId est présent dans custom_data sous la forme d'une chaîne encodée en JSON.

Aucun événement n'est reçu

  • Vérifiez que le postback d'installation est activé dans l'interface AppsFlyer pour le partenaire atinternet_int.

  • Vérifiez que l'identifiant de site Piano Analytics ($$dashboard(site_property_id)) et le domaine de collecte ($$dashboard(domain)) sont correctement configurés dans le dashboard AppsFlyer.

  • Méthode B : vérifiez que les événements sont bien acceptés par l'endpoint S2S pour le bon {app-id}.

Last updated: