Skip to content

Extensions de segments SQL

Vous pouvez générer une extension de segment à l’aide de requêtes SQL Snowflake sur des données Snowflake. Le SQL vous aide à exploiter de nouveaux cas d’usage de segments, car il offre la flexibilité nécessaire pour décrire les relations entre les données d’une manière qui n’est pas réalisable avec les autres fonctionnalités de segmentation.

Comme les extensions de segments standard, vous pouvez interroger les événements des deux dernières années (730 jours) dans votre extension de segment SQL. Contrairement aux extensions de segments standard, les extensions de segments SQL consomment des crédits.

Prérequis

Étant donné qu’il est possible d’accéder à des données d’identification via cette fonctionnalité, vous devez disposer des autorisations PII pour exécuter des requêtes SQL de segments.

Création d’une extension de segment

Étape 1 : Choisir un éditeur

Deux types d’éditeurs SQL sont disponibles lors de la création de votre extension de segment SQL : l’éditeur SQL et l’éditeur SQL incrémentiel.

  • Actualisation complète : À chaque actualisation de votre segment, Braze interroge toutes les données disponibles pour mettre à jour votre segment, ce qui consomme davantage de crédits qu’une actualisation incrémentielle. Les extensions à actualisation complète peuvent régénérer automatiquement les membres quotidiennement, mais ne peuvent pas être actualisées de manière incrémentielle.
  • Actualisation incrémentielle : L’actualisation incrémentielle est un moyen plus rentable de configurer votre requête, bien que la mise en place implique quelques étapes supplémentaires. Si vous êtes en mesure de réaliser ces étapes supplémentaires lors de la construction de votre segment, cette option vaut la peine d’être choisie car votre requête consommera moins de crédits.
  • Générateur SQL par IA : Le générateur SQL par IA vous permet de rédiger une demande en langage naturel et de la convertir en requête SQL pour votre segment. C’est un moyen rapide de démarrer sans avoir à écrire le SQL vous-même.

Pour créer une extension de segment SQL à actualisation complète :

  1. Accédez à Audience > Extensions de segments.
  2. Sélectionnez Créer une nouvelle extension, puis sélectionnez Actualisation complète.

    Fenêtre modale de création d'une nouvelle extension avec les options Actualisation complète et Actualisation incrémentielle.

  3. Ajoutez un nom pour votre extension de segment et saisissez votre SQL. Reportez-vous à l’étape 2 pour les exigences et les ressources.

    Éditeur SQL montrant un exemple d'extension de segment SQL.

  4. Enregistrez votre extension de segment.

Pour créer une extension de segment SQL à actualisation incrémentielle :

  1. Accédez à Audience > Extensions de segments.
  2. Sélectionnez Créer une nouvelle extension et sélectionnez Actualisation incrémentielle.

    Fenêtre modale de création d'une nouvelle extension avec les options Actualisation complète et Actualisation incrémentielle.

  3. Ajoutez un nom pour votre extension de segment et saisissez votre SQL. Reportez-vous à la section Écrire votre SQL pour les exigences et les ressources.

    Éditeur SQL montrant un exemple d'extension de segment SQL incrémentielle.

  4. Si vous le souhaitez, sélectionnez Régénérer l’extension quotidiennement.

    Case à cocher pour régénérer l'extension quotidiennement.

    Lorsque cette option est sélectionnée, Braze met automatiquement à jour les membres du segment chaque jour. Cela signifie que chaque jour, à minuit dans le fuseau horaire de votre entreprise (avec un délai potentiel d’une heure), Braze vérifie les nouveaux utilisateurs dans votre segment et les y ajoute automatiquement. Si une extension de segment n’a pas été utilisée pendant 7 jours, Braze suspend automatiquement la régénération quotidienne. Une extension de segment inutilisée est une extension qui ne fait partie d’aucune campagne ni d’aucun Canvas (la campagne ou le Canvas n’a pas besoin d’être actif pour que l’extension soit considérée comme « utilisée »).

  5. Enregistrez votre extension de segment.

