Variables
Les variables vous permettent d’afficher du contenu dynamique dans vos flows — prix des produits, détails des offres et autres données qui se mettent à jour selon le contexte de chaque utilisateur. Utilisez-les pour contrôler la visibilité des éléments et personnaliser le contenu des écrans.
Pour ouvrir le panneau des variables, cliquez sur l’icône { } dans le panneau gauche. Le panneau comporte trois onglets :
- Personnalisées : Variables que vous créez et gérez vous-même.
- Produit : Variables intégrées qui récupèrent les données localisées des produits et des offres depuis le store.
- Élément : Variables liées aux états des éléments sur le canvas.
Variables personnalisées
Créer une variable personnalisée
- Dans le panneau des variables, cliquez sur +.
- Saisissez un nom pour la variable.
- Sélectionnez un type : String, Number ou Boolean.
- Définissez une valeur initiale. C’est la valeur que la variable contient au démarrage du flow.
- Cliquez sur Create variable.
Utilisez des points dans les noms pour regrouper les variables liées — par exemple, user.score ou user.goal.
Mettre à jour une variable via une interaction
Consultez l’article Actions pour plus de détails.
Vous pouvez mettre à jour la valeur d’une variable à l’exécution en ajoutant une action Set variable à n’importe quel élément.
- Sélectionnez un élément sur le canevas.
- Dans l’onglet Interactions, cliquez sur Add trigger.
- Sélectionnez On tap et cliquez sur Add action. Dans le menu déroulant Action type, sélectionnez Set variable.
- Cliquez sur Add variable. Sélectionnez la variable et définissez la nouvelle valeur.
Par exemple, vous pouvez attribuer une valeur différente à user.goal selon la réponse sélectionnée par l’utilisateur à un quiz, puis utiliser cette variable pour le rediriger vers un écran différent.
Variables de produit
Les variables de produit extraient des données localisées directement depuis les stores. Utilisez-les dans les champs texte pour afficher les prix localisés, les titres et les détails des offres, ou dans les conditions pour afficher ou masquer du contenu selon l’éligibilité aux offres.
| Variable | Description | Exemple |
|---|---|---|
prod_title | Titre localisé du produit | Premium Subscription |
prod_price | Prix localisé pour une période de facturation | $9.99 |
prod_price_per_day | Prix de l’abonnement converti à la journée. Vide pour les non-abonnements. | $0.33 |
prod_price_per_week | Prix de l’abonnement converti à la semaine. Vide pour les non-abonnements. | $2.33 |
prod_price_per_month | Prix de l’abonnement converti au mois. Vide pour les non-abonnements. | $9.99 |
prod_price_per_year | Prix de l’abonnement converti à l’année. Vide pour les non-abonnements. | $119.88 |
offer_price | Prix localisé d’une offre de lancement ou promotionnelle. Vide si l’utilisateur n’est éligible à aucune offre. | $0.99 |
offer_billing_period | Période de facturation localisée d’une offre. Identique à offer_full_duration pour les offres d’essai gratuit et les offres prépayées. Vide si l’utilisateur n’est pas éligible. | 1 week |
offer_full_duration | Durée totale localisée d’une offre. Vide si l’utilisateur n’est pas éligible. | 1 month |
is_free_trial | Retourne true si l’utilisateur est éligible à une offre avec essai gratuit. | true |
is_pay_up_front | Retourne true si l’utilisateur est éligible à une offre prépayée. | true |
is_pay_as_you_go | Retourne true si l’utilisateur est éligible à une offre à paiement progressif. | true |
Les variables prod_price_per_* convertissent le prix depuis la période de facturation du produit vers la période que vous demandez. La conversion utilise des durées de période fixes, et non des dates calendaires :
- 1 semaine = 7 jours
- 1 mois = 30 jours
- 1 an = 12 mois, soit 365 jours
Pour un abonnement mensuel à 59,99 $, prod_price_per_week retourne 14,00 $ : 59,99 $ × 7 ÷ 30 = 13,9977 $, arrondi pour l’affichage. Un mois représentant 30 / 7 ≈ 4,2857 semaines, multiplier la valeur hebdomadaire par 4 ne redonne pas le prix d’origine.
Utilisez is_free_trial, is_pay_up_front et is_pay_as_you_go avec la visibilité conditionnelle pour afficher ou masquer des éléments selon l’offre à laquelle l’utilisateur est éligible. Par exemple, affichez une chronologie d’essai gratuit uniquement lorsque is_free_trial est true.
Les valeurs des variables d’offre dépendent du type d’offre auquel l’utilisateur est éligible. Pour illustrer cela, prenons un abonnement hebdomadaire appelé « Premium Subscription » à 5 $, avec trois offres possibles :
- Pay As You Go : 3 premières semaines à 3 $ (facturé chaque semaine), puis 5 $/semaine.
- Pay Up Front : 3 premières semaines à 8 $ (facturé immédiatement), puis 5 $/semaine.
- Free Trial : Première semaine gratuite, puis 5 $/semaine.
Dans cet exemple, prod_title retourne « Premium Subscription » et prod_price retourne 5 $. Les valeurs des variables d’offre dépendent de l’offre pour laquelle l’utilisateur est éligible :
| Variable | Pay As You Go | Pay Upfront | Free Trial |
|---|---|---|---|
offer_price | 3 $ | 8 $ | 0 $ |
offer_billing_period | 1 semaine | 3 semaines | 1 semaine |
offer_full_duration | 3 semaines | 3 semaines | 1 semaine |
Pour les offres Pay Upfront et Free Trial, offer_billing_period et offer_full_duration renvoient la même valeur. Pour Pay As You Go, elles diffèrent car la période de facturation est d’une semaine, mais la durée totale est de trois semaines.
Toutes ces valeurs proviennent du store, donc l’aperçu du builder n’en résout qu’une partie : les valeurs d’offre restent non résolues sur le canvas, et is_free_trial, is_pay_up_front et is_pay_as_you_go suivent l’offre que vous avez sélectionnée sur la fiche produit. Consultez Aperçu des produits et offres pour prévisualiser chaque type d’offre pendant la conception.
Pour en savoir plus sur les offres et leur configuration, consultez Offres.
Variables d’élément
Les variables d’élément capturent les choix de l’utilisateur — ce qu’il a sélectionné dans les quiz, l’onglet sur lequel il se trouve et si le bouton de l’essai gratuit est activé.
Les types de variables d’élément dépendent du groupe :
- Single choice : quiz à choix unique, onglets et bascules d’essai :
selectedOptionId: ID d’élément à utiliser dans les conditionsselectedOptionTitle: titre d’élément à utiliser dans le texte dynamique
- Multi-choice : quiz à choix multiple :
selectedOptionIds: IDs d’éléments à utiliser dans les conditionsselectedOptionTitles: titres d’éléments à utiliser dans le texte dynamique
- Toggle : éléments qui basculent entre activé et désactivé :
isActive: valeur booléenne
- Product : cartes de produit :
selectedProduct: le produit sélectionné, à utiliser dans les conditions
Les cas d’utilisation courants incluent :
- Afficher un contenu différent selon que le bouton de période d’essai est activé ou non.
- Rediriger les utilisateurs vers différents écrans en fonction de leurs réponses au quiz
Utiliser des variables dans le texte
Pour insérer une variable dans un élément texte :
- Sélectionnez un élément texte sur le canevas.
- Dans l’onglet Design, trouvez le champ Content et saisissez votre texte.
- Cliquez sur l’icône { } dans le champ.
- Sélectionnez une variable dans la liste.
Vous pouvez également utiliser des variables dans d’autres éléments :
- Utilisez des variables dans les liens et les alertes pour les rendre dynamiques
- Créez des conditions dynamiques basées sur des variables. Par exemple, la condition peut être
if experience.current > experience.target, navigate to...
Variables de style
Vous ne pouvez pas appliquer de mise en forme riche à une variable seule. Sélectionner une variable dans le champ Content et lui appliquer du gras, de l’italique, du souligné, du barré ou un changement de couleur n’a aucun effet.
Les paramètres de texte riche s’appliquent uniquement à l’ensemble du bloc de texte. Pour styliser le texte, utilisez la section Typography de l’onglet Design, ou appliquez un style de texte enregistré.
Réutiliser du contenu sur plusieurs écrans
Certains contenus se répètent d’un écran à l’autre dans votre flow — un libellé de bouton comme « Continuer », un appel à l’action récurrent, ou une mention légale affichée sur plusieurs écrans. Il en va de même pour les textes plus longs, comme une description de fonctionnalité réutilisée sur différents écrans. Plutôt que de ressaisir ce contenu dans chaque élément, stockez-le dans une variable personnalisée. Cela s’avère utile lorsque vous dirigez différents utilisateurs vers des écrans distincts, tout en souhaitant conserver une formulation cohérente entre eux.
- Créez une variable personnalisée de type String et définissez sa valeur initiale sur le texte que vous souhaitez réutiliser. Par exemple, nommez-la
button.navigationet définissez la valeur surContinue.
- Insérez cette variable dans le champ Content de chaque élément où le texte doit apparaître.
Pour modifier le texte partout à la fois, il suffit de changer la valeur initiale de la variable. Chaque élément qui utilise la variable se met à jour automatiquement, sans avoir à éditer chaque écran manuellement.