Le suivi de l'expérience dispose d'outils pour capturer les erreurs d'API ou les erreurs JS non gérées. Par ex. Erreurs techniques qui ne devraient pas se produire.
Cependant, il existe de nombreuses autres erreurs (certaines attendues) qui peuvent entraîner l'affichage de messages aux utilisateurs. Par ex. "Oups, ce produit est en rupture de stock" ou "Ce n'est pas un code postal valide".
Les erreurs personnalisées vous permettent de collecter et de classer par impact commercial, tout message d'erreur géré qui se produit pendant l'expérience de l'utilisateur afin que vous puissiez mieux comprendre quelles corrections prioriser en premier.
Qu'est-ce que les erreurs personnalisées
Les erreurs personnalisées collectent tout texte affiché sur l'écran de l'utilisateur, par ex. Message texte dans des bannières et des pop-ups ou dans un champ de formulaire basé sur une action de l'utilisateur.
Exemple d'une erreur de validation de formulaire :
Vous pouvez également utiliser les erreurs personnalisées pour collecter des erreurs qui ne sont pas visibles pour les utilisateurs.
Les erreurs personnalisées contiennent les informations suivantes :
Informations sur l'erreur | Détails |
Le message texte obtenu | (Par ex. Désolé, votre compte n'a pas pu être réactivé) |
L'horodatage de l'événement | |
Attributs optionnels | Informations qui aident à spécifier l'erreur (type, gravité) |
Comment collecter des erreurs personnalisées
Un maximum de 20 erreurs personnalisées peut être collecté par page vue (cette limite inclut messages de console).
Étape un : Mise en œuvre de la fonction
Vous devez mettre en œuvre une fonction directement dans le code de la page web pour pouvoir collecter des erreurs personnalisées. La fonction doit être déclenchée chaque fois que le texte à collecter est affiché à l'écran.
Exemple statique : Collecte d'une chaîne de texte spécifique (Vous devrez mettre en œuvre cette fonction pour chaque chaîne de texte spécifique que vous souhaitez collecter).
window._uxa.push(["trackError","140000 n'est pas un code postal valide"])
Exemple dynamique : Collecte d'une chaîne générique (Vous pouvez utiliser cette option afin de ne pas avoir à configurer un extrait différent pour chaque chaîne d'erreur).
window._uxa.push([ "trackError", document.querySelector("div[class='newMessagesInfo newError']").textContent, ])
L'étiquette de suivi utilisera la trackError
commande et acheminera les données vers le point de terminaison /custom-errors.
Vous pouvez utiliser la commande trackError
avec des attributs et nous recommandons de spécifier des attributs afin que l'erreur puisse être catégorisée.
Exemple d'une commande trackError
avec des attributs :
window._uxa.push(["trackError", "140000 n'est pas un code postal valide",
{type: "formValidation", severity:"minor", language: "anglais"}])
Étape deux : Configurer des attributs optionnels
L'attribut est un objet javascript sous la forme 'clé':'valeur'.
Remarque : La 'Clé' ne doit être utilisée que pour la catégorisation, et la 'Valeur' est le nom exact de la catégorie.
Voici un exemple d'objet d'attributs :
{type: "formValidation", severity: "minor", language: "anglais"
}
Les limitations de l'objet d'attributs incluent :
- Le nombre de propriétés (c'est-à-dire le nombre d'attributs) est limité à 5
- Longueur maximale de la clé : 30 caractères
- Longueur maximale de la valeur : 30 caractères
Exemples d'erreurs custom et bonnes pratiques de nommage
Veuillez trouver des exemples d'erreurs custom potentielles et des conventions de nommage recommandées, pour la mise en œuvre d'erreurs custom, par cas d'utilisation.
Pour pouvoir filtrer et prioriser facilement les erreurs custom, il est fortement recommandé d'utiliser notre guide sur l'utilisation des attributs pour spécifier le message d'erreur.
Remarque : La 'Clé' ne doit être utilisée que pour la catégorisation, et la 'Valeur' est le nom exact de la catégorie.
Exemple de chaîne de texte | Type d'erreur (très recommandé) | Attribut optionnel supplémentaire (nom réel des valeurs) |
Types génériques et exemples |
Clé: formValidation formSubmitFail textInfo textError caughtError httpError timeout slowRequest Exemple de déploiement: {type: formValidation}
|
Clé: critique élevé moyen faible ---------------------------------- Clé: anglais français hébreu chinois ---------------------------------- Clé: Valeurs suggérées: 404 500 Échec de l'exécution ReferenceError SyntaxError TypeError URIError EvalError InternalError |
COMPLÉTION DU FORMULAIRE
Chaîne de message | Type d'erreur (très recommandé) | Exemple d'attribut optionnel supplémentaire (nom des valeurs) |
Échec de l'envoi du Formulaire |
Clé : type {type: formSubmitFail} |
Clé : language Valeur : anglais {language: anglais} |
Veuillez sélectionner une option |
Clé : type {type: formValidation} |
Clé : language {language: anglais} |
Numéro d'entrée non valide |
Clé : type {type: formValidation} |
Clé : language {language: anglais} |
Erreur de champ de Formulaire manquant |
Clé : type {type: formValidation} |
Clé : language {language: anglais} |
Délai d'attente pour la complétion du Formulaire |
Clé : type {type: timeout} |
Clé : language {language: anglais} |
Ce champ ne peut pas être laissé vide |
Clé : type {type: formValidation} |
Clé : language {language: anglais} |
RÉSULTATS DE RECHERCHE
Message string | Errortype (highly recommended) | Additional optional attribute (actual name of values) |
Aucun résultat de recherche |
Key: type {type: textInfo} |
Key: language {language: anglais} |
Aucun résultat trouvé avec une recherche par mot-clé particulier |
Key: type {type: textInfo} |
Key: language {language: anglais} |
PAGE DE PRODUIT (PDP)
Message string | Errortype (highly recommended) | Additional optional attribute (actual name of values) |
Le produit n'est plus disponible |
Key: type {type: textInfo} |
Key: language {language: anglais} |
Choisissez une taille |
Key: type {type: textInfo} |
Key: language Value: anglais {language: anglais} |
L'article n'a pas pu être ajouté au panier |
Key: type {type: textError} |
Key: language Value: anglais {language: anglais} |
Nombre d'articles dans le panier dépassé |
Key: type {type: textInfo} |
Key: language Value: anglais {language: anglais} |
PAIEMENT
Chaîne de message | Type d'erreur (très recommandé) | Attribut(s) optionnel(s) supplémentaire(s) (nom réel des valeurs) |
Échec du paiement |
Clé : type {type: textError} |
Clé : language {language: anglais},
{severity: critical} |
Confirmez le code de sécurité pour cette carte |
Clé : type {type: textInfo} |
Clé : language {language: anglais} |
L'article n'a pas pu être ajouté au panier |
Clé : type {type: textError} |
Clé : language {language: anglais} |
Nombre d'articles dans le panier dépassé |
Clé : type {type: textInfo} |
Clé : language {language: anglais} |
Le code promo n'a pas fonctionné |
Clé : type {type: textInfo} |
Clé : language {language: anglais} |
Format incorrect pour le code postal/numéro de téléphone |
Clé : type {type: textInfo} |
Clé : language {language: anglais} |
Erreur de code de bon |
Clé : type {type: textError} |
Clé : language {language: anglais} |
Cette configuration n'est plus disponible pour cette plage de dates |
Clé : type {type: textInfo} |
Clé : langue {language: anglais} |
Le transfert n'a pas pu être complété pour le moment |
Clé : type {type: textError} |
Clé : langue {language: anglais} |
Aucun article dans le panier |
Clé : type {type: textInfo} |
Clé : langue {language: anglais} |
CONNEXION
Message string | Type d'erreur (très recommandé) | Attribut(s) optionnel(s) supplémentaire(s) (nom réel des valeurs) |
Erreur de mot de passe |
Clé : type {type: textInfo} |
Clé : langue {language: anglais} |
Échec de connexion |
Clé : type {type: textError} |
Clé : langue {language: anglais} |
Vous avez déjà un compte |
Clé : type {type: textInfo} |
Clé : langue {language: anglais} |
Veuillez confirmer que vous n'êtes pas un bot |
Clé : type {type: textInfo} |
Clé : langue {language: anglais} |
DIVERS
INSÉRER LE TEXTE DU PANNEAU
Chaîne de message | Type d'erreur (fortement recommandé) | Attribut(s) supplémentaire(s) optionnel(s) (nom réel des valeurs) |
On dirait qu'une erreur est survenue |
Clé : type {type: textError} |
Clé : langue {language: anglais} |
404 page/Page de fin de parcours*
*Ce type d'erreurs peut être monitoré à la fois avec une page vue (à voir dans l'analyse de parcours) et avec une erreur custom (pour voir l'impact dans l'analyse d'erreurs). |
Clé : type {type: httpError} |
Clé : langue {language: anglais} ---------------------------------- Clé : errorStatus {errorStatus: 404} |
Des informations clés manquent dans votre dossier |
Clé : type {type: textInfo} |
Clé : langue {language: anglais} |
Suivre le blocage de publicité |
Clé : type {type: caughtError} |
Clé : langue Valeur : anglais {language: anglais} |
La vidéo n'est pas disponible/n'a pas été chargée |
Clé : type {type: textError} |
Clé : langue Valeur : anglais {language: anglais} |
Aucun magasin autour de cet emplacement |
Clé : type {type: textInfo} |
Clé : langue Valeur : anglais {language: anglais} |
Tout service reposant sur une API/service sous-jacent qui n'est pas disponible |
Clé : type {type: textError} |
Clé : langue Valeur : anglais {language: anglais} |
FAQ
1. Les erreurs custom peuvent-elles être collectées rétrospectivement ?
Non, les erreurs custom ne peuvent pas être collectées rétrospectivement.
2. Dois-je ajouter des attributs lors de la configuration des erreurs custom ?
Les attributs sont optionnels, mais nous vous conseillons fortement de spécifier des attributs afin que l'erreur puisse être catégorisée.