Le générateur SQL par IA tire parti de GPT, développé par OpenAI, pour recommander du SQL pour votre segment SQL.

Générateur SQL par IA avec la demande « Utilisateurs ayant reçu une notification le mois dernier »

Pour utiliser le générateur SQL par IA, procédez comme suit :

  1. Sélectionnez Lancer le générateur SQL par IA après avoir créé un segment SQL en utilisant l’actualisation complète ou incrémentielle.
  2. Saisissez votre demande et sélectionnez Générer pour convertir votre demande en SQL.
  3. Vérifiez le SQL généré pour vous assurer qu’il est correct, puis enregistrez votre segment.

Exemples de demandes

  • Utilisateurs ayant reçu un e-mail au cours du dernier mois
  • Utilisateurs ayant effectué moins de cinq achats au cours de la dernière année

Conseils

  • Familiarisez-vous avec les tables de données Snowflake disponibles. Demander des données qui n’existent pas dans ces tables peut amener ChatGPT à inventer une fausse table.
  • Familiarisez-vous avec les règles d’écriture SQL pour cette fonctionnalité. Ne pas respecter ces règles entraînera une erreur. Par exemple, votre code SQL doit sélectionner la colonne user_id. Commencer votre demande par « utilisateurs qui » peut aider.
  • Vous pouvez envoyer jusqu’à 20 demandes par minute avec le générateur SQL par IA.

Comment mes données sont-elles utilisées et envoyées à OpenAI ?

Pour générer une sortie d’intelligence artificielle via les fonctionnalités BrazeAI qui exploitent OpenAI (« Sortie »), Braze enverra certaines informations (« Entrée ») à OpenAI. L’Entrée se compose de vos invites et peut inclure le contenu affiché dans le tableau de bord, ainsi que d’autres données de l’espace de travail pertinentes pour vos requêtes, le cas échéant. Conformément aux engagements de la plateforme API d’OpenAI, les données envoyées à l’API d’OpenAI via Braze ne sont pas utilisées pour entraîner ou améliorer les modèles d’OpenAI. OpenAI peut conserver les données pendant 30 jours à des fins de surveillance des abus, après quoi elles sont supprimées. Entre vous et Braze, la Sortie est votre propriété intellectuelle. Braze ne revendiquera aucun droit d’auteur sur cette Sortie. Braze n’offre aucune garantie de quelque nature que ce soit concernant tout contenu généré par l’intelligence artificielle, y compris la Sortie.

Lorsque l’extension a terminé le traitement, vous pouvez créer un segment en utilisant votre extension de segment et cibler ce nouveau segment avec vos Campaigns et Canvas.

Étape 2 : Écrire votre SQL

Votre requête SQL doit être rédigée en utilisant la syntaxe Snowflake. Consultez la référence des tables pour obtenir la liste complète des tables et colonnes disponibles pour les requêtes.

Votre SQL doit également respecter les règles suivantes :

  • Écrivez une seule instruction SQL. N’incluez aucun point-virgule.
  • Votre SQL doit sélectionner une seule colonne : la colonne user_id. Cela signifie que votre SQL doit contenir :
1
SELECT DISTINCT user_id FROM "INSERT TABLE NAME"
  • Il n’est pas possible d’interroger les utilisateurs n’ayant aucun événement, ce qui signifie que toute requête ciblant les utilisateurs ayant effectué un événement moins de X fois doit suivre cette méthode de contournement :
    1. Écrivez une requête pour sélectionner les utilisateurs ayant l’événement PLUS de X fois.
    2. Lorsque vous référencez votre extension de segment dans votre segment, sélectionnez doesn't include pour inverser le résultat.

Règles supplémentaires

De plus, votre requête SQL standard doit respecter les règles suivantes :

  • Vous ne pouvez pas utiliser d’instructions DECLARE.

