Aller au contenu
Outils & Plateformes

Comment une marque DTC garde ses UTM propres, de l'ad à la commande Shopify

10 min de lecture
GE

Giada Esposito

Responsable performance e-commerce

Une marketeuse DTC peut passer des mois à affiner ses créatives et ses audiences, puis regarder un tiers de son chiffre d'affaires tomber dans une ligne intitulée « (not set) » dans GA4 — des commandes bien réelles, de l'argent bien arrivé, mais sans aucune ad rattachée. Ce guide déroule le workflow de tracking UTM et d'attribution Shopify pour le DTC qu'une marque a utilisé pour combler ce trou définitivement : comment elle a standardisé son tagging au lancement, l'a appliqué en masse à chaque ad, et fait en sorte que chaque commande Shopify se reconnecte à l'ad exacte qui l'a générée.

Réponse rapide : les lignes « (not set) » apparaissent quand des commandes arrivent sans UTM exploitable, presque toujours parce que les liens ont été taggés à la main et ont dérivé entre l'ad et le checkout Shopify. Standardiser la génération des UTM au lancement — une seule structure appliquée à chaque ad en masse avant le départ — garde les valeurs source, medium et campaign intactes de bout en bout, et les commandes se rattachent à leur ad.

Le symptôme : un tiers du chiffre d'affaires sans aucune ad rattachée

La marque vendait un seul produit phare sur Meta et Google, et scalait sa dépense vite. Le chiffre d'affaires grimpait, mais le reporting devenait de plus en plus flou à mesure qu'elle grossissait. Dans GA4, la ligne source « (not set) » montait sans arrêt — d'abord 12 % des conversions, puis 19 %, puis au-delà de 30 % lors d'une mauvaise semaine. C'étaient de vraies commandes. L'argent était à la banque. Mais la marketeuse était incapable de dire quelle ad, quelle campagne, ni même quel canal les avait générées.

Cette incertitude a un coût direct. Quand un tiers de vos conversions n'est pas attribué, chaque canal paraît moins bon qu'il ne l'est, chaque chiffre de ROAS est sous-estimé, et vous ne pouvez pas distinguer une ad gagnante d'une perdante avec certitude. La marketeuse prenait ses décisions de scaling sur deux tiers de l'image et devinait le reste. Ce n'est pas un problème marginal : HubSpot rapportait en 2024 que prouver le ROI des actions marketing figurait parmi les principaux défis cités par les marketeurs, et l'attribution cassée est le mécanisme qui se cache derrière une bonne partie de ce problème.

Quand « (not set) » avale un tiers de vos commandes, vous ne pilotez pas un programme d'acquisition mesuré — vous en pilotez un partiellement à l'aveugle. Chaque décision de budget repose sur les conversions que vous arrivez à attribuer, et plus elles disparaissent dans une ligne sans étiquette, plus vous optimisez sur un échantillon qui exclut votre propre angle mort.

L'instinct, c'est d'accuser GA4, le bandeau cookies ou iOS. Ces facteurs comptent à la marge. Mais quand la marketeuse a réellement retracé une poignée de commandes « (not set) » à travers la chaîne, la cause était presque toujours en amont et banale : les UTM qui auraient dû accompagner le clic jusque dans la commande étaient cassés, incomplets, ou tout simplement absents. La même cause racine revient dans le catalogue des erreurs de tagging UTM qui sabotent le reporting — et elle est corrigeable.

La chaîne : comment un UTM est censé atteindre une commande Shopify

Pour corriger le problème, il faut voir l'attribution comme une chaîne, pas comme un réglage. Pour une marque DTC sur Shopify, une attribution propre ressemble à ceci :

  1. L'URL de destination de l'ad transporte des paramètres UTM — utm_source, utm_medium, utm_campaign, et généralement utm_content pour l'ad spécifique.
  2. Un visiteur clique. Les UTM se posent dans l'URL de la landing page.
  3. La session conserve ces valeurs pendant que le visiteur navigue.
  4. Le visiteur passe au checkout, et Shopify enregistre la commande avec l'attribution source intacte.
  5. GA4 lit un couple source/medium complet et attribue la commande à la bonne ad.

La commande ne se reconnecte à l'ad que si chaque maillon de cette chaîne tient. Et la chaîne casse à son point le plus faible — qui, pour presque toutes les marques, est l'étape un : le tag qu'un humain a tapé au lancement.

