Suivre les scans de QR code dans Google Analytics 4
Mis à jour le 20 septembre 20267 min de lecture
GA4 ne voit pas une affiche. Il voit seulement la session qui démarre quand un téléphone ouvre votre page, et par défaut cette session ressemble à du trafic direct sans aucune histoire derrière. Deux réglages corrigent cela : des paramètres sur le lien de destination, et un événement de scan envoyé depuis notre serveur. Avec les deux, vous avez tout le parcours, du tirage papier à l'achat.
Quelle méthode vous faut-il ?
| Paramètres UTM | Événement qr_scan côté serveur | |
|---|---|---|
| Ce que ça mesure | La session après le scan : pages, conversions, chiffre d'affaires | Le scan lui-même, même si le visiteur ferme la page aussitôt |
| Compatible avec | Toute destination que vous contrôlez, code statique ou dynamique | Codes dynamiques uniquement : le scan doit passer par nous |
| Mise en place | Un lien à construire une fois, sans accès GA4 | Identifiant de mesure et clé secrète Measurement Protocol |
| Visible dans GA4 sous | Acquisition de trafic, source/support, campagne | Un événement nommé qr_scan avec le nom du code et la destination |
| Angle mort | Les scans qui ne chargent jamais la page (mauvais réseau, fermeture immédiate) | Rien sur ce qui se passe après la redirection |
Étape 1 — taguer la destination avec des UTM
Les paramètres UTM sont du texte ajouté à l'URL de destination. GA4 les lit à l'arrivée et classe la session sous la source, le support et la campagne que vous choisissez.
https://exemple.fr/carte?utm_source=qr_code&utm_medium=offline&utm_campaign=carte_automne&utm_content=chevalet_table- Ouvrez le <a href="/tools/utm-builder">générateur d'UTM gratuit</a> et collez votre destination.
- Mettez dans utm_source l'endroit physique où vit le code : <code>chevalet_table</code>, <code>vitrine</code>, <code>flyer_mai</code>, <code>emballage</code>.
- Gardez le même utm_medium sur tous vos codes imprimés — <code>offline</code> ou <code>print</code> — pour que GA4 les regroupe dans un seul canal.
- Réservez utm_campaign à l'initiative, pas au support : <code>carte_automne</code>, <code>lancement_2026</code>.
- Copiez le lien tagué et collez-le comme destination de votre code.
Avec un code dynamique, ces paramètres restent modifiables après impression : le code pointe vers notre lien court, et la destination taguée se trouve derrière. C'est ainsi qu'on réutilise la même affiche pour une seconde campagne sans réimprimer.
Étape 2 — transmettre chaque scan à GA4 côté serveur
Une redirection n'affiche aucune page : il n'y a donc pas de navigateur pour exécuter la balise GA4 au moment du scan. Nous envoyons l'événement nous-mêmes via le Measurement Protocol de GA4, juste après la redirection du visiteur.
- Dans GA4, ouvrez Admin, puis Flux de données, et sélectionnez votre flux web.
- Copiez l'identifiant de mesure (de la forme <code>G-XXXXXXXXXX</code>).
- Sur le même écran, ouvrez les clés secrètes du Measurement Protocol, créez une clé et copiez sa valeur.
- Dans Qreator, ouvrez votre code dynamique, choisissez Règles, et descendez jusqu'à la section Google Analytics 4.
- Collez l'identifiant de mesure et la clé secrète, puis enregistrez. Les scans suivants sont transmis.
| Champ | Valeur | À quoi ça sert |
|---|---|---|
| Nom de l'événement | qr_scan | Créer une exploration GA4 ou une conversion sur les scans hors ligne |
| qr_name | Le nom donné au code | Comparer les emplacements : vitrine, flyer, table |
| short_code | Le code du lien court | Relier l'événement à un tirage précis |
| destination | L'URL vers laquelle le visiteur a été envoyé | Repérer les codes qui pointent encore vers une ancienne page |
Étape 3 — vérifier avant le tirage
- Ouvrez Temps réel dans GA4, puis scannez votre propre code avec votre téléphone.
- En moins d'une minute, vous devez voir un événement qr_scan et, si la destination est taguée, une session avec la source <code>qr_code</code>.
- Aucun événement ? Vérifiez l'identifiant de mesure caractère par caractère et que la clé appartient bien au même flux de données.
- Événement mais pas de session : la page a été servie en cache sans les UTM — rescannez en collant le lien tagué directement dans le navigateur pour isoler le problème.
Nos statistiques restent-elles utiles ?

- Les scans bloqués par un mot de passe, une limite de scans ou une planification expirée n'atteignent pas votre site : GA4 ne peut pas les compter, nous oui.
- GA4 perd la session si le visiteur bloque les traceurs ou refuse le consentement ; un événement côté serveur n'est pas concerné.
- GA4 est l'endroit où rattacher le chiffre d'affaires. Nos chiffres disent quel emplacement a gagné le scan.
Questions fréquentes
- Google Analytics peut-il suivre un QR code statique ?
- Seulement indirectement. Un code statique contient votre URL : GA4 voit la visite mais rien sur le scan. Ajoutez des paramètres UTM à l'URL avant d'imprimer et GA4 attribuera au moins la session à la campagne papier. Les scans qui ne chargent jamais la page restent invisibles.
- Pourquoi mes scans apparaissent-ils en trafic direct dans GA4 ?
- Parce que la destination n'a pas de paramètres UTM et qu'une application photo ne transmet aucun référent. Taguez la destination avec utm_source, utm_medium et utm_campaign : les sessions quittent le direct pour le canal que vous avez nommé.
- Ai-je besoin d'une clé Measurement Protocol ?
- Uniquement pour l'événement qr_scan côté serveur. Les paramètres UTM ne demandent rien à GA4. La clé se crée dans GA4 sous Admin, Flux de données, votre flux web, clés secrètes du Measurement Protocol.
- Les chiffres de GA4 et de Qreator seront-ils identiques ?
- Non, et c'est normal. Nous comptons chaque scan qui atteint la redirection ; GA4 compte les sessions qui ont réellement chargé votre page. Réseau lent, fermeture immédiate, refus de consentement et blocage des traceurs expliquent un écart de 10 à 30 %.
- La transmission des scans à GA4 envoie-t-elle des données personnelles ?
- Non. L'événement contient le nom du code, le code court et la destination, avec les publicités non personnalisées activées. Aucune adresse IP, aucun identifiant d'appareil et rien qui identifie une personne n'est envoyé.
Étapes suivantes
- Comprendre vos statistiques de scanScans dans le temps, pays, appareils et référents — et à quoi sert chaque métrique.
- Statique ou dynamique : quel QR code choisir ?Une décision détermine si vous pourrez corriger une erreur après impression. Voici comment trancher en trente secondes.
- Changer la destination d'un QR code impriméLa fonction qui justifie les codes dynamiques : changer le lien, garder l'impression.