Cómo medir los escaneos de un código QR en GA4

Por • 3 Noviembre, 2026 • SEO y marketing • 13 minutos de lectura

Mide los escaneos de tus códigos QR en GA4 gratis con enlaces UTM: qué etiquetas usar, por qué salen como Sin asignar y cómo arreglarlo. Ejemplos reales.

Para medir los escaneos de un código QR en Google Analytics 4, agrega parámetros UTM al enlace antes de convertirlo en código, por ejemplo https://www.ejemplo.com/carta?utm_source=folleto&utm_medium=qr&utm_campaign=medialunas_primavera_2026. Así, cada escaneo que abre tu página aparece en GA4 como una sesión de folleto / qr. Arma el enlace con nuestro generador de enlaces UTM gratuito, pégalo en el generador de códigos QR gratuito y descarga un PNG o un SVG. Las dos herramientas son gratis, no piden cuenta y funcionan en tu navegador.

Hay un detalle que casi ninguna guía menciona: GA4 no tiene un canal predeterminado para los QR, así que el tráfico con utm_medium=qr cae en Sin asignar (Unassigned) hasta que creas un grupo de canales personalizado. Todo lo que sigue lo probamos el 3 de noviembre de 2026: los enlaces salen de nuestra herramienta UTM en vivo en Chrome, cada QR se leyó con dos decodificadores y los canales se comprobaron con las reglas que Google publica para GA4.

Cómo funciona de verdad la medición de un QR en GA4

Un código QR estático es solo texto; en este caso, una URL. Cuando alguien lo escanea, el teléfono abre esa URL como cualquier enlace, y la etiqueta de GA4 lee los parámetros utm_ de la dirección. GA4 nunca ve el escaneo: ve la visita que viene después. Eso tiene dos consecuencias prácticas:

  • Cuentas visitas, no escaneos. Un escaneo que no se abre, un teléfono sin señal o alguien que bloquea la analítica no aparecen. Toma las cifras de GA4 como un mínimo.
  • La página de destino necesita tu etiqueta de GA4. Si el código lleva a un PDF, a una ficha de Google Maps o a la web de otro, GA4 no tiene nada que registrar. Apunta a una página de tu sitio, aunque solo enlace a otra parte.

Por eso no necesitas un servicio pago de «QR dinámico», que cuenta los escaneos con su propia redirección. Un código estático con UTM deja los mismos datos de campaña en tu propia analítica y nunca vence. La contra es que, una vez impreso, su destino no cambia. Si quizá tengas que cambiarlo, codifica una URL corta de tu propio dominio que redirija al enlace etiquetado.

Paso a paso: crea un código QR medible

  1. Elige la página de destino. Usa la URL final exacta, con https:// y la versión correcta con o sin www, para no depender de una redirección.
  2. Abre el generador de enlaces UTM y pega la URL.
  3. Completa tres campos. UTM Source es dónde va impreso el código (folleto, afiche, mesa, packaging). UTM Medium es qr, igual en todos los códigos. UTM Campaign es lo que promocionas (medialunas_primavera_2026). Con UTM Content distingues versiones, como mesa_12 o afiche_b.
  4. Haz clic fuera del último campo. El generador rearma el enlace cuando un campo pierde el foco, no con cada tecla. En nuestra prueba, justo después de escribir la campaña, el resultado todavía decía ...?utm_source=folleto&utm_medium=qr; la campaña apareció al hacer clic en otro lugar. Revisa que estén todos los parámetros antes de copiar.
  5. Pega el enlace en el generador de códigos QR (tipo Texto), elige tamaño y nivel de corrección de errores, y descarga un PNG para pantallas o un SVG para imprenta.
  6. Escanea tu propio código con la cámara del teléfono o sube la imagen al lector de códigos QR, y confirma que la URL decodificada coincide carácter por carácter.
  7. Pruébalo en GA4 antes de imprimir (lo explicamos al final).

Pruébalo ahora: arma tu enlace etiquetado y luego conviértelo en un código QR. Las dos páginas generan el resultado localmente en tu navegador.

Ejemplos resueltos (resultados reales de nuestras herramientas)

Escribimos estos datos en el generador UTM en vivo, en su versión en español. Los resultados están copiados tal cual:

DatosEnlace generado
URL https://www.ejemplo.com/carta, source folleto, medium qr, campaign medialunas_primavera_2026https://www.ejemplo.com/carta?utm_source=folleto&utm_medium=qr&utm_campaign=medialunas_primavera_2026 (101 caracteres)
Igual, con campaign Promo Día de la Madre...&utm_campaign=Promo%20D%C3%ADa%20de%20la%20Madre (102 caracteres)
URL https://www.example.com/menu?lang=en#hours, source table_tent, content table_12https://www.example.com/menu?lang=en&utm_source=table_tent&utm_medium=qr&utm_campaign=spring_menu_2026&utm_content=table_12#hours
URL escrita sin protocolo: example.com/menuhttps://example.com/menu?utm_source=flyer&... (agrega https, no agrega www)