L'attribution ne vaut que par son maillon le plus faible, et ce maillon, c'est presque toujours l'UTM tapé à la main au lancement. Tout ce qui suit en aval — la landing page, la session, la commande Shopify, le rapport GA4 — transporte fidèlement ce qu'on lui a remis. Si le tag était cassé à la source, chaque système après lui enregistre consciencieusement un tag cassé.

C'est pour ça que les douze premiers correctifs de la marketeuse — ajuster les fenêtres d'attribution de GA4, retoucher le bandeau de consentement, ajouter un tag server-side — n'ont quasiment pas bougé le chiffre « (not set) ». Elle réparait les maillons quatre et cinq de la chaîne pendant que le maillon un continuait de lui passer du déchet. Le correctif structurel dont la marque avait besoin est celui qu'un vrai système de tracking UTM pour les ads payantes est conçu pour imposer : corrigez le tag à la source, et le reste de la chaîne le transporte correctement, gratuitement.

Pourquoi le tagging manuel échoue à l'échelle DTC

La marketeuse taggait ses liens à la main, comme la plupart des marques au démarrage. On ouvre un builder, on tape la source, on tape le medium, on nomme la campagne, on colle l'URL dans l'ad. Ça marche pour les premières ads. Ça cesse de marcher dès que le volume et la vitesse entrent en jeu — c'est-à-dire, pour une marque DTC en scaling, immédiatement.

Voici ce qui a réellement déraillé, retracé depuis les commandes cassées :

  • Dérive de la source. Sur quelques mois de lancements, la source Meta avait été écrite facebook, Facebook, fb, et meta. Pour GA4, ce sont quatre sources différentes. Les commandes issues d'ads taggées « fb » se résolvaient parfois ; celles dont la valeur avait été massacrée tombaient dans « (not set) ».
  • Paramètres manquants. Sous la pression du jour de lancement, des liens partaient avec utm_source mais sans utm_medium. GA4 a besoin des deux pour attribuer proprement ; un lien à moitié taggé vaut à peine mieux qu'un lien non taggé.
  • Pourriture du copier-coller. Les media buyers clonaient l'URL d'une ad précédente pour gagner du temps, héritant de la valeur utm_campaign du mois dernier. La commande s'attribuait — à la mauvaise campagne.
  • L'ad oubliée. Dans un lot de quinze variantes d'ads lancées à la va-vite, une ou deux n'étaient tout simplement jamais taggées. Celles-là étaient des « (not set) » garantis.

Aucun de ces cas n'est un défaut de compétence. Ce sont les produits inévitables d'un champ texte libre touché des dizaines de fois sous deadline. Tant qu'un humain tape le tag à la main sur chaque ad, la dérive n'est pas un risque — c'est le comportement par défaut.

Le tagging manuel n'échoue pas parce que les marketeurs sont négligents. Il échoue parce que le volume et un champ texte libre sont mathématiquement incompatibles : chaque lien est une nouvelle occasion de faute de frappe, de paramètre manquant ou de valeur héritée, et une marque DTC en scaling expédie des centaines de liens par mois. Le taux d'erreur n'a pas besoin d'être élevé pour qu'un tiers des commandes finisse non attribué.

Le correctif, partie une : standardiser le tag au lancement avec un UTM Builder

Le premier geste de la marque a été d'arrêter de taper des UTM, point. Au lieu d'un builder texte libre vivant dans un onglet séparé, elle générait chaque lien depuis l'UTM Builder de Wevion, appliqué au moment du lancement avec une seule structure fixe.

Trois choses ont changé à l'instant où elle a fait ça. D'abord, source et medium sont devenus des sélections dans une liste définie plutôt que des chaînes tapées : facebook / Facebook / fb se sont effondrés en une seule valeur canonique — le quadruple éclatement qui fragmentait son plus gros canal a disparu. Ensuite, la structure était obligatoire : un lien ne pouvait pas partir sans utm_medium, parce que la structure l'exigeait. Enfin, utm_content était dérivé de l'ad elle-même, si bien que chaque créative individuelle portait un identifiant distinct et cohérent jusque dans la commande.

Le déclic a été de faire du tag correct le seul tag que le workflow pouvait produire. Avant, un UTM propre dépendait d'un humain se souvenant de la convention sur chaque lien, sous deadline. Désormais la structure s'appliquait au lancement par défaut, et produire un tag malformé demandait un effort délibéré. La cohérence a cessé d'être un problème de discipline pour devenir une propriété de l'outillage.