Toutes les requêtes d’actualisation incrémentielle se composent de deux parties : une requête et des détails de schéma.

  1. Dans l’éditeur, écrivez une requête qui sélectionne les user_id de la table souhaitée.
  2. Ajoutez les détails du schéma en sélectionnant un Opérateur, un Nombre de fois et une Période dans les champs situés en haut de l’éditeur. La requête vérifie si la somme de la colonne agrégée respecte la condition que vous avez définie avec ces champs. Cela fonctionne de manière similaire au processus de création des extensions de segments classiques.

    • Opérateur : Indiquez si l’événement s’est produit plus de, moins de ou exactement un certain nombre de fois.
      Champ Opérateur avec « Plus de » sélectionné.

    • Nombre de fois : Combien de fois vous souhaitez évaluer l’événement par rapport à l’opérateur.
      Champ Nombre de fois avec « 5 » saisi.

    • Période : Nombre de jours, de 1 à 730, pendant lesquels vous souhaitez vérifier les occurrences de l’événement. Cette période fait référence aux jours passés par rapport au jour actuel. L’exemple suivant montre une requête ciblant les utilisateurs ayant effectué l’événement plus de 5 fois au cours des 365 derniers jours.
      Champ Période avec « 365 » saisi.

Dans l’exemple suivant, le segment résultant contiendrait les utilisateurs ayant effectué l’événement favorited plus de 3 fois au cours des 30 derniers jours, après une date spécifiée.

Éditeur SQL montrant un exemple d'extension de segment SQL incrémentielle.

Aperçu SQL d'une extension de segment SQL incrémentielle.

Comment l’actualisation incrémentielle suit les utilisateurs au fil du temps

Lorsque vous utilisez l’actualisation incrémentielle, Braze stocke les comptages quotidiens pour chaque utilisateur dans une table de comptages interne afin de pouvoir évaluer votre segment sur toute votre période sans réinterroger l’ensemble des données historiques chaque jour.

Ce qui est stocké : Braze maintient une table de comptages (similaire à une table de cohortes de segments) qui accumule les comptages de qualification quotidiens des utilisateurs au format (date, user_id, count). Cette table conserve les données historiques en dehors de la fenêtre glissante d’actualisation de deux jours.

Ce qui se passe à chaque actualisation : Lors d’une actualisation incrémentielle, Braze efface uniquement les enregistrements de la fenêtre glissante de deux jours dans la table de comptages. Il réexécute ensuite votre requête SQL avec des paramètres de temps mis à jour (en utilisant $start_date) pour insérer de nouvelles lignes pour ces dates. Les lignes historiques en dehors de la fenêtre glissante de deux jours restent intactes dans la table de comptages.

Comment Braze détermine qui fait partie du segment : Braze évalue vos critères d’appartenance au segment par rapport à l’ensemble de la table de comptages accumulée, et non uniquement par rapport au payload le plus récent de la fenêtre glissante de deux jours. Cela signifie que les utilisateurs qualifiés il y a plus de deux jours restent dans le segment, sauf si les comptages agrégés ne remplissent plus vos critères.

Écrire du SQL qui s’actualise de manière fiable : Lors de l’écriture de SQL pour l’actualisation incrémentielle, évitez les modèles de requête pouvant produire des résultats incohérents lors d’actualisations partielles. Par exemple, les agrégations fenêtrées comme MAX(time) qui dépendent de données traversant les limites de $start_date peuvent modifier l’état des lignes de manière inattendue lorsque seul un sous-ensemble de dates est recalculé. Structurez vos requêtes de sorte que la sortie de chaque date dépende uniquement des événements de cette date, ce qui maintient des résultats cohérents, que la requête traite 2 ou 730 jours de données.

Règles supplémentaires

De plus, votre requête d’actualisation incrémentielle doit respecter les règles suivantes :

  • Écrivez une seule instruction SQL. N’incluez aucun point-virgule.
  • Votre segment SQL incrémentiel ne peut faire référence qu’à un seul événement. Vos menus déroulants pour la date et le comptage s’appliquent à cet événement.
  • Votre SQL doit inclure l’alias $date() (par exemple, $date(time)), sélectionner user_id et une agrégation COUNT(), grouper par date et user_id, et filtrer avec $start_date sur votre colonne temporelle (par exemple, time > $start_date). Enregistrer du SQL sans $date() ou ces champs renvoie une erreur.
  • Vous ne pouvez pas utiliser d’instructions DECLARE.