Los espacios se convierten en %20 por defecto (o en + si lo eliges en Codificar espacios como; las cifras de longitud de abajo usan +) y la í de «Día» en %C3%AD: es válido, pero cada tilde ocupa seis caracteres en el código. Usa guiones bajos y sin tildes (dia_de_la_madre). Los parámetros que ya existían, como lang=en, se conservan, y el fragmento #hours queda al final, donde debe estar: los UTM escritos después de un # nunca llegan a GA4. La herramienta agrega https:// pero no puede adivinar el www, así que escribe la dirección completa. Para revisar un enlace largo, pégalo en el analizador de URL: con el tercer enlace mostró los cinco valores por separado y hours como fragmento.

Cuanto más largo el enlace, más denso el código

Un QR crece por «versiones»: la versión 1 tiene 21×21 módulos (los cuadraditos) y cada versión suma 4 módulos por lado. Más caracteres significan una versión mayor y cuadraditos más chicos al mismo tamaño impreso. Generamos cada enlace a 512×512 px y leímos la versión con el decodificador zxing-cpp:

URL codificadaCaracteresVersión con MVersión con H
https://www.example.com/menu (sin UTM)283 (29×29)4 (33×33)
https://www.example.com/m?utm_source=flyer&utm_medium=qr&utm_campaign=sp26745 (37×37)8 (49×49)
Enlace del folleto de medialunas1016 (41×41)10 (57×57)
Ruta larga y valores largos (poster_downtown_bus_stop, poster_a3_version_b)18910 (57×57)14 (73×73)

En un código de 25 mm, la versión 5 da módulos de unos 0,68 mm; la versión 10 los achica a unos 0,44 mm. Eso se nota con impresión barata, superficies brillantes o al escanear de lejos. Todos estos códigos se decodificaron perfecto con zxing-cpp y con nuestro lector de códigos QR, incluidos los & y el #hours: el largo no es un problema de exactitud, sino de impresión. Usa valores cortos (pv26 en lugar de medialunas_primavera_2026), omite utm_term (es para palabras clave pagas) y deja la corrección de errores en M, salvo que pongas un logo encima.

La trampa de GA4: utm_medium=qr aparece como «Sin asignar»

GA4 clasifica cada sesión en un canal predeterminado (Búsqueda orgánica, Email, Referencia, etc.) con reglas fijas que no puedes editar. Comprobamos nuestras etiquetas con las reglas de la página de ayuda de Google sobre el grupo de canales predeterminado y su lista descargable de fuentes:

source / medium / campaignCanal predeterminadoPor qué
folleto / qr / medialunas_primavera_2026Sin asignarNinguna regla menciona qr y folleto no es una fuente conocida
folleto / impresoSin asignarTampoco hay regla para impreso, print u offline
instagram / qr o whatsapp / qrSocial orgánicoinstagram y whatsapp están en la lista de fuentes sociales de Google
folleto / qr / shopping_navidadShopping orgánicoLas campañas que contienen shopping (o -shop) cuentan como compras
folleto / mobile-qrNotificaciones push móvilesCualquier medio que contenga mobile
folleto / qr-videoVideo orgánicoCualquier medio que contenga video
folleto / qr_cpmOtros pagosCualquier medio que contenga cp

Así que no intentes esquivar «Sin asignar» con nombres de medio ingeniosos: solo mueven tus escaneos al canal equivocado. Mantén utm_medium=qr y dale un canal propio:

  1. En GA4, ve a Administrar → Visualización de datos → Grupos de canales y haz clic en Crear grupo de canales. Se parte de una copia del grupo predeterminado. Necesitas permiso de editor o superior.
  2. Agrega un canal nuevo, llámalo Códigos QR y ponle la condición Medio coincide exactamente con qr.
  3. Usa Reordenar y arrastra Códigos QR al primer lugar, porque el tráfico va al primer canal que coincide. Si no, instagram / qr seguiría en Social orgánico.
  4. Guarda el grupo y elígelo como dimensión principal en Informes → Adquisición → Adquisición de tráfico.

Según la documentación de Google, los grupos de canales personalizados se aplican también a los datos pasados, y una propiedad estándar puede tener 2, con hasta 50 canales cada uno. Las condiciones de canal no distinguen mayúsculas, pero los valores en los informes sí: Google aclara que utm_source=google y utm_source=Google son valores distintos, así que Folleto / QR y folleto / qr serían dos filas. Usa minúsculas siempre.

Redirecciones y acortadores: que los UTM sobrevivan

