Le contexte de page est l'information que vous transmettez à Dynamic Yield à propos d'une page en cours de consultation par un visiteur de votre site. Le contexte de page inclut des détails sur le type de page (page d'accueil, page produit, etc.) ainsi que des attributs (par exemple, s'il s'agit d'une page produit — pour quel produit). Notez que la mise en œuvre du contexte de page nécessite des compétences techniques.
Important : vous devez vous assurer que le contexte de page est déterminé sur chaque page, selon l'une ou les deux méthodes décrites dans cet article. Si le contexte de page est absent, de nombreuses fonctionnalités ne fonctionnent pas comme prévu. Par exemple, le ciblage par type de page échoue, les profils d'affinité ne sont pas mis à jour et les recommandations ne sont pas présentées.
Configuration du contexte de page
Choisissez votre méthode
Il existe deux manières de déterminer le contexte de page sur votre site :
- En utilisant le code : placez un court extrait de code dans la balisede chaque page, avant le script Dynamic Yield.
-
Règles de détection automatique : définissez des règles pour détecter le type de page et récupérer ses attributs. Recommandé pour les applications à page unique (SPA). Ceci n'est pris en charge que pour les sites de commerce électronique utilisant le flux SPA Dynamic Yield.
Remarque : contactez votre responsable de compte technique pour activer la détection automatique.
Il n'est pas nécessaire de choisir une seule option
Vous pouvez implémenter différents types de pages de différentes manières. Par exemple, vous pouvez utiliser du code sur votre page d'accueil et utiliser des règles de détection automatique pour les pages de produits.
Vous pouvez même utiliser les deux méthodes pour les mêmes types de pages. Dans ce cas, le contexte est d'abord déterminé par les règles de détection automatique, et le code est la solution de repli si les règles échouent pour une raison quelconque.
Définissez le contexte
Les deux options commencent en allant dans Settings (Paramètres) › General Settings (Paramètres généraux) dans la navigation.
Option 1 : implémenter le contexte en utilisant du code
Récupérez le code depuis l'écran des paramètres généraux et collez le code correspondant sur chaque page.
Exemple de page d'accueil :
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default function HomePage() {
// ...
useEffect(() => setDYContext('HOMEPAGE'));
return {
// ...
)
}
Exemple de page de produit :
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default function ProductPage(props) {
// ...
useEffect(() => setDYContext('PRODUCT', [ props.sku ]), [ props.sku ]);
return {
// ...
)
}
Exemple de page d'accueil :
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default class HomePage extends React.Component{
// ...
componentDidMount() {
setDYContext('HOMEPAGE');
}
render() {
return(
// ...
)
}
}
Exemple de page de produit :
/**
* @param {string} type
* @param {string[]} data
*/
export function setDYContext(type, data) {
window.DY = window.DY || {};
DY.recommendationContext = { type: type, data: data };
}
export default class ProductPage extends React.Component{
constructor(props) {
super(props);
this.state = { sku: props.sku }
}
// ...
componentDidMount() {
setDYContext('PRODUCT', [ this.props.sku ]);
}
componentDidUpdate(prevProps) {
if (prevProps.sku !== this.props.sku) {
setDYContext('PRODUCT', [ this.props.sku ]);
}
}
render() {
return(
// ...
)
}
}
<script type="text/javascript">
window.DY = window.DY || {};
DY.recommendationContext = { type: "PRODUCT", data: ['SKU123'] }; // dans cet exemple, une page de produit
</script>
<script type="text/javascript">
window.DY = window.DY || {};
DY.recommendationContext = { type: "POST", data: ['POST_ID123'] }; // dans cet exemple, une page de publication
</script>
Option 2 : détecter automatiquement le contexte de page
Cette méthode vous permet d'être flexible et d'apporter des modifications sans modifier le code de votre site. Notez toutefois que la détection automatique peut provoquer un très léger retard dans la diffusion des campagnes (également appelé « flicker »). Notez également que cette fonctionnalité prête à l'emploi peut encore nécessiter un ajustement du code.
- Déterminez comment vous souhaitez définir chaque type de page. Actuellement, cela s'effectue en utilisant un modèle dans l'URL de la page ('contains' ou 'regex'), ou en utilisant la balise <title> de la page.
Remarque : dans l'option URL, les paramètres sont ignorés aux fins d'évaluation. - Pour tous les types de pages, à l'exception de Page d'accueil et Autre, vous devez également définir les attributs de la pagepour compléter les données contextuelles. Cela peut être fait dans l'URL de la page, ou en saisissant l'attribut de données approprié.
- Pour vérifier que les règles sont correctement définies :
- Cliquez sur Verify (Vérifier), puis sélectionnez la page qui sélectionne la page.
- Examinez comment Dynamic Yield identifie cette page à l'aide de notre Implementation Helper.
- Si votre site est multilingue, ajoutez une version allégée du contexte au code de votre site, avec l'attribut "lng" uniquement. Par exemple :
DY.recommendationContext = {lng: 'en_GB'};
Si vous apportez des modifications ultérieures au site, assurez-vous de mettre à jour les paramètres contextuels pertinents également.
Voici des exemples d'expressions régulières à des fins de contexte sur chacun de ces types de pages :
Page d'accueil
L'expression régulière (regex) ajoutée dans cette règle de contexte est une chaîne ajouté à la fin de l'URL de la page d'accueil : www.mysite.com/[REGEX], où la balise [REGEX] est remplacée par l'expression que vous souhaitez utiliser. Notez qu'il ne peut pas y avoir de texte supplémentaire après l'expression.
Exemple :
Expression : /\w{2}\/\w{2}\/$ (URL est www.mysite.pl/\w{2}\/\w{2}\/$)
Cette règle trouve cette URL : www.mysite.com/pl/pl/
Cette règle ne trouve pas cette URL : www.mysite.com/pl/pl/new-in/men
Page produit
Pour définir une expression régulière à des fins de contexte sur la page d'un produit, il faut procéder en deux étapes : Définissez le type de page (définissez le ciblage du produit) et définissez l'emplacement du SKU (définissez la règle du contexte) :
Dans la zone Define Page Type (Définir le type de page), sélectionnez le contexte regex, puis ajoutez l'expression (où l'exemple affiche [my regex]).
Exemple :
Expression : *[a-zA-Z0-9_]{5}-[a-zA-Z0-9_]{3}.*
Cette règle trouve toutes les pages dont la structure de SKU répond aux conditions incluses, telles que cette URL :
www.mysite.com/pl/pl/4270h-00x/opaska-na-wl-re
Ensuite, définissez l'emplacement du SKU sur la page de votre produit. Dans cet exemple, la valeur du SKU est extraite du dataLayer[0].sku (sur la page). Des objets peuvent être utilisés dans les règles regex s'ils sont disponibles depuis la fenêtre globale.
Page du panier
L'URL du panier est unique. Par exemple, cette URL : https://www.mysite.com/pl/pl/checkout/cart/ est la seule URL du site contenant la chaîne /checkout/cart. Par conséquent, aucune règle regex n'est requise. Le type de page peut être détecté à l'aide du paramètre d'URL.
Remarques :
- Les règles de contexte ont un délai d'expiration de 50 ms, alors assurez-vous que l'article que vous demandez est disponible pendant cette période.
- L'attribut dynamique peut être un mot (chaîne, caractère, etc.), ou il peut s'agir d'un code disponible dans la fenêtre globale, par exemple : dataLayer[0].sku.
Données contextuelles
Les données contextuelles varient en fonction du secteur d'activité de votre site Web :
Type de page | Attributs | Exemple de code (hors SPA) |
---|---|---|
HOMEPAGE (Page d'accueil) |
-- | DY.recommendationContext = {type: 'HOMEPAGE'}; |
CATEGORY (Catégorie) |
Hiérarchie complète des noms de catégories, du plus haut niveau vers le bas. Les noms des catégories doivent être identiques aux catégories qui apparaissent dans le flux de produits (y compris les majuscules). | DY.recommendationContext = {type:'CATEGORY', data: ['Women', 'Accessories','Hats']}; |
PRODUCT (Page produit) |
SKU (chaîne). Doit correspondre à un SKU figurant dans le flux de produits. | DY.recommendationContext = {type:'PRODUCT', data: ['SKU123']}; |
CART Les institutions financières utilisent le contexte du panier pour les pages de demandes |
Jusqu'à 20 SKU (chaînes). Doit correspondre aux SKU dans le flux de produits.
|
S'il y a des articles dans le panier : DY.recommendationContext = {type:'CART', data: ['SKU123','SKU234']}; Si le panier est vide : DY.recommendationContext = {type:'CART', data: ['']}; |
OTHER (Autre) (si la page ne correspond à aucun des types de pages ci-dessus) |
-- | DY.recommendationContext = {type: 'OTHER'}; |
Type de page. | Attributs | Exemple (hors SPA) |
---|---|---|
HOMEPAGE (Page d'accueil) |
-- | DY.recommendationContext = {type: 'HOMEPAGE'}; |
CATEGORY (Catégorie) |
Hiérarchie complète des noms de catégories, du plus haut niveau vers le bas. Les noms des catégories doivent être identiques aux catégories qui apparaissent dans le flux de contenus (y compris les majuscules). | DY.recommendationContext = {type:'CATEGORY', data: ['TOP_LEVEL_CAT', 'CHILD_CAT','GRANDCHILD_CAT']}; |
POST (la page de contenu) |
Identifiant de l'article (chaîne). Doit correspondre à un identifiant de publication dans le flux de contenus. | DY.recommendationContext = {type: 'POST', data: ['1234']}; |
OTHER (Autre) (si la page ne correspond à aucun des types de pages ci-dessus) |
-- | DY.recommendationContext = {type: 'OTHER'}; |
Type de page | Attributs | Exemple (hors SPA) |
---|---|---|
HOMEPAGE (Page d'accueil) |
-- | DY.recommendationContext = {type: 'HOMEPAGE'}; |
OTHER (Autre) (si la page n'est pas la page d'accueil) |
-- | DY.recommendationContext = {type: 'OTHER'}; |
Remarque : toutes les valeurs de contexte de page doivent être en majuscules.
Prise en charge multilingue
Dynamic Yield prend en charge les sites Web multilingues et multilocale en affichant automatiquement les données correctes sur les recommandations de produits (telles que le nom du produit dans la langue actuellement disponible sur la page) et les variations. Pour adapter les campagnes Dynamic Yield dans la locale de la page, ajoutez l'attribut "lng" au contexte de la page, avec la locale de la page ayant comme valeur :
DY.recommendationContext = {type: 'HOMEPAGE', lng: 'en_GB'};
La locale peut être déterminée librement, mais elle doit correspondre à celle que vous utilisez dans votre flux de produits/contenus. Vous pouvez également cibler les campagnes en fonction de la locale de l'utilisateur (en utilisant l'attribut "lng"). Pour en savoir plus, consultez l’article Prise en Charge Multilingue pour en savoir plus.
Validation de la configuration du contexte de page
- Connectez-vous à Dynamic Yield et ouvrez votre site Web.
- Passez la souris sur l'icône Dynamic Yield
dans le coin inférieur droit et cliquez sur l'icône Implementation Helper
. Si vous ne voyez pas l'icône Dynamic Yield, soit vous n'êtes pas connecté ou soit votre script n'est pas implémenté.
- Commencez par votre page d'accueil. Vérifiez que le type de page est "Homepage" et que l'implémentation du contexte est « avant le script ». Continuez vers différents types de pages (page de catégorie, de produit ou d'article) pour vérifier que le contexte de page a été correctement implémenté.
- Accédez à une page de panier vide. Vous devriez voir un avertissement indiquant qu'il n'y a aucun SKU dans le panier.
- Pour les pages de produits, vérifiez que vos SKU sont correctement répertoriés. Si votre flux n'est pas synchronisé, vous recevrez une erreur de validation. Cette erreur se produit lorsque le SKU du produit actuel est absent du flux.
- Lors de la validation d'un site de commerce électronique, vous pouvez également tirer parti du tableau de bord d'implémentation sous Settings (Paramètres) › General Settings (Paramètres généraux). Les informations contextuelles de la page sont mises à jour dans le tableau de bord d'implémentation toutes les dix minutes, il est donc possible que les modifications les plus récentes ne soient pas prises en compte.
Si le contexte de votre page n'est pas validé, cliquez sur Download Log (Télécharger le journal) pour mieux analyser les problèmes éventuels. Ce journal regroupe tous les problèmes connus au cours des 12 dernières heures. En savoir plus sur le tableau de bord Implementation Status et les journaux.