Passer au contenu

Objet Audience connectée

Une audience connectée est un filtre d’audience dynamique que vous définissez directement dans votre requête API, ce qui vous permet de cibler les bons utilisateurs au moment de l’envoi sans avoir à créer ou gérer des Segments dans le tableau de bord de Braze.

Au lieu de créer à l’avance un Segment pour chaque combinaison d’audience possible, vous transmettez les critères de filtrage directement dans votre appel API. Selon l’endpoint, cet objet est transmis en tant que audience ou custom_audience. Braze évalue chaque utilisateur par rapport à ces critères en temps réel et délivre le message uniquement aux utilisateurs correspondants. Ainsi, une seule Campaign, un seul Canvas ou une seule définition de message API peut servir un nombre illimité de variations d’audience, entièrement piloté par votre logique métier.

Comment ça fonctionne

  1. Définissez votre message en créant une Campaign ou un Canvas déclenchés par API dans le tableau de bord de Braze, ou définissez le contenu du message entièrement en ligne à l’aide des objets de communication dans votre requête API. Utilisez les propriétés de déclenchement ou le contexte Canvas pour la personnalisation dynamique.
  2. Appelez un endpoint pris en charge et incluez vos filtres d’audience connectée dans le paramètre audience, ou dans custom_audience pour /messages/live_activity/start. Vous pouvez filtrer sur les attributs personnalisés, le statut d’abonnement aux notifications push, le statut d’abonnement aux e-mails et la date de dernière utilisation de l’application.
  3. Braze évalue les filtres au moment de l’envoi, en ne délivrant le message qu’aux utilisateurs qui correspondent à vos critères.

Étant donné que l’audience est définie par requête, vos systèmes backend peuvent déclencher des messages contextuellement pertinents en réponse à n’importe quel événement métier (un changement de prix, une alerte météo, une mise à jour de score en direct) sans intervention sur le tableau de bord.

Endpoints compatibles

Vous pouvez utiliser l’objet d’audience connectée sur ces endpoints :

Notez que le paramètre audience ne prend pas en charge les tableaux d’objets.

Cas d’usage

Utilisez les audiences connectées pour les scénarios dans lesquels vos systèmes back-end détectent un événement et doivent notifier un ensemble d’utilisateurs déterminé dynamiquement :

Catégorie Exemple
Alertes météo Un fournisseur de données météorologiques détecte un événement météorologique violent et envoie des notifications push aux utilisateurs dont l’attribut preferred_city correspond à la zone touchée.
Sports et événements en direct Une application sportive envoie des mises à jour de scores en temps réel ou des alertes de match aux utilisateurs dont l’attribut favorite_team correspond à l’une des équipes en jeu.
Contenu et divertissement Un service de streaming notifie les utilisateurs dont le tableau favorite_shows contient le titre d’une série chaque fois qu’un nouvel épisode est disponible.
E-commerce Un détaillant en ligne envoie des alertes de baisse de prix ou de retour en stock aux utilisateurs dont le tableau wishlisted_products contient l’ID du produit concerné.
Voyage Une application de voyage envoie des notifications de retard de vol aux utilisateurs dont l’attribut booked_flight correspond au numéro de vol concerné.
Services financiers Une plateforme de trading alerte les utilisateurs dont le tableau watchlist contient un symbole boursier ayant franchi un seuil de prix.

Dans chaque cas, une seule Campaign ou définition de message API uniquement gère toutes les variations. Votre back-end détermine les valeurs de filtre et les transmet dans la requête API, de sorte que vous n’avez pas besoin de créer un Segment ou une Campaign distinct(e) pour chaque produit, série, équipe ou emplacement.

Exemple de requête

L’exemple suivant utilise l’endpoint /campaigns/trigger/send pour cibler les utilisateurs qui ont ajouté une émission spécifique à leurs favoris et qui sont inscrits aux notifications push :

