Référence des tags de recherche dans le catalogue
Objectif de cet article
Découvrez comment utiliser le tag catalogue, qui vous permet de référencer des informations spécifiques sur les produits de votre catalogue dans vos e-mails, SMS et notifications push. Cette fonction est utile lorsque vous souhaitez créer des recommandations de produits personnalisées ou des références croisées d'informations sur les produits. Par exemple, si vous utilisez votre propre moteur de recommandation, vous pouvez transmettre à Klaviyo vos propres recommandations de produits en tant que données d'événement ou de profil, puis utiliser ces données dans des modèles.
Veuillez noter que ce guide est conçu pour les marketeurs à l’aise avec la technique ou les clients qui ont accès à un développeur.
Le tag {% catalog %}
Le tag {% catalog %} utilise la syntaxe suivante :
{% catalog "itemID" unpublished="cancel" %}
...
{% endcatalog %}Remplacez itemID par l’ ID de l’article affiché sur la page des détails du produit dans Klaviyo. La valeur doit correspondre à l’ID de l’article stocké dans votre catalogue ; utilisez un SKU uniquement s’il correspond également à l’ID de l’article du catalogue. Conservez les guillemets autour d’un ID littéral. Lorsque vous utilisez une variable d’événement ou de profil, laissez la variable sans guillemets, comme indiqué dans les exemples ci-dessous.
L’inclusion de unpublished="cancel" empêche l’envoi du message si l’élément référencé n’est pas publié dans votre catalogue Klaviyo. Cet argument est facultatif. Sans cela, un élément non publié peut tout de même apparaître dans le message.
- Si une recherche utilisant unpublished="cancel" trouve un élément non publié au moment de la recherche, l’intégralité du message est ignorée pour ce destinataire.
- Pour un message de flux, ouvrez ses analyses, puis sélectionnez Activité du destinataire > Ignoré. Dans la liste déroulante Type, sélectionnez Ignoré : élément de catalogue indisponible. Cette liste inclut les profils dont les messages ont été ignorés, car un élément référencé n’a pas pu être trouvé, ou parce qu’un élément non publié a été recherché avec
unpublished="cancel". Un élément peut être non publié, car il est en rupture de stock ou autrement indisponible dans votre catalogue.
Lorsque vous utilisez cette fonctionnalité, entre les tags d’ouverture et de fermeture du catalogue, vous pouvez référencer des données spécifiques de l’article associé à l’ itemID dans votre catalogue de produits Klaviyo.
Les données suivantes peuvent être référencées dans un bloc {% catalog %}.
Balise de modèle | Nom | Description |
|---|---|---|
| Description | La description de l’article. |
| URL | L’URL permettant d’accéder à l’article dans votre boutique. |
| Title | Le titre de l’article. |
| Prix | Le prix d’un article, formaté selon les paramètres de devise du modèle ou du compte. Ce tag met en forme la valeur ; il ne convertit pas le prix dans une autre devise. |
| Symbole de devise | Le symbole graphique utilisé pour indiquer une unité monétaire |
| Code de la devise | Le code alphabétique utilisé pour désigner une devise |
| Image complète | L’URL de l’image complète de l’article. Utilisez-la dans un bloc d’image ou une balise <img>. |
| Vignette | L’URL de l’image miniature de l’article. Utilisez-la dans une balise <img> dans du HTML personnalisé, ou utilisez-la comme URL d’espace réservé d’image dynamique entourée des balises d’ouverture et de fermeture {% catalog %}. |
| Identifiant | L’ID de produit de l’article. |
D’autres champs de données peuvent être disponibles et être considérés comme des métadonnées. Pour référencer l’une de ces propriétés d’article supplémentaires, vous pouvez utiliser la syntaxe de variable suivante : {{ catalog_item.metadata.color }}. Dans ce cas, la variable récupérera la valeur "couleur" associée à l’article stocké dans les métadonnées de l’article.
Pour accéder à un aperçu de tous les détails disponibles stockés sur un article — y compris toutes les métadonnées — ajoutez l’extrait de code suivant à un bloc de texte dans un modèle de test, puis mettez à jour itemID avec l’ID d’article de l’un des produits actuels de votre catalogue.
{% catalog "itemID" %}
{{ catalog_item }}
{% endcatalog %}Ensuite, prévisualisez le message. Cet aperçu fournit une version brute de toutes les données disponibles pour vos produits.
Filtrage par identifiant de catalogue
Si vous avez plusieurs catalogues, utilisez l’argument catalog_id dans le tag {% catalog %} d’ouverture pour spécifier un catalogue. Vous devez également inclure integration, avec les deux valeurs entre guillemets. Par exemple, vous pouvez avoir un catalogue synchronisé via une intégration Klaviyo telle que Shopify, un catalogue synchronisé via API, ou un flux de catalogue personnalisé. La valeur d’intégration doit correspondre à la source du catalogue. L’exemple ci-dessous utilise integration="api" pour extraire une description de produit d’un catalogue API.
Tout d’abord, recherchez l’ID du catalogue :
- Dans Klaviyo, accédez à Contenu > Produits.
- Utilisez le filtre Options de catalogue pour sélectionner le catalogue que vous souhaitez utiliser. La sélection par défaut est Tous les catalogues.

