Attribution des invitations utilisateur

En bref : attribuez et enregistrez les nouvelles installations provenant d'invitations d'utilisateurs existants à utiliser vos apps.

Invite_Attribution_new.png

 Mises à jour iOS 14

L'attribution des invitations utilisateur n'utilise pas l'IDFA. iOS 14 n'a donc aucune incidence sur celle-ci.

L'attribution par invitation utilisateur est gratuite pour tous les forfaits.

Aperçu de l'attribution par invitation utilisateur

Pourquoi l'attribution des invitations utilisateurs est-elle utile ?

  • Obtenez des informations sur les utilisateurs qui vous apportent le plus de nouveaux utilisateurs  :
    les utilisateurs qui recommandent votre app à leurs amis sont des utilisateurs engagés à forte valeur ajoutée, que vous pouvez conserver, recibler ou encourager.
  • Utilisez les informations relatives à l'utilisateur référent pour personnaliser la première expérience du nouvel utilisateur :
    au lieu d'un message de bienvenue générique, vous pouvez utiliser un message personnalisé qui engagera beaucoup plus le nouvel utilisateur. Par exemple : « Bienvenue, John  ! Rejoins ton amie Marsha dans une bataille épique après avoir terminé le tutoriel »."
  • Connaissez le coût et le retour sur investissement des invitations d'utilisateur pour de meilleurs résultats :
    les invitations d'utilisateur sont-elles gratuites ? Pas vraiment. Elles utilisent l'espace publicitaire de votre app, qui pourrait autrement vous permettre de générer des revenus publicitaires. Les invitations des utilisateurs vous procurent-elles un retour sur investissement positif, par rapport à l'alternative ? Dans certains cas oui.

Vous pouvez utiliser les paramètres de coût d'AppsFlyer pour attribuer un coût aux installations suite aux invitations utilisateurs, en fonction des alternatives.

 Exemple

Une bannière vous fait gagner 5 dollars par minute en fonction du nombre d'affichages de la publicité (voici un excellent moyen de mesure). En moyenne, avec un taux de conversion de 2 % des vues en invitation et un taux de conversion de 10 % des invitations en installation, vous obtenez 2 nouveaux utilisateurs toutes les 1000 vues. Par conséquent, l'utilisation du même espace de bannière pour promouvoir les invitations coûte 5 $/2=2,5 $ par installation. Ajoutez la valeur af_cost_value=2.5 pour refléter ce coût sur le tableau de bord.


Combinée à vos rapports de revenus sur les événements in-app, elle vous permet de voir quelles campagnes d'invitation d'utilisateurs vous donnent les meilleurs ou les moins bons résultats, et quels canaux d'invitations sont les mieux adaptés à vos besoins.

Comment fonctionne l'attribution des invitations utilisateurs ?

Les installations attribuées à un lien d'invitation apparaissent sur le tableau de bord sous la source média af_app_invites.

Les canaux utilisés pour envoyer les invitations par e-mail, SMS, Facebook, etc., apparaissent sous le groupe Canal sous la source média af_app_invites.

Invite_Attribution_2.png

En sélectionnant la source média af_app_invites et en effectuant un regroupement par canal, les clics et les installations provenant des invitations utilisateurs via Gmail et Facebook s'affichent.

Guide du développeur

Configuration de OneLink

L'attribution des invitations utilise OneLink pour rediriger l'utilisateur invité vers l'app store concerné. OneLink vous permet également d'utiliser le deep linking différé. Le deep linking différé permet d'ouvrir une activité spécifique lorsque l'utilisateur lance l'app. Il définit également le contenu personnalisé afin de retenir l'utilisateur dans le contexte d'une installation après une invitation.

Assurez-vous de configurer OneLink correctement pour votre app :

  • Configurez les redirections de OneLink
  • Suivez le guide pour savoir comment configurer le deep linking différé - la configuration du deep linking différé vous fournit les données dont vous avez besoin pour envoyer des utilisateurs vers des activités spécifiques, ou récompenser à la fois l'utilisateur invité et l'utilisateur à l'origine de l'invitation.
  • Facultatif - Configurer le deep linking OneLink - vous n'avez pas besoin de configurer le deep linking OneLink, mais il peut être utile dans certains cas. Par exemple :
    • Vous avez configuré une campagne dans laquelle les utilisateurs invitent leurs amis à installer l'app. Tous deux obtiennent des points de crédit à utiliser dans l'app. Si l'utilisateur invité installe l'app, l'utilisateur à l'origine de l'invitation reçoit 50 points de crédit et l'utilisateur invité reçoit 100 points de crédit. Si l'utilisateur invité a déjà installé l'app, l'utilisateur à l'origine de l'invitation obtient 25 points de crédit et l'utilisateur invité obtient 50 points de crédit. Pour distinguer les deux cas, utilisez le deep linking différé pour le premier et le deep linking pour le second.

Une fois que OneLink est entièrement configuré, prenez l'ID OneLink correspondant.

