Une fois que vous avez configuré votre connexion à la base de données avec succès, vous pouvez commencer à créer des segments en utilisant vos données relationnelles.
Créer des modèles de segment relationnel
Le créateur de modèle de segment n'est pas disponible pour les clients ayant un service entièrement géré.
Les clients en libre-service et en libre-service hébergé peuvent le trouver sous l'onglet Add-ons > Données Relationnelles > Modèles de segment.
Les modèles de segment vous permettent de prédéfinir des scénarios complexes de segmentation à partir de requêtes SQL, puis de les décrire dans des phrases en langage naturel afin que vos collègues moins rompus à la tech puissent facilement les utiliser pour créer des segments.
Dans l'exemple ci-dessous, nous avons créé un modèle de segment qui peut cibler toute personne qui :
- Départ dans x jours (cela peut être dans le passé, dans ce cas le nombre sera négatif)
- Voyager en classe x (Premium, Économique, etc.)
Pour créer un modèle de segment, vérifiez les points suivants :
- Statut du modèle de segment - L'étiquette affiche le statut actuel : Nouveau, Brouillon ou Prêt.
- Configurer la connexion à la base de données - Sélectionnez la base de données à laquelle vous souhaitez vous connecter dans le menu déroulant.
- Bouton Enregistrer le brouillon - Vous pouvez enregistrer des modèles inachevés, marqués comme brouillons. Le statut Brouillon indique qu'il s'agit de modèles en cours d'élaboration. Les modèles provisoires ne sont pas validés et ne peuvent pas encore être utilisés pour la segmentation.
- Définition du modèle de segment - Il s'agit de la déclaration que vous utiliserez pour la création du segment. Il contient les paramètres que vous avez créés pour la définition et doit être rédigé en langage naturel.
- Créer un paramètre - Créez un paramètre du type approprié pour chacun des critères de variable de votre segment. Donnez-lui un nom qui aura un sens dans la définition du modèle de segment. Vous avez le choix entre les types suivants :
- Saisie de texte - Crée un champ de texte libre qui accepte les caractères alphanumériques et spéciaux.
- Entrée numérique - Crée un champ numérique qui n'accepte que les nombres entiers (y compris les valeurs négatives).
Veuillez noter que vous ne pouvez pas utiliser de points décimaux dans les champs de saisie numérique. Si vous devez utiliser des points décimaux, sélectionnez plutôt le type de paramètre Entrée texte .
- Saisie de la date - Crée un champ de date au format jj-mmm-aaaa. Il offre également une fonction de calendrier.
- Liste déroulante personnalisée - Crée une liste à choix unique. Le nom apparaîtra dans le segment (c'est-à-dire ce que le marketeur voit) et les valeurs des éléments de la liste sont celles que vous utilisez dans la requête SQL. Vous pouvez choisir différents types d'options pour la liste déroulante ; outre les entrées textuelles et numériques, vous pouvez également définir les opérateurs de filtre ici.
Les paramètres vous permettent de créer plusieurs segments à partir du même modèle avec des valeurs de critères différentes. Sur le côté droit, vous pouvez voir les paramètres créés (balises vertes), que vous pouvez glisser et déposer dans la requête SQL. Les paramètres sont réutilisables - il n'est pas nécessaire d'en créer un autre si vous avez besoin, par exemple, de deux paramètres de destination.
Dénomination de paramètre :
- Le premier caractère doit être une lettre.
- Les caractères alphanumériques sont autorisés.
- Le caractère espace n'est pas autorisé, utilisez symbole underscore( _ ) à la place.
- Requête SQL sous-jacente - Il s'agit probablement de l'élément le plus important, car il contient la requête réelle utilisée pour extraire les données des bases de données. Il s'exécutera en arrière-plan chaque fois que vous utiliserez ce modèle de segment. Il est possible de créer des modèles de segment uniquement avec cette requête SQL, sans ajouter de paramètres, mais ce serait moins pratique, car vous ne pourriez pas ajouter différents types d'entrée par la suite. Nous vous recommandons de tester d'abord la requête sur votre base de données, puis de la copier et de la coller ici.
- Requête de test rapide - Ce bouton de fonction vous permet de vérifier si la requête SQL est exécutable et syntaxiquement correcte en exécutant la requête dans une déclaration
EXPLAIN
. Dans cette déclaration, les variables sont remplacées par les données fictives correspondantes (par exemple, chaîne > "" [chaîne vide]). Les résultats peuvent être différents pour chaque type de moteur de base de données. Dans le cas d'une base de données MS SQL, la requête renverra un plan d'exécution au format XML, que vous pouvez ouvrir avec SQL Server Management Studio. Si l'utilisateur de la base de données configuré ne dispose pas des privilèges suffisants pour exécuter votre requête dans une déclarationEXPLAIN
, la requête sera exécutée avecLIMIT 1
. - Champ de référence du contact et Champ de référence - Ici vous mappez une paire de champs qui identifieront vos contacts dans les deux bases de données. Il s'agit généralement de l'adresse électronique, mais elle peut être ce que vous voulez tant qu'elle constitue un identifiant unique dans toutes les bases de données.
- Champ de référence du contact - La clé d'identification unique dans votre base de données de contacts Emarsys (vous pouvez la choisir dans un menu déroulant).
- Champ de référence - La même clé d'identification unique dans votre propre base de données, que vous utilisez pour créer des segments relationnels et des modèles de segments. Vous pouvez également utiliser un alias (par exemple,id
au lieu decustomer_id
), mais dans ce cas, vous devez commencer la requête SQL comme suit :SELECT customer_id comme id
, puis avoirid
dans le champ de référence. - Prévisualiser et tester - V ous pouvez ici prévisualiser ce que vos collègues verront lorsqu'ils créeront un segment, et le tester avec des données réelles.
Lorsque vous utilisez l'horodatage et date/heure, sachez que le résultat affiché peut être dans un fuseau horaire différent de celui que vous avez spécifié dans votre base de données. Cela n'affecte pas la manière dont les données sont stockées ou utilisées lorsque Emarsys calcule votre segment.
La fonction Aperçu et test ne peut afficher qu'un maximum de 10 résultats. Pour affiner les résultats, nous recommandons d'utiliser plusieurs conditions.
En cas de réception d'une erreur de syntaxe SQL, même si votre requête SQL est correctement formulée, relancez l'aperçu et le test pour vérifier à nouveau votre code. La plate-forme peut vous montrer un message d'erreur faux-positif basé sur son cache pour l'état incorrect précédent.
- Sélectionnez les valeurs des paramètres puis cliquez sur Exécuter. Le segment devrait renvoyer le nombre correspondant de contacts de votre base de données.
- Cliquez sur Enregistrer pour finaliser le modèle lorsque vous avez fini de le modifier et que vous êtes satisfait de l'aperçu et des résultats du test. Lors du processus d'enregistrement, nous validons la requête et la définissons comme Prête, si elle est correcte.
Des modèles prêts à l'emploi sont disponibles pour la segmentation.
Création de modèles de segments relationnels pour des types de connexion spécifiques
Cette section est valide pour les types de connexion suivants :
- Snowflake
- SAP HANA Cloud
- SAP HANA On-premise
Pour la plupart, ces connexions fonctionnent de la même manière lors de la création de modèles de segment que les autres connexions Relational Data.
Par défaut on utilise des majuscules complètes pour les noms de champs, de tables et ainsi de suite. Si vous avez des caractères minuscules dans les noms de champs ou de tables, vous devez les mettre entre guillemets.
Il n'est pas nécessaire d'utiliser des guillemets supplémentaires si vous souhaitez utiliser dans le paramètre une valeur comportant des caractères minuscules.
Par exemple, ici, nous avons créé une liste personnalisée, et il n'est pas obligatoire de mettre valeurs entre guillemets, même si la valeur contient des caractères minuscules :
Lorsque vous écrivez des chaînes de caractères dans une requête, vous devez quand même utiliser des guillemets simples comme vous le feriez normalement :
Créer des segments relationnels
Une fois que vous avez créé vos modèles de segment, vous pouvez les utiliser pour créer des segments réels.
Pour créer un segment relationnel, procédez comme suit :
1. Sélectionnez Contacts > Segments, puis cliquez sur Créer un segment.
2. Cliquez sur Segment standard, puis choisissez Segment relationnel dans la fenêtre contextuelle.
3. Donnez à votre segment un Nom et ajoutez-lui une Description.
Ceci peut vous aider à identifier facilement des segments sur la page Segments.
4. Sélectionnez le modèle que vous avez créé précédemment.
5. Cliquez sur les champs surlignés en bleu et sélectionnez ou saisissez les valeurs du paramètre. Dans l'exemple ci-dessus, le segment cible les contacts qui voyageront avec la classe Business
(liste déroulante personnalisée) vers Singapour
(liste déroulante personnalisée) dans 7
(nombre d'entrées) jours.
6. Pour créer (et enregistrer) le segment puis afficher les résultats, cliquez sur Enregistrer & Appliquer. Le segment apparaîtra maintenant dans la liste Segments relationnels .
Actuellement, Send Time Optimization ne prend pas en charge les campagnes qui utilisent les segments relationnels et la personnalisation en même temps que relational data. Dans ces cas-là, n'activez pas STO car les contacts pourraient être exclus des envois.
Notes :
- Les résultats de segment sont conservés en mémoire cache pendant 10 minutes. Donc si vous exécutez le même segment dans les 10 minutes, vous obtiendrez les résultats précédents (en cache).
- Vous pouvez éditer le segment ultérieurement si vous devez modifier les paramètres ou leurs valeurs. Pour plus d'information, voir Modifier des segments.
La durée de création des segments Relational Data - FAQ
Quelle est la limite de temps pour les requêtes de modèles de segments Relational Data ?
Bien que l'ensemble du segment doive être terminé en 30 minutes, il y a de multiples tâches à effectuer avant et après la requête. Par conséquent, nous suggérons de maintenir la durée d'exécution de la requête en dessous de 15 minutes.
Où puis-je vérifier combien de temps il a fallu pour exécuter mon segment ?
Après avoir créé un segment Relational Data à partir d'un modèle, vous pouvez consulter la liste dans le menu Segments pour voir combien de temps il a fallu pour créer le segment entier.
Cette durée correspond au temps nécessaire pour créer le segment, donc pas seulement au temps d'exécution de la requête.
Contacts > Segments
En outre, vous recevrez une notification si le temps de requête de votre segment est supérieur à 15 minutes. Toutes les heures, Emarsys vérifie les exécutions précédentes des segments, et si la requête a été plus lente que 15 minutes, vous serez notifié une fois. Vous ne recevrez pas de nouvelles notification dans les 7 prochains jours pour le même segment.
Lorsque vous exécutez le segment sur la page de création du modèle de segment, il y a un délai d'une minute. Même si le délai d'attente est dépassé, cela ne signifie pas nécessairement que le segment expire aussi.
Que puis-je faire lorsqu'une requête de modèle de segment est trop lente ?
La création d'une requête de segment bien optimisée nécessite une connaissance approfondie du type de base de données que vous utilisez, des données que vous stockez dans votre base de données, du cas d'usage que vous essayez de créer ainsi qu'une compréhension générale de l'optimisation des requêtes.
Nous vous recommandons vivement de consulter un expert si vous rencontrez des problèmes de performance.
Lorsque vous créez un modèle de segment, prenez toujours en compte ce qui suit :
- Quelle sera la taille de l'ensemble des résultats ?
- Quelle est la taille de l'ensemble de données que la requête analyse pour déterminer les résultats ?
- Combien de fois la requête est-elle exécutée ?
Après avoir considéré ces éléments, vous pouvez décider :
- Utilisation ou non d'index : Selon le type de base de données que vous utilisez, cela peut être différent, mais en général, vous devriez envisager d'utiliser des index. La plupart du temps, avec des ensembles de données plus importants, les index peuvent améliorer les performances.
- Utilisation ou non de fonctions dans la clause où : Certaines fonctions peuvent augmenter considérablement la durée des requêtes car elles peuvent entraîner des balayages de table involontaires. Avant de les utiliser, nous vous recommandons d'étudier leur impact sur les performances.
- Ce que vous devez vraiment inclure dans la requête : Évitez d'utiliser sélectionner *. Au lieu de cela, incluez les colonnes spécifiques dont vous avez besoin individuellement.
- Utilisation d'une jointure au lieu de sous-requêtes corrélées : La plupart du temps, lorsqu'on travaille avec de grands ensembles de données, les jointures ont de meilleures performances que les sous-requêtes corrélées.
- Comment utiliser les jointures : Les "jointures" peuvent également prendre beaucoup de temps. Ne joignez pas des tables inutilisées, et essayez toujours de joindre des champs indexés.
- Utilisation ou non de caractères génériques : L'utilisation de caractères génériques ralentira certainement votre requête, en particulier pour les tableaux volumineux. Essayez de l'éviter si vous le pouvez.
Comment puis-je vérifier si mes modifications ont permis d'améliorer le temps de requête ?
Malheureusement, il n'est pas possible actuellement de consulter le temps de requête dans l'interface utilisateur. Cependant, vous pouvez utiliser la liste de segments pour voir si le temps global du segment a diminué ou non, ce qui contient le temps de la requête en soi.
Contacts > Segments
Dépannage de la segmentation pour des types de connexion spécifiques
Cette section est valide pour les types de connexion suivants :
- Snowflake
- SAP HANA Cloud
- SAP HANA On-premise
La syntaxe SQL est incorrecte. Veuillez vous assurer que votre requête ne contient pas d'erreurs et réessayez.
Si le nom du champ contient un caractère minuscule et que vous ne l'entourez pas de guillemets, le message d'erreur dira que votre syntaxe est incorrecte. Utilisez les guillemets requis et ré-essayez.
Une ou plusieurs tables ou vues sont introuvables dans test_snowflake. Veuillez vous assurer que vous avez sélectionné la bonne connexion et que vous faites référence à des tables ou à des vues existantes, puis réessayez.
Si le nom du tableau contient un caractère minuscule et que vous ne l'entourez pas de guillemets, le message d'erreur dira que le tableau n'existe pas ou que vous n'êtes pas autorisé à l'utiliser. Utilisez les guillemets requis et ré-essayez.