Étape 3 : Prévisualiser la requête

Avant d’enregistrer, vous pouvez exécuter un aperçu de votre requête. Les aperçus de requêtes sont automatiquement limités à 100 lignes et expireront après 60 secondes. L’exigence de la colonne user_id ne s’applique pas lors de l’exécution d’un aperçu.

Pour les extensions de segments SQL incrémentielles, l’aperçu n’inclut pas les critères supplémentaires liés à votre opérateur, au nombre de fois et à la période.

Étape 4 : Déterminer si vous devez inverser le SQL

Ensuite, déterminez si vous devez inverser le SQL. Bien qu’il ne soit pas possible d’interroger directement les utilisateurs n’ayant aucun événement, vous pouvez utiliser Inverser le SQL pour cibler ces utilisateurs.

Par exemple, pour cibler les utilisateurs ayant effectué moins de trois achats, écrivez d’abord une requête pour sélectionner les utilisateurs ayant effectué trois achats ou plus. Ensuite, sélectionnez Inverser le SQL pour cibler les utilisateurs ayant effectué moins de trois achats (y compris ceux n’ayant aucun achat).

Extension de segment nommée « A cliqué sur 1 à 4 e-mails au cours des 30 derniers jours » avec l'option Inverser le SQL sélectionnée.

Actualisation de l’appartenance à un segment

Pour actualiser l’appartenance à un segment de toute extension de segment créée à l’aide de SQL, ouvrez l’extension de segment et sélectionnez Refresh.

Gestion de vos extensions de segments

Sur la page Extensions de segments, les segments générés à l’aide de SQL sont signalés par l’icône à côté de leur nom.

Sélectionnez une extension de segment SQL pour voir où l’extension est utilisée, archiver l’extension ou actualiser manuellement l’appartenance au segment.

Section d'utilisation de la messagerie de l'éditeur SQL montrant où le segment SQL est utilisé.

Définir les paramètres d’actualisation

Si vous n’avez pas besoin que votre extension soit actualisée à intervalles réguliers, vous pouvez l’enregistrer sans utiliser les paramètres d’actualisation, et Braze générera par défaut votre extension de segments en fonction de l’appartenance des utilisateurs à ce moment-là. Utilisez le comportement par défaut si vous souhaitez générer l’audience une seule fois, puis la cibler avec une campagne ponctuelle.

Votre segment commencera toujours à être traité après l’enregistrement initial. À chaque actualisation de votre segment, Braze réexécute le segment et met à jour l’appartenance au segment pour refléter les utilisateurs présents dans votre segment au moment de l’actualisation. Cela peut aider vos campagnes récurrentes à atteindre les utilisateurs les plus pertinents.

Mise en place d’une actualisation récurrente

Pour établir une planification récurrente en définissant des paramètres d’actualisation, sélectionnez Activer l’actualisation. L’option de définition des paramètres d’actualisation est disponible pour tous les types d’extensions de segments, y compris les segments SQL, les extensions de segments CDI et les extensions de segments basées sur des formulaires simples.

Sélectionner vos paramètres d’actualisation

Paramètres d'intervalle d'actualisation avec une fréquence d'actualisation hebdomadaire, une heure de début à 10 h et le lundi sélectionné comme jour.

Dans le panneau Paramètres d’intervalle d’actualisation, vous pouvez sélectionner la fréquence à laquelle cette extension de segments sera actualisée : toutes les heures, tous les jours, toutes les semaines ou tous les mois. Vous devrez également sélectionner l’heure précise (dans le fuseau horaire de votre société) à laquelle l’actualisation doit avoir lieu, par exemple :

  • Si vous avez une campagne d’e-mail envoyée tous les lundis à 11 h, heure de la société, et que vous souhaitez vous assurer que votre segment est actualisé juste avant l’envoi, vous devriez choisir une planification d’actualisation hebdomadaire à 10 h les lundis.
  • Si vous souhaitez que votre segment soit actualisé tous les jours, sélectionnez la fréquence d’actualisation quotidienne, puis choisissez l’heure de l’actualisation.

