Show Menu
SUJETS×

Requête

Description

The Query activity allows you to filter and extract a population of elements from the Adobe Campaign database. You can define Additional data for the targeted population via a dedicated tab. Ces données sont stockées dans des colonnes additionnelles et sont exploitables uniquement pour le workflow en cours.
L'activité utilise l'outil d'édition de requêtes, dont le fonctionnement est détaillé dans une section dédiée .

Contexte d'utilisation

The Query activity can be used for various types of uses:
  • segmentation d'individus afin de définir la cible d'un message, une audience, etc.
  • enrichissement de données de toute table de la base Adobe Campaign
  • export des données.

Configuration

  1. Placez une activité Query dans votre workflow.
  2. Sélectionnez l'activité puis ouvrez-la à l'aide du bouton , disponible dans les actions rapides qui s'affichent. Par défaut, l'activité est pré-paramétrée pour rechercher des profils.
  3. If you would like to run a query on a resource other than the profile resource, go to the activity's Properties tab and select a Resource and a Targeting dimension .
    The Resource allows you to refine the filters displayed in the palette whereas the Targeting dimension , contextual with regard to the resource selected, corresponds to the type of population that you would like to obtain (identified profiles, deliveries, data linked to the selected resource, etc.).
  4. In the Target tab, run your query by defining and combining rules.
  5. You can define Additional data for the targeted population via a dedicated tab. Ces données sont stockées dans des colonnes additionnelles et sont exploitables uniquement pour le workflow en cours. Vous pouvez notamment ajouter des données provenant des tables de la base Adobe Campaign liées à la dimension de ciblage de la requête. Consultez la section Enrichir des données .
    Par défaut, l’ Remove duplicate rows (DISTINCT) option est cochée dans Advanced options l’onglet Additional data de l’. If the Query activity contains many (from 100) additional data defined, it is recommended to uncheck this option, for performance reasons. Sachez que si cette option est décochée, vous pouvez obtenir des doublons, selon les données faisant l'objet de la requête.
  6. In the Transition tab, the Enable an outbound transition option lets you add an outbound transition after the query activity, even if it retrieves no data.
    Le code segment de la transition sortante peut être personnalisé à l'aide d'une expression standard et de variables d'événements (voir Personnaliser les activités avec des variables d'événements ).
  7. Validez le paramétrage de l'activité et enregistrez le workflow.

Dimensions de ciblage et ressources

Les dimensions de ciblage et les ressources permettent de définir sur quels éléments reposera une requête pour déterminer la cible d'une diffusion.
Les dimensions de ciblage sont définies dans les mappings de ciblage. Voir à ce propos cette section .

Définir la dimension de ciblage et la ressource d'une requête

Targeting dimension and resources are defined when creating a workflow, in the Properties tab of a Query activity.
La dimension de ciblage peut être également définie lors de la création d'une audience (voir cette section ).
Les dimensions de ciblage et les ressources sont liées. Les dimensions de ciblage disponibles dépendent donc de la ressource sélectionnée.
For example, for the Resource Profiles (profile) , the following targeting dimensions will be available:
While for Deliveries (delivery) , the list will contain the following targeting dimensions:
Une fois la dimension de ciblage et la ressource indiquées, différents filtres sont disponibles dans la requête.
Example of available filters for the Profiles (profile) resource:
Example of available filters for the Deliveries (delivery) resource:

Utiliser des ressources différentes des dimensions de ciblage

Par défaut, la dimension de ciblage et la ressource sont définies pour cibler des profils.
Il peut toutefois s'avérer utile d'utiliser une ressource différente de la dimension de ciblage si vous souhaitez rechercher un enregistrement spécifique dans une table distante.
Exemple 1 : identification des profils ciblés par la diffusion avec le libellé « Ravi de vous revoir parmi nous » .
  • Dans ce cas, nous voulons cibler des profils. We will set the targeting dimension to Profiles (profile) .
  • Nous voulons également filtrer les profils sélectionnés en fonction du libellé de la diffusion. We will therefore set the resource to Delivery logs . Ainsi, nous appliquerons un filtre directement dans la table des logs de diffusion, ce qui offrira de meilleures performances.