{
  "campaign_id": "YOUR_CAMPAIGN_ID",
  "audience": {
    "AND": [
      {
        "custom_attribute": {
          "custom_attribute_name": "favorite_shows",
          "comparison": "includes_value",
          "value": "Example Show"
        }
      },
      {
        "push_subscription_status": {
          "comparison": "is",
          "value": "opted_in"
        }
      }
    ]
  },
  "trigger_properties": {
    "show_title": "Example Show",
    "episode_title": "Season 3, Episode 1",
    "deep_link": "https://example.com/shows/example-show/s3e1"
  },
  "broadcast": true
}

Définissez broadcast sur true lorsque vous omettez recipients et ciblez avec audience. Pour /campaigns/trigger/send, broadcast est requis pour envoyer à une audience connectée sans liste de destinataires. Si broadcast est true, n’incluez pas de liste recipients.

Corps de l’objet

L’objet d’audience connectée est composé soit d’un seul filtre d’audience connectée, soit de plusieurs filtres d’audience connectée combinés avec les opérateurs AND et OR.

Exemple avec plusieurs filtres :

{
  "AND":
    [
      Connected Audience Filter,
      {
        "OR" :
          [
            Connected Audience Filter,
            Connected Audience Filter
          ]
      },
      Connected Audience Filter
    ]
}

Filtres d’audience connectés

Combinez plusieurs filtres avec les opérateurs AND et OR pour créer un filtre d’audience connecté.

Considérations

Les audiences connectées ne peuvent pas filtrer les utilisateurs par :

  • Attributs par défaut
  • Événements personnalisés
  • Segments
  • Événements d’engagement liés aux messages
  • Attributs personnalisés imbriqués

Pour utiliser ces filtres, nous vous recommandons de les intégrer dans un Segment d’audience, puis de spécifier ce Segment dans le paramètre segment_id pour l’endpoint /messages/send. Lorsque vous utilisez d’autres endpoints, vous devez d’abord ajouter le Segment à la Campaign ou au Canvas déclenché par API dans le tableau de bord de Braze. Si vous devez filtrer sur des attributs imbriqués, utilisez un Segment standard à la place.

Filtre par attribut personnalisé

Ce filtre vous permet de segmenter en fonction d’un attribut personnalisé d’un utilisateur. Ces filtres contiennent jusqu’à trois champs :

{
  "custom_attribute":
    {
      "custom_attribute_name": (String) the name of the custom attribute to filter on,
      "comparison": (String) one of the allowed comparisons to make against the provided value,
      "value": (String, Numeric, Boolean) the value to be compared using the provided comparison
    }
}

Comparaisons autorisées par type de données

Le type de données de l’attribut personnalisé détermine les comparaisons valides pour un filtre donné.

Type d’attribut personnalisé Comparaisons autorisées
String equals, not_equal, matches_regex, does_not_match_regex, exists, does_not_exist, is_any_of, is_none_of
Array includes_value, does_not_include_value, exists, does_not_exist, is_any_of, is_none_of
Numeric equals, not_equal, greater_than, greater_than_or_equal_to, less_than, less_than_or_equal_to, exists, does_not_exist
Boolean equals, not_equal, exists, does_not_exist
Time less_than_x_days_ago, greater_than_x_days_ago, less_than_x_days_in_the_future, greater_than_x_days_in_the_future, after, before, exists, does_not_exist

Mises en garde sur les comparaisons d’attributs

Comparaison Considérations supplémentaires
value La value n’est pas requise lors de l’utilisation des comparaisons exists ou does_not_exist. value doit être une chaîne de caractères datetime au format ISO 8601 lors de l’utilisation des comparaisons before et after.
matches_regex Lors de l’utilisation de la comparaison matches_regex, la valeur transmise doit être une chaîne de caractères. Pour en savoir plus sur l’utilisation des expressions régulières avec Braze, consultez Expressions régulières et Types de données des attributs personnalisés.