Consommation de crédits et coûts supplémentaires

Étant donné que les actualisations réexécutent la requête de votre segment, chaque actualisation pour les segments SQL consommera des crédits de segment SQL, et chaque actualisation pour les extensions de segments CDI entraînera un coût au sein de votre entrepôt de données third-party.

Critères de désactivation automatique des extensions périmées

Les actualisations planifiées sont automatiquement désactivées lorsqu’une extension de segments est périmée. Une extension de segments est périmée si elle répond aux critères suivants :

  • Non utilisée dans des campagnes ou des Canvas actifs
  • Non utilisée dans un segment faisant partie d’une campagne ou d’un Canvas actif
  • Non utilisée dans un segment où le suivi analytique est activé
  • Non modifiée depuis plus de sept jours
  • Non ajoutée à une campagne, un Canvas (y compris les brouillons) ou un segment depuis plus de sept jours

Si l’actualisation planifiée est désactivée pour une extension de segments, une notification l’indique pour cette extension.

Une notification indiquant « Les actualisations planifiées ont été désactivées pour cette extension car elle n'est utilisée dans aucune campagne, aucun Canvas ni aucun segment actif. L'extension de segments a été désactivée le 23 février 2025 à 0 h 00. »

Lorsque vous êtes prêt à utiliser une extension de segments périmée, passez en revue les paramètres d’actualisation, sélectionnez la planification d’actualisation qui correspond à votre cas d’usage, puis enregistrez les modifications.

Crédits Snowflake

Chaque espace de travail Braze dispose de 5 crédits Snowflake par mois. Si vous avez besoin de crédits supplémentaires, contactez votre gestionnaire de compte. Les crédits sont consommés chaque fois que vous actualisez, ou enregistrez et actualisez, l’appartenance d’un segment SQL. Les crédits ne sont pas utilisés lorsque vous exécutez des aperçus dans un segment SQL ou lorsque vous enregistrez ou actualisez une extension de segment classique.

La consommation de crédits est corrélée à la durée d’exécution de votre requête SQL. Plus la durée d’exécution est longue, plus la requête coûtera de crédits. La durée d’exécution peut varier en fonction de la complexité et de la taille de vos requêtes au fil du temps. Plus vous exécutez des requêtes complexes et fréquentes, plus votre allocation de ressources est importante et plus votre temps d’exécution diminue.

Pour économiser des crédits, prévisualisez votre requête pour vous assurer qu’elle est correcte avant d’enregistrer l’extension de segment SQL.

Vos crédits sont réinitialisés à 5 le premier de chaque mois à 00h00 UTC. Vous pouvez suivre votre consommation de crédits tout au long du mois dans le panneau d’utilisation des crédits. Depuis la page Segment Extensions, cliquez sur View SQL Credit Usage.

Panneau d'utilisation des crédits SQL sur la page Extensions de segments SQL

Voici ce qui se passe lorsque vos crédits atteignent zéro :

  • Toutes les extensions de segments SQL configurées pour s’actualiser automatiquement cessent de s’actualiser, ce qui impacte l’appartenance à ces segments ainsi que toutes les Campaigns ou Canvas qui ciblent ces segments.
  • Vous ne pouvez enregistrer les nouvelles extensions de segments SQL qu’en tant que brouillons pour le reste du mois.

Tous les utilisateurs de l’entreprise ayant créé un segment SQL ainsi que les administrateurs de votre entreprise recevront un e-mail de notification lorsque vous aurez utilisé 50 %, 80 % et 100 % de vos crédits. Après la réinitialisation de vos crédits au début du mois suivant, vous pourrez créer de nouveaux segments SQL et les actualisations automatiques reprendront.

Si vous souhaitez acheter des crédits de segments SQL supplémentaires ou des extensions de segments supplémentaires, contactez votre gestionnaire de compte.

New Stuff!