Avant d'appeler start dans votre app, définissez le OneLink qui est invoqué selon l'ID OneLink (OPSz dans cet exemple) :

OL_template_id_en-us.jpg

 Note

Assurez-vous que le bon ID OneLink est utilisé. Sinon, le lien d'attribution créé est rompu.

Android iOS Unity V4
AppsFlyerLib.getInstance().setAppInviteOneLink("ymod");

Génération du lien

Sur Android, assurez-vous d'importer les libs suivants :

import com.appsflyer.share.ShareInviteHelper;
import com.appsflyer.share.LinkGenerator;

La classe LinkGenerator génère l'URL d'invitation selon différentes méthodes de paramétrage, ce qui permet de transmettre d'autres données concernant le clic. Ces informations sont disponibles via onConversionDataSuccess lorsque le nouvel utilisateur accepte l'invitation et installe l'app. De plus, les paramètres de campagne et de canal sont visibles dans le tableau de bord AppsFlyer.

Les liens d'invitation générés par SDK ont une durée de vie de 180 jours.

Si, pour une raison quelconque, l'API n'est pas accessible, LinkGenerator renvoie un lien long.

Android iOS Objective-C iOS Swift Unity V4
LinkGenerator linkGenerator = ShareInviteHelper.generateInviteUrl(MainActivity.this);
linkGenerator.setChannel("Gmail");
linkGenerator.addParameter("af_cost_value","2.5");
linkGenerator.addParameter("af_cost_currency","USD");
// optional - set a brand domain to the user invite link
linkGenerator.setBrandDomain("brand.domain.com");
CreateOneLinkHttpTask.ResponseListener listener = new CreateOneLinkHttpTask.ResponseListener() {
	@Override
	public void onResponse(String s) {
		Log.d("Invite Link", s);
    // write logic to let user share the invite link
	}

	@Override
	public void onResponseError(String s) {
		// handle response error
	}
};
linkGenerator.generateLink(MainActivity.this, listener);

 Remarques

  • onResponse et onResponseError sont des méthodes de rappel pour générer des URL OneLink. Ils font partie de l'interface CreateOneLinkHwiggleTask.ResponseListener et doivent être implémentés. Ils permettent de générer des liens d'invitation que vous pouvez placer dans diverses vues de l'app.
  • Vous pouvez ajouter l'un de ces paramètres de lien d'attribution au lien généré.
  • Les caractères spéciaux dans les valeurs des paramètres doivent être encodés lorsqu'ils sont transmis à la fonction LinkGenerator.
     

Tous les paramètres de générateurs de liens

Android iOS
Nom de l'API Description Utilisation

setChannel(String channel)

Le canal par lequel l'invitation a été envoyée (par ex. Facebook/Gmail/etc.)

Recommandé

setCampaign(String campaign)

Le nom de la campagne

OPTIONNELLE

setReferrerName(String referrerName)

Le nom de l'utilisateur référent

OPTIONNELLE

setReferrerImageURL(String referrerImageURL)

L'URL de l'avatar de l'utilisateur référent

OPTIONNELLE

setReferrerCustomerId(String referrerCustomerID)

Définir le customer_user_id de l'utilisateur référent

OPTIONNELLE

addParameter(String key, String value)

Un paramètre personnalisé à valeur de clé unique

OPTIONNELLE

addParameters(Map<String, String> parameters)

Un paramètre personnalisé à valeur de clés multiples

OPTIONNELLE

setBrandDomain(String domain)

Le nom du domaine de la marque

OPTIONNELLE

Nécessite la fonction de création des liens de marque

Enregistrement des invitations de l'expéditeur

Nous vous recommandons de générer un événement in-app après l'envoi de l'invitation pour enregistrer les invitations du point de vue des expéditeurs. Cela vous permet d'identifier les utilisateurs qui ont tendance à inviter des amis et les sources média qui vous apportent ces utilisateurs.

Vous pouvez envoyer un événement in-app standard ou utiliser la méthode logInvite à la place. logInvite est un événement in-app prêt à l'emploi, encapsulé dans une API pour une utilisation plus facile.

Android iOS
ShareInviteHelper.logInvite(context, channel, additionalParametersForTheEvent_optional);

Récupération des données d'attribution après l'installation par un utilisateur invité

Tous les paramètres transmis dans le générateur de liens sont disponibles en appelant onConversionDataSuccess. Cela vous permet de récupérer les paramètres pertinents (comme le nom du référent et l'URL de l'avatar) et de personnaliser la première expérience pour le nouvel utilisateur. Voici un exemple des données d'attribution renvoyées par onConversionDataSuccess :

{
	"attribute": "is_first_launch" = "true"
	"attribute": "click_time" = "2019-04-04 08:33:05.668"
	"attribute": "af_referrer_customer_id" = "CUSTOMER_USER_ID"
	"attribute": "shortlink" = "12a3b456"
	"attribute": "af_referrer_uid" = "1234567890123-4567890123456789012"
	"attribute": "af_siteid" = "com.company.app"
	"attribute": "install_time" = "2019-04-04 08:33:45.286"
	"attribute": "cost_cents_USD" = "0"
	"attribute": "campaign" = "None"
	"attribute": "af_click_lookback" = "7d"
	"attribute": "orig_cost" = "0.0"
	"attribute": "af_status" = "Non-organic"
	"attribute": "iscache" = "true"
	"attribute": "media_source" = "af_app_invites"
}