Point crucial, ce n'est pas l'outil agissant seul. La marketeuse définit la structure une fois, et passe en revue les tags générés avant le lancement — le builder assemble et propose, l'humain approuve et agit. Ce schéma construire-puis-réviser est le même que celui comparé entre outils dans le panorama des approches d'UTM builder ; la différence qui comptait ici, c'est que la structure vivait à l'intérieur de l'étape de lancement, et non dans un tableur séparé dont la réalité s'éloignait peu à peu.

Le correctif, partie deux : l'appliquer à chaque ad avec le Bulk Launcher

Standardiser un seul lien est facile. La vraie exposition de la marque, c'était le volume — elle lançait des variantes d'ads par lots, et chaque lot était une nouvelle occasion pour « l'ad oubliée » et la pourriture du copier-coller. Tagger correctement vingt liens à la main, à chaque fois, c'est exactement la tâche à laquelle les humains échouent sous deadline.

Le deuxième geste a donc été de lancer en masse et de laisser la même structure UTM s'appliquer à chaque variante créée par le launcher. Avec le Bulk Launcher de Wevion, la marketeuse préparait un lot d'ads sur Meta et Google dans une seule grille, et le tagging standardisé se propageait à toutes en une fois. La centième ad portait le même tag propre, complet et structuré que la première — non parce que la marketeuse l'avait tapé cent fois, mais parce que la structure s'appliquait une fois et tenait sur tout le lot.

C'est là que standardisation et échelle se sont enfin renforcées au lieu de se combattre. La marketeuse passait toute la grille en revue — structure de campagne, budgets et UTM générés, tous visibles au même endroit — et l'approuvait avant toute mise en ligne. Le launcher préparait et proposait le lot ; l'humain vérifiait la grille et agissait. Rien ne se publiait tout seul. La même mécanique de lot de bout en bout est détaillée dans le guide sur comment lancer des campagnes en masse sur plusieurs plateformes ; le gain d'attribution venait ici de l'association de ce volume à une structure de tag unique et imposée.

Le lancement en masse est d'habitude présenté comme une fonctionnalité de vitesse, mais sa contribution discrète à l'attribution, c'est la cohérence à l'échelle. Quand une seule structure UTM s'applique à chaque ad d'un lot, le volume cesse de multiplier l'erreur. La marque pouvait expédier un test de quarante ads en sachant que les quarante s'attribueraient à l'identique — transformant sa plus grosse source de « (not set) » en sa plus fiable.

Étape de la chaîneTagging manuel à l'échelleStandardisé + appliqué en masse
Valeur de sourcedérive fb, Facebook, metaune valeur canonique, sélectionnée
Paramètres requismedium parfois manquantla structure impose les deux
Tag content par adincohérent ou absentdérivé par créative
Lot de 40 adsune ou deux non taggéesles 40 identiques et complètes
Résultat dans GA4« (not set) » grimpela commande se rattache à l'ad exacte

Le résultat : des commandes qui nomment leur propre ad

Le résultat est apparu au cycle de reporting complet suivant. La ligne source « (not set) », qui avalait au-delà de 30 % des conversions lors des mauvaises semaines, est tombée à un résidu à un chiffre — les commandes véritablement inattribuables (accès directs au clavier, referrers supprimés) qu'aucun système de tagging ne peut revendiquer. Tout ce que la marque générait réellement avec une ad arrivait désormais dans Shopify en portant les UTM qui nommaient l'ad à l'origine.

Cela a changé ce que la marketeuse pouvait faire, pas seulement ce qu'elle pouvait voir. Avec des commandes attribuées proprement, le ROAS au niveau canal a cessé d'être sous-estimé par le poids des non-attribués, et la marketeuse pouvait enfin comparer les variantes d'ads sur du chiffre d'affaires réel plutôt que sur un signal partiel. La créative gagnante d'un test devenait évidente, parce que ses commandes pointaient vers elle par leur nom. Les décisions de scaling sont passées de « ce canal donne l'impression de marcher » à « cette ad précise a rapporté ce chiffre d'affaires précis ».

Le gain le plus profond n'était pas des dashboards plus propres — c'était des décisions prises sur l'image complète. Quand chaque commande nomme sa propre ad, la marketeuse cesse de scaler sur deux tiers de la donnée en devinant le reste. La ligne « (not set) » taxait chaque décision d'optimisation ; la supprimer a rendu la chose dont vit la performance marketing — savoir ce qui a marché.