Si el código apunta a una URL que redirige, la redirección tiene que conservar los parámetros. La mayoría lo hace: nuestro comprobador de redirecciones mostró que https://google.com/?utm_source=flyer... responde 301 hacia https://www.google.com/?utm_source=flyer... con todas las etiquetas. Pero en una prueba con curl, https://fb.com/?utm_source=flyer&utm_medium=qr respondió 301 hacia https://www.facebook.com/ a secas, sin etiquetas. Una redirección así en tu sitio convierte cada escaneo en tráfico Directo. Mira la última URL de la cadena, no la primera; más detalles en cómo saber si una redirección es 301 o 302.

Errores comunes

  • Un mismo código para todo. Si el folleto y el afiche comparten código, no puedes compararlos. Cambia utm_source o utm_content en cada ubicación; con códigos estáticos no cuesta nada.
  • Poner UTM en los enlaces internos de tu web. Los QR son puertas de entrada, así que etiquétalos; los enlaces entre tus propias páginas, no. Lo explicamos en nuestra guía de parámetros UTM en GA4.
  • Colores con poco contraste. Un código con el color de la marca demasiado claro puede no escanearse. Nuestro generador avisa si el contraste es bajo; oscuro sobre claro es lo más seguro.
  • Esconder el destino. El teléfono muestra la URL antes de abrirla, y tu propio dominio inspira más confianza que un acortador cualquiera. Mira cómo saber si un código QR es seguro.

Pruébalo en GA4 antes de imprimir

Abre una ventana privada del navegador, que cuenta como usuario nuevo, y visita tu enlace etiquetado (o escanea el código con un teléfono que no haya entrado a tu sitio). En GA4, abre Informes → Tiempo real y cambia la tarjeta de usuarios por fuente del primer usuario a Campaña del primer usuario. Google explica que Tiempo real muestra dimensiones del primer contacto del usuario, por eso importa usar un navegador limpio. Si la campaña aparece en pocos minutos, la etiqueta, el enlace y las redirecciones funcionan. Las cifras completas llegan después a Adquisición de tráfico, en Fuente / medio de la sesión y Campaña de la sesión.

Preguntas frecuentes

¿Google Analytics puede medir los escaneos de un código QR?

De forma indirecta. GA4 no ve el escaneo, pero si el código QR contiene un enlace con parámetros UTM, cada escaneo que abre tu página se registra como una sesión con esa fuente, medio y campaña.

¿Qué utm_medium uso para los códigos QR?

Usa qr en todos los códigos y pon la ubicación en utm_source, como folleto o afiche. GA4 no tiene un canal QR predeterminado, así que crea un grupo de canales personalizado con la condición Medio coincide exactamente con qr, en primer lugar.

¿Por qué el tráfico de mi QR aparece como Sin asignar en GA4?

Porque ninguna regla de canal predeterminada reconoce el medio qr (ni impreso, ni offline). Crea un grupo de canales personalizado llamado Códigos QR; también se aplica a los datos pasados.

¿Necesito un QR dinámico para medir escaneos?

No. Un código estático con parámetros UTM te da las visitas por escaneo en tu propio GA4, gratis y sin vencimiento. Un código dinámico solo agrega la posibilidad de cambiar el destino después de imprimir, y una redirección en tu propio dominio también lo logra.

¿Los parámetros UTM hacen que el QR sea más difícil de escanear?

Lo hacen más denso. En nuestras pruebas, una URL de 28 caracteres dio un código versión 3 y la versión etiquetada de 101 caracteres dio versión 6, ambos con corrección M. Los valores cortos y sin tildes mantienen el código fácil de leer.

¿El generador UTM y el generador de QR son gratis?

Sí. Los dos son gratis, no piden cuenta y funcionan en tu navegador. No hay marca de agua y los códigos no vencen porque son estáticos.

¿Listo para medir tu campaña impresa? Etiqueta tu enlace con el generador de enlaces UTM, conviértelo en código con el generador de códigos QR y revísalo con el lector de códigos QR antes de mandarlo a imprenta. Para códigos de Wi-Fi impresos, mira cómo crear un código QR de Wi-Fi.

Cómo saber si una página tiene noindex (meta y cabecera)

2 Noviembre, 2026

Comprueba en segundos si una página tiene noindex: la metaetiqueta robots, la cabecera X-Robots-Tag y la trampa del robots.txt, con pruebas ..

Cómo extraer todas las URLs de un sitemap (gratis)

1 Noviembre, 2026

Saca todas las URLs de un sitemap XML en segundos y sin código. Pruebas reales con índices, URLs con parámetros, namespaces y duplicados, co..

Cómo descargar la miniatura de un video de YouTube en HD

31 Octubre, 2026

Descarga la miniatura de cualquier video de YouTube en todos sus tamaños, hasta 1280x720. Pruebas reales, por qué la HD sale gris, Shorts y ..