Outils de développement · Encodeur et décodeur d'URL
Pourquoi les & et = non codés dans les valeurs UTM corrompent silencieusement vos rapports de campagne
· Pourquoi c'est important
encodage d'URL suivi utm analyses API
Un nom de campagne contenant & ou = semble correct dans le lien mais est divisé en deux paramètres par chaque outil d'analyse. Cet article montre ce qui se passe, comment encoder les valeurs en toute sécurité et comment vérifier un lien avant son expédition.
Lorsque les paramètres UTM sont divisés en caractères esperluette non codés
Un nom de campagne contenant & ou = semble correct lorsqu'il est saisi dans un lien, mais chaque système d'analyse le divise en esperluette et traite le reste comme un nouveau paramètre. Printemps et été deviennent deux valeurs de campagne distinctes dans les rapports. Le signe égal à l'intérieur d'une valeur crée une rupture similaire : utm_campaign=2024=best corrompt silencieusement la paire clé-valeur. Ces caractères sont réservés dans la syntaxe de requête pour la structure et non pour le contenu, de sorte que chaque outil analysant les URL les lit comme des délimiteurs.
L'analyseur d'URL n'a aucun moyen de savoir que vous les considérez comme des données. Les coder sous %26 et %3D les conserve sous forme de caractères littéraux à l'intérieur des valeurs. Sans codage, votre tableau de bord d'analyse reçoit des noms de campagne incomplets ou corrompus et répartit le trafic entre des segments inattendus. Un seul lien partagé peut générer une demi-douzaine de campagnes fantômes si le nom contient plusieurs caractères spéciaux.
Comment les chaînes de requête sont analysées — & sépare les paires et = sépare la clé de la valeur, sans échappement sauf si vous la fournissez
La façon dont les chaînes de requête sont analysées révèle pourquoi l'esperluette et les valeurs égales sont dangereuses en termes de valeurs. L'esperluette sépare les paires clé=valeur indépendantes : ?utm_source=email&utm_campaign=sale signifie deux paramètres distincts. À l’intérieur d’une valeur, l’esperluette non échappée termine la paire actuelle et en commence une nouvelle. Le signe égal sépare les clés des valeurs : si utm_campaign=Q3&2024, l'analyseur voit utm_campaign=Q3 puis le paramètre orphelin "2024" sans valeur.
Cette analyse s'effectue à plusieurs niveaux : le navigateur lit l'URL, le serveur reçoit la requête et votre plateforme d'analyse décode à nouveau la chaîne de requête. Chaque couche applique les mêmes règles et parvient à la même conclusion sur le début et la fin des paramètres. Vous ne pouvez pas avertir les consommateurs en aval que votre esperluette est spéciale ; La structure de l'URL est déterministe et sans ambiguïté.
Quels caractères doivent être codés dans une valeur UTM : &, =, #, ?, espaces et non-ASCII, et pourquoi # est le plus sournois
Les caractères nécessitant un codage dans les valeurs UTM incluent l'esperluette, les égaux, le hachage, le point d'interrogation, les espaces et toutes les lettres ou symboles non ASCII. Le caractère de hachage est le plus sournois : #anything est traité comme un identifiant de fragment, que le navigateur n'envoie jamais au serveur. Le nom de la campagne se terminant par un hachage perd tout ce qui suit avant même que la demande ne quitte votre navigateur. Les espaces doivent devenir %20 pour la même raison structurelle : non valide dans les URL sans encodage.
Non-ASCII comme un e accentué ou des caractères chinois codés en UTF-8 octets, puis échappés en pourcentage : le e accentué devient %C3%A9. Créez vos liens avec soin ou utilisez un formulaire qui encode pour vous. Les outils vous permettant de coller le nom de la campagne et de générer un lien complet gèrent généralement cette étape automatiquement, mais la formule d'une feuille de calcul ou la concaténation manuelle en font votre responsabilité.
Exemple concret : encodage de « Vente et lancement du troisième trimestre » en tant que utm_campaign — avant et après, et comment le rapport lit chaque version
Exemple concret : l'encodage de "Vente et lancement du troisième trimestre" comme utm_campaign montre clairement le problème. Sans encodage, l'URL se termine par une esperluette : ?utm_campaign=Q3 Sale &. Le repos disparaît ou devient un nouveau paramètre malformé. Encodé correctement, %26 remplace l'esperluette : ?utm_campaign=Q3%20Sale%20%26%20Launch. L'espace est également codé comme %20. Désormais, la chaîne entière arrive intacte sur votre plate-forme d'analyse et génère des rapports sous forme de campagne unique.
Collez la version non codée et la version codée dans des décodeurs d'URL distincts et observez leurs différences. Le formulaire codé décode le texte original en conservant tous les caractères spéciaux. Utilisez l'encodeur d'URL pour vérifier tout lien UTM avant de le partager avec les membres de l'équipe ou de le publier dans des campagnes par e-mail ou sur des plateformes de réseaux sociaux.
Formules de feuille de calcul et générateurs de liens – où l'encodage se produit ou échoue dans les flux de travail courants, décrits de manière générale
Les formules de feuille de calcul et les générateurs de liens personnalisés échouent souvent car ils concatènent des chaînes sans codage. Une URL de création de formule CONCATENATE peut produire un texte parfaitement valide qui se brise lorsqu'il est ouvert sous forme de lien. L'encodage doit avoir lieu dans la formule, pas après. De nombreux services de raccourcissement de liens et plateformes de suivi des e-mails encodent automatiquement pour vous, testez donc le lien généré plutôt que de supposer que la construction manuelle est sûre.
Les créateurs de campagnes par glisser-déposer dans Google Analytics, HubSpot et les plateformes similaires gèrent l'encodage en interne. Si vous créez des liens manuellement dans une feuille de calcul ou si vous les collez dans Slack, supposez qu'ils ne seront pas encodés automatiquement. Exécutez l'URL finale via le décodeur pour vérifier que tous les caractères spéciaux sont représentés par %XX avant de distribuer le lien.
Erreurs courantes : encodage de l'URL entière et mélange de + et %20 pour qu'une campagne devienne deux
Les erreurs courantes incluent l'encodage de l'URL entière, qui brise sa structure en encodant les deux-points et les barres obliques en https://. Une autre erreur mélange plus et %20 pour les espaces : certains systèmes utilisent plus (encodage de formulaire hérité) tandis que la norme moderne utilise %20. Si une valeur de campagne utilise plus et une autre utilise %20, elles apparaissent comme des campagnes différentes même si elles représentent le même texte. Restez cohérent et utilisez %20 pour les composants d'URL.
Le double encodage se produit également lorsque le générateur de liens encode une fois et que vous encodez à nouveau, produisant %2526 au lieu de %26. Après avoir décodé une fois, vous obtenez %26 au lieu de l'esperluette. Le caractère devient une chaîne littérale de pourcentage deux à six plutôt qu'une esperluette. Vérifiez les étapes intermédiaires de votre processus de génération pour vous assurer que l'encodage a lieu exactement une fois par valeur.
Ce que cela ne couvre pas : configuration de la plateforme d'analyse et modèles d'attribution
La configuration des analyses et la modélisation de l'attribution dépendent entièrement de l'obtention de données de campagne précises et cohérentes. Si vos valeurs UTM arrivent tronquées ou divisées, les rapports ne peuvent pas correspondre correctement aux campagnes et les modèles d'attribution multi-touch ne parviennent pas à attribuer le crédit avec précision. Une erreur d'encodage unique se propage dans chaque rapport utilisant un paramètre, faussant considérablement les comparaisons d'un mois à l'autre ou d'une campagne à l'autre.
Testez les liens de votre campagne avant de la lancer complètement. Collez-les dans le décodeur d'URL et confirmez que chaque caractère spécial du nom de la campagne est correctement encodé. L'encodeur d'URL affiche côte à côte les formulaires codés et décodés, afin que vous puissiez vérifier que l'encodage a eu lieu et que le décodage récupère exactement le texte original.
À retenir : encodez chaque valeur une fois – comment l'encodeur et le décodeur d'URL produisent une valeur de requête sécurisée à partir de n'importe quel nom de campagne
Le principe à retenir est simple : codez chaque valeur une fois en utilisant les règles de codage en pourcentage appropriées. L'esperluette ou le signe égal à l'intérieur du paramètre UTM doivent devenir %26 ou %3D avant que l'URL ne soit finalisée et publiée. L'encodeur d'URL en mode valeur unique effectue cet encodage automatiquement et de manière fiable pour vous. Collez le nom de votre campagne, sélectionnez le mode Valeur, copiez le résultat encodé dans votre modèle de lien.
Chaque outil d'analyse traitant les URL applique les mêmes règles d'analyse. Il n’y a aucun moyen de contourner ce problème et aucun outil ne peut deviner votre ou vos intentions. L'étape de codage n'est pas facultative ; c'est le seul moyen de conserver les caractères spéciaux dans les valeurs de chaîne de requête. Vérifiez que vos liens fonctionnent comme prévu avant de les partager avec les parties prenantes ou de les publier dans des campagnes.