- Copiez l’ID du catalogue à partir de l’URL.

Ensuite, trouvez l’ID de l’élément :
- Après avoir sélectionné le catalogue, sélectionnez le produit que vous souhaitez utiliser dans le catalogue.
- Sur la page de détails du produit, vous verrez l’ID de l’article.

Pour l’exemple ci-dessus, le code ressemblerait à :
{% catalog "SAMPLE-DATA-ITEM-15" integration="api" catalog_id="1060935"%} {{ catalog_item.description }}{% endcatalog %}Remplacez l’ID d’article d’exemple et l’ID de catalogue par vos propres valeurs, puis prévisualisez le message et vérifiez qu’il affiche les détails du produit attendus. Si la recherche ne peut pas trouver de correspondance dans le catalogue que vous spécifiez, elle peut se rabattre sur un autre catalogue de votre compte.
Filtrage par paramètres régionaux
Si votre catalogue contient des données produit localisées, comme un catalogue Shopify avec des données localisées synchronisées avec Klaviyo, vous pouvez rechercher un produit par paramètre régional. Incluez à la fois la langue et la région, en utilisant des codes de langue et de pays à 2 lettres issus des normes ISO 639 et ISO 3166, respectivement. Par exemple, language='fr' et region='CA' demandent des données produit en français pour le Canada. Si aucun produit localisé ne peut être trouvé, les informations produit par défaut sont utilisées.
{% catalog "SAMPLE-DATA-ITEM-15" integration="api" catalog_id="1060935" language='fr' region='CA' %} {{ catalog_item.description }}{% endcatalog %}Recherchez un ID d’article transmis avec un événement
L’utilisation d’une recherche de catalogue avec un évènement est principalement utilisée dans les scénarios suivants :
- Si vous utilisez une intégration personnalisée où les recommandations de produits sont transmises avec un événement pour s’afficher dans le message. Par exemple, un message d’abandon de navigation où des recommandations uniques sont générées en fonction des articles consultés. Au lieu de renseigner dans le message l’article unique consulté par un client, vous pouvez générer et renseigner un ensemble d’articles recommandés en fonction de l’article consulté. Un ensemble d’ID de produits doit être envoyé à Klaviyo avec l’événement.
- Si vous utilisez une intégration personnalisée et que vous préférez ne pas envoyer tous les détails du produit qui doivent figurer dans un message. Par exemple, avec un message de panier abandonné, envoyez uniquement les Product IDs de tous les articles abandonnés, et Klaviyo peut rechercher chacun d’eux afin d’y récupérer tous les détails pertinents. Il n’est pas nécessaire que chaque événement contienne le nom du produit, le prix, l’image, etc., puisque tout cela peut être renseigné en ne transmettant que le Product ID à Klaviyo, puis en recherchant les informations dans votre catalogue de produits Klaviyo.
Lorsque vous utilisez un tag {% catalog %} avec un événement, la recherche est basée sur l’ID d’article de l’article du catalogue (il s’agira soit de l’ID de produit, soit du SKU selon les intégrations).
Pour un événement dans lequel la valeur d’identification transmise est l’ID de l’article, les tags de recherche apparaîtront comme suit :
{% catalog event.ItemID %}
...
{% endcatalog %}Dans ce bloc {% catalog %}, ajoutez des balises de modèle pour les données que vous souhaitez renseigner pour chaque élément (par ex. le titre ou l’image).
Par exemple, en utilisant les exemples de données d’articles de catalogue ci-dessous, nous pouvons créer un bloc {% catalog %} qui fait référence aux informations clés sur les produits :
Données d’article de catalogue :
{
"description": "Standard issue for all Klaviyos. This t-shirt has the Klaviyo logo on the front and mark diagram on the back.",
"url": "https://klaviyogear.myshopify.com/collections/klaviyo-classics/products/short-sleeve-t-shirt-1",
"title": "Classic Klaviyo T-Shirt",
"featured_image": {
"full": {
"src": "https://www.klaviyo.com/media/images/examples/products/klaviyo-tshirt-full.png"
},
"thumbnail": {
"src": "https://www.klaviyo.com/media/images/examples/products/klaviyo-tshirt-thumbnail.png"
}
},
"id": "KLAVIYO-TSHIRT",
"metadata": {
"Color": "Grey",
"Design": "Standard"
}
}Syntaxe de bloc de modèle :
L’exemple HTML suivant récupère l’image, le titre et la description de l’article pour chaque article dans event.Items. Cela suppose que chaque élément possède une valeur SKU correspondant à l’ID de l’élément dans votre catalogue Klaviyo. Si votre événement utilise une autre propriété pour l’ID de l’élément du catalogue, remplacez item.SKU par cette propriété. Utilisez les exemples HTML dans un e-mail ; pour SMS ou push, utilisez les tags de catalogue avec des champs de texte plutôt que du balisage HTML.
{% for item in event.Items %}
{% catalog item.SKU %}
<img src="{{ catalog_item.featured_image.full.src }}"/>
{{ catalog_item.title }}
{{ catalog_item.description }}
{% endcatalog %}
{% endfor %}Si la recherche ne parvient pas à trouver l’élément qu’elle cherche, le message est ignoré et n’est pas envoyé.
Rechercher un ID d’article en tant que propriété personnalisée
Si vous utilisez votre propre moteur de recommandation, vous pouvez transmettre les ID d’articles recommandés aux profils dans Klaviyo en tant que propriété de profil personnalisée. À l’aide d’un tag {% catalog %}, vous pouvez référencer les informations de n’importe lequel de ces produits lorsque vous envoyez des messages à ce client.
Si la recherche ne parvient pas à trouver l’élément qu’elle cherche, le message est ignoré et n’est pas envoyé.
Syntaxe pour plusieurs ID d’articles stockés dans une seule propriété
Stockez Recommended Products sous forme de liste d’ID d’articles, par exemple ["KLAVIYO-TSHIRT", "KLAVIYO-HAT"]. Remplacez ces exemples d’ID par des ID de votre catalogue, et remplacez le nom de la propriété dans le code si le vôtre est différent.
{% for item in person|lookup:'Recommended Products' %}{% catalog item %}
<img src="{{ catalog_item.featured_image.thumbnail.src }}" style="display: inline-block; border: none" width="150px" />
<p>{{ catalog_item.title }} {% endcatalog %}</p>
{% endfor %}Syntaxe pour un ID d’article unique dans une propriété de profil
Stockez un ID d’article unique comme valeur de texte dans Recommended Products, par exemple KLAVIYO-TSHIRT. Utilisez le nom de la propriété et l’ID d’article de votre propre compte.
{% catalog person|lookup:"Recommended Products" %}
<img style="display: inline-block; border: none;" src="{{ catalog_item.featured_image.thumbnail.src }}" width="150px"/>
<p>{{ catalog_item.title }} {% endcatalog %}</p>À propos du tag has_category
Utilisez le tag has_category pour déterminer si un article de votre catalogue fait partie d’une catégorie particulière. Il doit être utilisé au sein d’un tag de recherche de catalogue pour un article particulier.
Utilisez l’exemple de code ci-dessous pour utiliser ce tag, en remplaçant itemID par un identifiant de produit de votre catalogue et category_name par tout ou partie d’un nom de catégorie.
{% catalog "itemID" %}
{{ catalog_item.title }}
{% has_category catalog_item "category_name" as in_category %}
{% if in_category %}
I am on sale!
{% else %}
{% endif %}
{% endcatalog %}Cet exemple affiche le titre du produit, puis vérifie si le produit appartient à une catégorie, category_name. Si cela est évalué comme true, le message « Je suis en promotion ! » apparaîtra après le titre du produit.
Le tag has_category recherche des correspondances complètes et partielles avec le nom de catégorie que vous définissez. Par exemple, si vous utilisez « sale » comme nom de catégorie et qu’un produit a un tag « on-sale », le tag has_category sera évalué comme true pour ce produit.
Ressources supplémentaires
- Comment utiliser les flux de produits et les recommandations
Découvrez comment créer un flux de produits dans Klaviyo afin d’utiliser des recommandations dans vos messages. Les flux de produits récupèrent des données issues de votre catalogue et du comportement des clients (par exemple, les produits qu’ils ont déjà consultés ou achetés) et les exploitent pour fournir des recommandations personnalisées à vos abonnés.