Comparaisons multi-valeurs

Les comparaisons is_any_of et is_none_of prennent en charge la correspondance avec plusieurs valeurs au sein d’une même comparaison. Ces comparaisons fonctionnent avec les attributs personnalisés de type string et array.

  • is_any_of : correspond aux utilisateurs dont la valeur de l’attribut est égale à l’une des valeurs fournies. La value peut être une chaîne de caractères unique ou un tableau de chaînes de caractères.
  • is_none_of : correspond aux utilisateurs dont la valeur de l’attribut ne correspond à aucune des valeurs fournies. La value peut être une chaîne de caractères unique ou un tableau de chaînes de caractères. Notez que les utilisateurs qui ne possèdent pas cet attribut dans leur profil sont toujours éligibles à cette comparaison.

Pour les attributs de type array :

  • includes_value peut également accepter un tableau de valeurs pour vérifier si le tableau de l’utilisateur contient l’une des valeurs spécifiées.
  • Lorsque vous utilisez is_any_of ou is_none_of avec des attributs de type array, ils fonctionnent respectivement de la même manière que includes_value et does_not_include_value.

Exemples d’attributs personnalisés

{
  "custom_attribute":
    {
      "custom_attribute_name": "eye_color",
      "comparison": "equals",
      "value": "blue"
    }
}
{
  "custom_attribute":
  {
    "custom_attribute_name": "favorite_foods",
    "comparison": "includes_value",
    "value": "pizza"
  }
}
{
  "custom_attribute":
  {
    "custom_attribute_name": "last_purchase_time",
    "comparison": "less_than_x_days_ago",
    "value": 2
  }
}

Exemples de comparaisons multi-valeurs

is_any_of avec un tableau de chaînes de caractères
{
  "custom_attribute":
  {
    "custom_attribute_name": "favorite_color",
    "comparison": "is_any_of",
    "value": ["red", "blue", "green"]
  }
}
is_none_of avec un tableau de chaînes de caractères
{
  "custom_attribute":
  {
    "custom_attribute_name": "subscription_tier",
    "comparison": "is_none_of",
    "value": ["bronze", "silver"]
  }
}
includes_value avec un tableau (attribut de type array)
{
  "custom_attribute":
  {
    "custom_attribute_name": "subscribed_products",
    "comparison": "includes_value",
    "value": ["1001", "1002", "1003"]
  }
}

Cela correspond aux utilisateurs dont le tableau subscribed_products contient l’une des valeurs "1001", "1002" ou "1003".

Filtre par abonnement push

Ce filtre vous permet de segmenter en fonction du statut d’abonnement push d’un utilisateur.

Corps du filtre

{
  "push_subscription_status":
  {
    "comparison": (String) one of the following allowed comparisons,
    "value": (String) one of the following allowed values
  }
}
  • Comparaisons autorisées : is, is_not
  • Valeurs autorisées : opted_in, subscribed, unsubscribed

Filtre par abonnement e-mail

Ce filtre vous permet de segmenter en fonction du statut d’abonnement e-mail d’un utilisateur.

Corps du filtre

{
  "email_subscription_status":
  {
    "comparison": (String) one of the following allowed comparisons,
    "value": (String) one of the following allowed values
  }
}
  • Comparaisons autorisées : is, is_not
  • Valeurs autorisées : opted_in, subscribed, unsubscribed

Filtre par dernière utilisation de l’application

Ce filtre vous permet de segmenter en fonction de la dernière utilisation de l’application par l’utilisateur. Ces filtres contiennent deux champs :

Corps du filtre

{
  "last_used_app":
  {
    "comparison": (String) one of the allowed comparisons listed,
    "value": (String) the value to be compared using the provided comparison
  }
}
  • Comparaisons autorisées : after, before
  • Valeurs autorisées : datetime (chaîne de caractères ISO 8601)
New Stuff!