Exemple 2 : identification des profils qui n'étaient pas ciblés par la diffusion avec le libellé « Ravi de vous revoir parmi nous ».
Dans l'exemple précédent, nous avons utilisé une ressource différente de la dimension de ciblage. Cette opération n'est possible que si vous recherchez un enregistrement qui se trouve dans la table distante (logs de diffusion dans le cas présent).
Si nous recherchons un enregistrement qui ne figure pas dans la table distante (comme des profils n'étant pas ciblés par une diffusion spécifique), nous devons utiliser les mêmes ressource et dimension de ciblage dans la mesure où l'enregistrement ne se trouve pas dans la table distante (logs de diffusion).
  • Dans ce cas, nous voulons cibler des profils. We will set the targeting dimension to Profiles (profile) .
  • Nous voulons également filtrer les profils sélectionnés en fonction du libellé de la diffusion. Il n'est pas possible d'appliquer directement un filtre sur les logs de diffusion dans la mesure où nous recherchons un enregistrement qui ne figure pas dans la table des logs de diffusion. We will therefore set the resource to Profile (profile) and build our query on the profiles table.

Enrichir des données

The Additional data tab of the Query , Incremental query and Enrichment activities allows you to enrich the data targeted and transfer this data to the following workflow activities, where it can be utilized. Il est notamment possible d'ajouter :
  • des données simples.
  • des agrégats.
  • des collections.
Dans le cas des agrégats et des collections, un Alias est automatiquement défini afin de donner un identifiant technique à une expression complexe. Cet alias, qui doit être unique, permet ainsi de retrouver simplement les agrégats et collections par la suite. Vous pouvez le modifier afin de lui donner un nom facilement reconnaissable.
Les alias doivent respecter les règles de syntaxe suivantes : seuls les caractères alphanumériques et les caractères "_" sont autorisés. Les alias sont sensibles à la casse. L'alias doit commencer par le caractère "@". Le caractère suivant immédiatement le "@" ne doit pas être numérique. Par exemple : @myAlias_1 et @_1Alias sont corrects ; @myAlias#1 et @1Alias sont incorrects.
Après avoir ajouté des données additionnelles, vous pouvez appliquer un niveau de filtre supplémentaire sur les données initialement ciblées en créant des conditions basées sur les données additionnelles définies.
Par défaut, l’ Remove duplicate rows (DISTINCT) option est cochée dans Advanced options l’onglet Additional data de l’. If the Query activity contains many (from 100) additional data defined, it is recommended to uncheck this option, for performance reasons. Sachez que si cette option est décochée, vous pouvez obtenir des doublons, selon les données faisant l'objet de la requête.

Ajouter un champ simple

En ajoutant un champ simple comme donnée additionnelle, celui-ci devient directement visible dans la transition sortante de l'activité. Cela permet par exemple de vérifier que les données issues de la requête sont celles souhaitées.
  1. From the Additional data tab, add a new element.
  2. Dans la fenêtre qui s'ouvre, au niveau du champ Expression , sélectionnez l'un des champs disponibles directement dans la dimension de ciblage ou dans l'une des dimensions liées. Vous pouvez éditer des expressions et utiliser des fonctions ou des calculs simples (hors agrégat) à partir des champs de la dimension.
    Un Alias est automatiquement créé si vous éditez une expression qui n'est pas un simple chemin XPATH (par exemple : "Year(<@birthDate>)"). Si vous le souhaitez, vous pouvez modifier ce dernier. Si vous sélectionnez un champ uniquement (par exemple : "@age"), il n'est pas nécessaire de définir un Alias .
  3. Select Add to confirm adding the field to the additional data. Lorsque la requête sera exécutée, une colonne supplémentaire correspondant au champ ajouté sera présente dans la transition sortante de l'activité.

Ajouter un agrégat

Les agrégats permettent de calculer des valeurs à partir de champs de la dimension de ciblage ou de champs des dimensions liées à la dimension de ciblage. Par exemple : la moyenne des achats réalisé par un profil. Lorsque vous utilisez avec, sa fonction peut retourner à zéro, qui est alors considérée comme NULL. Utilisez l’ Output filtering onglet de votre pour filtrer la valeur agrégée :
  • si vous ne voulez aucune valeur, vous devez filtrer is null .
  • si vous ne souhaitez pas que les valeurs zéro soient filtrées is not null .
Notez que si vous devez effectuer un tri sur votre , vous devez filtrer les valeurs nulles, sinon la valeur NULL apparaîtra comme le nombre le plus élevé.
  1. From the Additional data tab, add a new element.
  2. Dans la fenêtre qui s'ouvre, sélectionnez la collection que vous souhaitez utiliser pour créer votre agrégat au niveau du champ Expression .
    An Alias is created automatically. If you like, you can modify it by going back to the query's Additional data tab.
    La fenêtre de définition des agrégats s'ouvre.
  3. Define an aggregate from the Data tab. En fonction du type d'agrégat sélectionné, seuls les éléments dont le type de données est compatible sont disponibles au niveau du champ Expression . Par exemple, il n'est possible de calculer une somme qu'avec des données numériques.
    Vous pouvez ajouter plusieurs agrégats portant sur les champs de la collection sélectionnée. Veillez à définir des libellés explicites afin de pouvoir distinguer les différentes colonnes dans le détail des données transmises en sortie de l'activité.
    Vous pouvez également modifier les alias définis automatiquement pour chaque agrégat.
  4. Au besoin, vous pouvez ajouter un filtre afin de limiter les données prises en compte.
    Reportez-vous à la section Filtrer les données ajoutées .
  5. Select Confirm to add aggregates.
You cannot create an expression containing an aggregate directly from the Expression field of the New additional data window.

Ajouter une collection

  1. From the Additional data tab, add a new element.
  2. Dans la fenêtre qui s'ouvre, sélectionnez la collection que vous souhaitez ajouter au niveau du champ Expression . An Alias is created automatically. If you like, you can modify it by going back to the query's Additional data tab.
  3. Sélectionner Add . Une nouvelle fenêtre s'ouvre, vous permettant d'affiner les données de la collection que vous souhaitez afficher.
  4. Dans l’ Parameters onglet, sélectionnez Collection et définissez le nombre de lignes de la collection à ajouter. Par exemple, si vous souhaitez que les trois achats les plus récents soient effectués par chaque , saisissez "3" dans le Number of lines to return champ.
    Vous devez indiquer un nombre supérieur ou égal à 1.
  5. From the Data tab, define the fields of the collection that you want to display for each line.
  6. Si vous le souhaitez, vous pouvez ajouter un filtre afin de limiter les lignes de la collection prises en compte.
    Reportez-vous à la section Filtrer les données ajoutées .
  7. Si vous le souhaitez, vous pouvez définir un tri sur les données.
    For example, if you have selected 3 lines to return in the Parameters tab, and you want to determine the three most recent purchases, you can define a descending sort on the "date" field of the collection that corresponds to the transactions.
  8. Reportez-vous à la section Trier les données ajoutées .
  9. Select Confirm to add the collection.

Filtrer les données ajoutées

Lorsque vous ajoutez un agrégat ou une collection, vous avez la possibilité de spécifier un filtre supplémentaire afin de limiter les données que vous souhaitez afficher.
For example, if you want to only process the collection lines of transactions with amounts of 50 dollars and above, you can add a condition on the field corresponding to the transaction amount from the Filter tab.

Trier les données ajoutées

Lorsque vous ajoutez un agrégat ou une collection aux données d'une requête, vous pouvez indiquer si vous souhaitez appliquer un tri - croissant ou décroissant - basé sur la valeur du champ ou de l'expression défini.
For example, if you want to save only the transaction that was carried out most recently by a profile, enter "1" in the Number of lines to return field of the Parameters tab, and apply a descending sort on the field corresponding to the transaction date via the Sort tab.

Filtrer les données ciblées en fonction des données additionnelles

Once you have added additional data, a new Output filtering tab appears in the Query . This tab allows you to apply an additional filter on the data initially targeted in the Target tab, by taking into account the added data.
For example, if you have targeted all of the profiles that carried out at least one transaction and an aggregate calculating the average transaction amount carried out for each profile was added to the Additional data , you can refine the population initially calculated using this average.
To do this, in the Output filtering tab, simply add a condition on this additional data.

Exemple : personnaliser un email avec des données additionnelles

L'exemple suivant illustre l'ajout de différents types de données additionnelles dans une requête et leur utilisation en tant que champ de personnalisation dans un email.
Pour cet exemple, des ressources personnalisées sont utilisées :
  • La ressource profile a été étendue afin d'ajouter un champ permettant d'enregistrer les points fidélité de chaque profil.
  • Une ressource transactions a été créée et recense tous les achats effectués par les profils de la base. La date, le prix et le produit acheté est conservé pour chaque transaction.
  • Une ressource produits a été créée et référence les produits disponibles à l'achat.
L'objectif est d'envoyer un email aux profils pour lesquels au moins une transaction a été enregistrée. Via cet email, les clients recevront un rappel de la dernière transaction qu'ils ont effectuée ainsi que diverses informations récapitulatives sur l'ensemble de leurs transactions : nombre de produits achetés, total dépensé, rappel du nombre de points fidélité acquis.
Le workflow de se présente comme suit :
  1. Add a Query activity, which allows you to target the profiles that have carried out at least one transaction.
    From the query's Additional data tab, define the different data to be displayed in the final email:
    • Le champ simple de la dimension profile correspondant aux points fidélité. Reportez-vous à la section Ajouter un champ simple .
    • Deux agrégats basés sur la collection des transactions : le nombre de produits achetés et le montant total dépensé. You can add them from the Data tab of the aggregate configuration window, using the Count and Sum aggregates. Reportez-vous à la section Ajouter un agrégat .
    • Une collection permettant de retrouver le montant, la date et le produit de la dernière transaction effectuée.
      To do this, you have to add the different fields that you want to display from the Data tab of the collection configuration window.
      To return only the most recent transaction, you have to enter "1" for the Number of lines to return and apply a descending sort on the Date field of the collection from the Sort tab.
    If you would like to check that the data is correctly transferred by the activity's outbound transition, start the workflow for the first time (without the Email delivery activity) and open the query's outbound transition.
  2. Ajouter un Email delivery . Dans le contenu de l'email, insérez les champs de personnalisation correspondant aux données calculées dans la requête. You can find it via the Additional data (targetData) link of the personalization fields explorer.
Votre workflow est prêt à être exécuté. Les profils ciblés dans la requête recevront un email personnalisé contenant les données calculées issues de leurs transactions.

Exemples de requêtes

Ciblage des attributs de profil simples

L'exemple qui suit montre une activité de requête configurée pour cibler les hommes âgés de 18 à 30 ans, vivant à Londres.

Ciblage des attributs d'emails

L'exemple qui suit montre une activité de requête configurée pour cibler des profils dont le domaine d'adresse électronique est « orange.co.uk ».
L'exemple qui suit montre une activité de requête configurée pour cibler des profils dont l'adresse électronique a été fournie.

Ciblage de profils dont c'est l'anniversaire

L'exemple qui suit montre une activité de requête configurée pour cibler des profils dont c'est l'anniversaire.
  1. Drag the Birthday filter in your query.
  2. Définissez le Filter type sur Relative et sélectionnez Today .

Ciblage des profils ayant ouvert une diffusion spécifique

L'exemple qui suit montre une activité de requête configurée pour filtrer les profils ayant ouvert une diffusion avec le libellé « Été ».
  1. Drag the Opened filter in your query.
  2. Select the delivery then click Confirm .

Ciblage des profils pour lesquels les diffusions ont échoué pour une raison spécifique

L'exemple qui suit montre une activité de requête configurée pour filtrer les profils pour lesquels les diffusions ont échoué en raison d'une boîte pleine. This query is only available for users with administration rights and belonging to the All (all) organizational units (see this section ).
  1. Select the Delivery logs resource in order to filter directly in the delivery log table (see Using resources different from targeting dimensions ).
  2. Drag the Nature of failure filter in your query.
  3. Sélectionnez le type d'échec que vous souhaitez cibler. Dans notre cas Mailbox full .

Ciblage des profils n'ayant pas été contactés au cours des 7 derniers jours

L'exemple qui suit montre une activité de requête configurée pour filtrer les profils n'ayant pas été contactés au cours des 7 derniers jours.
  1. Drag the Delivery logs (logs) filter in your query.
    Sélectionnez Does not exist dans le déroulant, puis faites glisser le Delivery filtre.
  2. Configurez le filtre comme indiqué ci-dessous.