Plus d'informations sur l'utilisation des données de conversion : iOS et Android.

Utilisation des liens d'invitation d'utilisateur pour le réengagement

Vous pouvez utiliser les liens d'invitation des utilisateurs pour le réengagement. Vous devez toutefois vous assurer que l'utilisateur invité a installé l'app. Si un utilisateur qui n'a pas l'app obtient un lien d'invitation et installe l'app, un clic apparaît dans le tableau de bord de retargeting, mais l'installation apparaît dans la vue d'ensemble du tableau de bord.

Pour utiliser les liens d'invitation des utilisateurs pour le réengagement, ajoutez le paramètre is_retargeting et définissez-le sur true à l'aide de la méthode addParameter :

Android iOS Unity V4
AppsFlyerLib.getInstance().addParameter("is_retargeting", "true");

Récompenser les invitations d'utilisateurs

Vous pouvez récompenser les utilisateurs qui invitent leurs amis à installer votre app. À travers les récompenses, vous encouragez les utilisateurs à inviter leurs amis. C'est un excellent moyen d'élargir votre base d'utilisateurs et d'augmenter vos revenus.

Quand récompenser ?

Vous pouvez récompenser les utilisateurs lorsque leurs amis installent votre app après avoir été invités. Vous pouvez également récompenser les utilisateurs lorsque leurs amis effectuent un événement dans l'app, un achat par exemple.

Récompenser les utilisateurs lors de l'installation

Lorsqu'un utilisateur invité installe l'app, l'identifiant de l'utilisateur référent se trouve dans les données de conversion du SDK :

  • af_referrer_uid - est l'ID AppsFlyer de l'utilisateur qui envoie l'invitation
  • af_referrer_customer_id - est l'ID utilisateur client de l'utilisateur qui envoie l'invitation. N'apparaît dans les données de conversion que si vous définissez l'ID utilisateur client pour cet utilisateur.

Utilisez l'ID du référent pour récompenser lors de l'installation

Jenny invite Nivi à installer votre app.

  1. Lorsqu'elle est lancée par Nivi, l'app récupère l'ID de référence de Jenny.
  2. L'app envoie l'ID du référent à votre backend
  3. Dans votre backend, ajoutez l'ID du référent de Jenny à la liste des utilisateurs à récompenser
  4. Lorsque Jenny lance l'app, vérifiez si son ID de référent figure dans la liste des utilisateurs à récompenser.
  5. Si applicable, récompensez-la

Récompenser les utilisateurs après un événement in-app

Si vous souhaitez générer des revenus grâce aux invitations d'utilisateur, plutôt que de vous contenter d'acquérir des utilisateurs, vous pouvez récompenser des événements in-app. Dans ce cas, vous récompensez les utilisateurs référents uniquement lorsque l'utilisateur invité effectue un événement in-app comme un achat ou un abonnement.

Processus de récompense des événements in-app

Jenny invite Nivi à installer votre app.

Définissez af_sub1 sur le lien d'invitation

  1. Lorsque Jenny invite Nivi, générez un lien d'invitation
  2. Dans le lien d'invitation, placez un paramètre af_sub1=<JENNY_USER_ID>

Nivi installe l'app et effectue un achat. Au moment de l'achat, un événement in-app est envoyé à AppsFlyer. Cet événement in-app est associé à sub1=<JENNY_USER_ID>.

Utilisez af_sub1 pour mettre à jour la liste des utilisateurs à récompenser

  1. Vous pouvez extraire des données d'événements in-app à l'aide de l'API pull ou les obtenir à partir de l'API push
  2. Dans les données, recherchez les événements dont la source média est af_app_invites.
  3. Ces événements sont associés à af_sub1, qui contient l'ID du référent
  4. Stockez les ID de référent dans la liste des utilisateurs à récompenser

Récompensez Jenny

  1. Lorsque Jenny lance l'app, vérifiez si son ID de référent figure dans la liste des utilisateurs à récompenser
  2. Si applicable, récompensez-la

Vues de tableaux de bord personnalisés

Vous trouverez ci-dessous les vues disponibles du tableau de bord personnalisé qui affichent les informations d'invitation des utilisateurs :

Invite_Attribution_3.png

Invite_Attribution_4.png

Limites

Limitation Description
Version du SDK Vous devez avoir AppsFlyer SDK version 4.8.0+ et Unity SDK version 4.17.0+.
Page d'accueil des apps de réseaux sociaux Les liens générés par les invitations des utilisateurs ne peuvent pas implémenter les pages de destination des apps de médias sociaux.

 

Cet article vous a-t-il été utile ?

Articles dans cette section