Il y a une réserve honnête que la marque a acceptée sans souci. Wevion synchronise les données de dépense et de performance des plateformes selon une cadence d'environ 15 minutes plutôt qu'en temps réel. Pour l'attribution, c'est un non-sujet : les UTM se posent sur la commande Shopify au moment de l'achat, donc le rapprochement au niveau commande est exact quelle que soit la cadence de synchronisation — vous rapprochez une commande déjà actée d'un clic taggé, vous ne courez pas après un flux en direct. La cadence de synchronisation affecte la fraîcheur des chiffres de dépense affichés à côté de ces commandes, et 15 minutes sont invisibles pour les décisions quotidiennes et hebdomadaires qu'une marque DTC prend réellement.

Pourquoi des tags propres réparent aussi votre ROAS, pas seulement vos sources

Il vaut la peine d'être explicite sur un bénéfice de second ordre, parce que les marques le ratent souvent. Quand un tiers des commandes est en « (not set) », elles ne sont pas réparties uniformément entre les canaux — elles se concentrent là où le tagging a le plus mal cassé. Cela signifie que les commandes non attribuées distordent silencieusement la performance relative de vos canaux, pas seulement les totaux absolus. Un canal qui, par hasard, avait le pire tagging passe pour votre pire performeur même s'il est votre meilleur.

Nettoyer les tags ne fait pas que récupérer les commandes manquantes ; cela corrige la comparaison entre canaux que ces commandes manquantes faussaient. Les enjeux croissent avec le budget : eMarketer projetait en 2024 que la dépense publicitaire du retail e-commerce aux États-Unis dépasserait les 60 milliards de dollars, et chaque dollar est alloué précisément en fonction du genre de classement de canaux que l'attribution cassée distord. C'est le même écart entre performance reportée et performance réconciliée que le framework ROAS reporté vs ROAS réel rend concret : quand le numérateur (chiffre d'affaires attribué) perd une part, chaque ratio d'efficacité en aval est faux, et vous arbitrez vos budgets sur un classement distordu. La réallocation budgétaire de la marque après le correctif ressemblait à quelque chose de nettement différent de ce qu'elle aurait fait sur l'ancienne donnée criblée de « (not set) » — et cette différence est tout l'enjeu.

Le playbook pour n'importe quelle marque DTC

La situation de cette marque est le cas par défaut de toute opération e-commerce qui scale son acquisition payante sur Shopify. Le correctif se généralise proprement, et l'ordre des opérations compte :

  • Corrigez la source, pas le symptôme. « (not set) » est un problème d'étape un déguisé en problème GA4. Standardisez le tag au lancement avant de toucher aux fenêtres d'attribution ou aux tags server-side.
  • Supprimez le champ texte libre. Tant qu'un humain tape source et medium sur chaque ad, la dérive est le comportement par défaut. Générez à partir d'une seule structure partagée pour que le tag malformé devienne le difficile à créer.
  • Faites du tagging une partie du lancement, pas une étape séparée. Un tag construit dans un autre onglet est un tag qu'on saute sous deadline. Taggez là où vous lancez.
  • Laissez le bulk appliquer la structure, pas multiplier l'erreur. Appliquez une seule structure UTM sur tout le lot pour que le volume devienne votre surface la plus cohérente au lieu de la moins.
  • Gardez l'humain sur l'approbation. L'outillage prépare et propose le lot et ses tags ; vous passez la grille en revue et approuvez. Rien ne part tout seul.

L'attribution propre n'est pas un luxe de reporting pour une marque DTC — c'est la différence entre scaler sur ce que vous pouvez mesurer et scaler sur ce que vous pouvez mesurer plus un tiers que vous devinez. Wevion intègre l'UTM Builder dans le Bulk Launcher pour que des tags cohérents soient le comportement par défaut sur chaque ad que vous expédiez, tout en vous gardant aux commandes de ce qui passe en ligne. Démarrez un essai gratuit de 14 jours, ou restez sur le plan gratuit permanent, et faites de la prochaine ligne « (not set) » la dernière que vous aurez à expliquer.

Pour le tableau d'ensemble sur la façon dont tagging, lancement et charge de reporting plafonnent la capacité d'une marque à scaler, ce guide fait partie de notre hub campaign-scaling — explorez le cluster complet pour les playbooks opérationnels qui l'entourent. Et si vous hésitez entre un outil d'attribution dédié et la correction des tags à la source, la comparaison Wevion vs Triple Whale pose où chaque approche s'inscrit.

Questions fréquentes

Newsletter

The Ad Signal

Insights hebdomadaires pour les media buyers qui ne devinent pas. Un email. Uniquement du signal.

Articles associés

Prêt à automatiser vos opérations publicitaires ?

Lancez des campagnes en masse sur tous vos comptes. Commencez gratuitement, pour toujours. Sans carte bancaire. Annulation à tout moment.