Resoudre le (not set) dans GA4 : causes et solutions

Le (not set) dans GA4 pollue vos rapports. Voici les 5 causes principales et les solutions techniques pour chaque situation.

Pourquoi (not set) apparait dans vos rapports GA4

Le label (not set) dans Google Analytics 4 signifie que GA4 n’a pas recu de valeur pour la dimension demandee dans le contexte du rapport. Ce n’est pas un bug : c’est un symptome. Le probleme, c’est que les causes sont multiples et souvent subtiles.

Contrairement a ce que beaucoup pensent, (not set) ne signifie pas toujours que le tracking est casse. Parfois, c’est un probleme de configuration des dimensions custom. Parfois, c’est un desalignement de scope. Et parfois, c’est Google qui agrege vos valeurs dans un bucket generique parce que vous avez trop de variations distinctes.

Comprendre la cause precise est indispensable pour appliquer la bonne correction. Voici les cinq situations les plus frequentes et leurs solutions.

Cause 1 : parametres custom non enregistres

C’est la cause la plus courante et la plus simple a corriger. Vous envoyez un parametre custom via GTM ou gtag.js, mais vous n’avez pas enregistre la dimension correspondante dans Admin, puis Custom definitions. GA4 recoit bien la donnee (visible dans DebugView), mais elle n’apparait pas dans les rapports standards.

La solution : rendez-vous dans Administration, puis Definitions personnalisees, et enregistrez chaque parametre que vous souhaitez exploiter dans vos rapports. Attention, GA4 impose une limite de 50 dimensions event-scoped et 25 dimensions user-scoped. Planifiez votre plan de mesure en consequence.

Cause 2 : high cardinality et le bucket (other)

Quand une dimension depasse environ 500 valeurs distinctes dans un rapport, GA4 regroupe les valeurs les moins frequentes sous le label (other). Ce n’est pas exactement du (not set), mais l’effet sur vos analyses est similaire : vous perdez en granularite.

La solution consiste a reduire la cardinalite. Regroupez les valeurs similaires avant l’envoi (par exemple, normaliser les URLs en supprimant les query strings), ou utilisez BigQuery pour acceder aux donnees brutes sans cette limitation.

Cause 3 : desalignement de scope

C’est le piege le plus technique. GA4 fonctionne avec quatre niveaux de scope : user, session, event et item. Si vous croisez une dimension event-scoped avec une metrique session-scoped, GA4 ne peut pas toujours etablir la correspondance et affiche (not set).

Exemple concret : vous croisez le nom d’un evenement custom (scope event) avec le nombre de sessions (scope session). Les sessions qui ne contiennent pas cet evenement afficheront (not set). La solution est de verifier systematiquement que le scope de vos dimensions correspond au scope de vos metriques dans chaque rapport.

Cause 4 : attribution parallele pour le server-side

Quand vous utilisez le Measurement Protocol ou le tracking server-side, les hits arrivent sans le contexte habituel du navigateur. Pas d’UTM, pas de referrer, pas de client_id natif. Resultat : toute la partie attribution tombe en (not set).

La technique recommandee par les experts en server-side consiste a mettre en place une couche d’attribution parallele. Concretement, vous stockez les parametres UTM dans des cookies first-party cote client, puis vous les renvoyez via des dimensions event-scoped lors de chaque hit server-side. Cela permet de reconstituer l’attribution meme quand le hit ne passe pas par le navigateur. C’est exactement le type de configuration que je mets en place lors d’un audit tracking.

Cause 5 : Enhanced Measurement mal configure et debugging

Le Enhanced Measurement de GA4 genere automatiquement des evenements comme scroll, file_download ou outbound_click. Mais si vous avez aussi des evenements custom qui portent les memes noms avec des parametres differents, vous creez des conflits qui produisent du (not set) sur certaines dimensions.

La premiere etape de diagnostic est toujours DebugView. Activez le mode debug via l’extension Chrome GA Debugger ou via le parametre debug_mode dans votre configuration GTM. Verifiez que chaque evenement envoie bien tous les parametres attendus, avec les bonnes valeurs.

Si vous constatez du (not set) persistant malgre ces verifications, la cause est probablement dans la configuration initiale de votre setup GA4 et GTM. Un plan de mesure bien structure, avec des conventions de nommage strictes et un mapping scope par scope, elimine la quasi-totalite des cas de (not set). Consultez aussi notre guide de configuration GA4 pour les fondamentaux.

Besoin d'aide sur ce sujet ?

Je peux vous accompagner sur la mise en place ou l'optimisation de votre tracking.

Prendre rendez-vous