Si quieres conectar Stripe con Google Analytics 4, lo primero que conviene saber es que no hay un interruptor que lo haga por ti. Stripe Checkout no le manda tus ventas a GA4 por su cuenta. El evento purchase se lo envías tú a GA4, ya sea desde la página a la que llega tu cliente después de pagar o desde tu servidor cuando Stripe te avisa que el pago entró. La guía de GA4 del propio Stripe muestra las dos vías. Aquí las tienes paso a paso, con la documentación de Stripe y de Google a octubre de 2026, y al final el caso en el que no necesitas nada de esto.
Qué hace y qué no hace Stripe Checkout con GA4
El punto de partida oficial es la guía de Stripe Analyze your conversion funnel (en inglés). Esto es lo que dice:
- Tu etiqueta de GA va en tus propias páginas. La guía agrega la etiqueta de Google a tu página de producto, a la de pago exitoso y a la de cancelación. No pone ninguna etiqueta en la página de pago que aloja Stripe.
- Hay que excluir el dominio de pago como sitio de referencia. Su primer paso de instrumentación es agregar
checkout.stripe.coma tu lista de exclusión de referencias. Si no lo haces, el cliente que vuelve de Checkout puede aparecer como una visita nueva que te mandó Stripe. - Los pasos los registras tú. Disparas
begin_checkoutantes de mandar al cliente a Checkout, y cuentas la compra como una vista de la página de pago exitoso o con un eventopurchaseque envía tu servidor cuando recibe el webhookcheckout.session.completed.
O sea, “conectar” Stripe con GA4 en realidad significa instrumentar tu flujo de pago. Los ejemplos de Stripe cuentan compras. Si además quieres ver ingresos en GA4, el evento tiene que llevar el monto, como verás más abajo.
Antes de empezar
- Ten una propiedad de GA4 con un flujo de datos web y la etiqueta de Google instalada en tu sitio.
- Excluye el dominio de pago de Stripe. En GA4 entra a Administrador, luego a Recopilación y modificación de datos y después a Flujos de datos. Elige tu flujo web, abre Configurar parámetros de etiquetas, muestra todos los ajustes y entra a Especificar referencias no deseadas. Agrega
checkout.stripe.comy guarda. Si usas un dominio personalizado en Stripe, Stripe aclara que la URL de Checkout usa tu subdominio, así que agrega ese. - Ten claro qué necesita GA4 para mostrar ingresos. La referencia de eventos de Google marca como obligatorios
transaction_id,value,currencyeitemsenpurchase. Google aclara que si envíasvalue,currencyes obligatorio para que las métricas de ingresos se calculen bien, y quetransaction_idte ayuda a no registrar la misma compra dos veces.
Opción 1: envía la compra desde tu página de pago exitoso
Es la vía más sencilla y funciona con la etiqueta de Google que ya tienes.
- Pásale el ID de la sesión a tu página de pago exitoso. Cuando crees la Checkout Session, agrega el texto literal
{CHECKOUT_SESSION_ID}a tusuccess_url, por ejemplohttps://tusitio.com/gracias?session_id={CHECKOUT_SESSION_ID}. Stripe lo cambia por el ID real después del pago (Stripe: personalizar la redirección, en inglés). - Consulta la sesión desde tu servidor. En la página de pago exitoso, recupera la Checkout Session con ese ID. Trae
amount_total(el total después de descuentos e impuestos),currencyypayment_status. - Dispara el evento. Escribe esos valores en la página y envía un evento
purchasea GA4. Usa el ID de la sesión comotransaction_id, para que una recarga de la página no cuente una segunda venta.
gtag("event", "purchase", {
transaction_id: "cs_live_...", // el ID de la Checkout Session
value: 20.00, // amount_total / 100 en USD
currency: "USD",
items: [{ item_id: "camiseta", item_name: "Camiseta", price: 20.00, quantity: 1 }]
});
Stripe maneja los montos como números enteros en la unidad más pequeña de la moneda (en su propio ejemplo, 2000 son los 20 dólares de una camiseta), así que divide antes de enviarlos. Y ojo: Google dice que value debe ser la suma de precio por cantidad de los artículos, sin envío ni impuestos, mientras que el amount_total de Stripe sí incluye impuestos. Elige un criterio y no lo cambies.
El punto débil: Stripe advierte que no puedes contar con que el cliente llegue a la página de pago exitoso. Alguien puede pagar y quedarse sin conexión antes de que cargue. Esa venta estará en Stripe, pero no en GA4.
Opción 2: envía la compra desde tu servidor con Measurement Protocol
Así GA4 recibe la compra aunque la página de pago exitoso nunca cargue.
- Crea un secreto de API de Measurement Protocol. En GA4 entra a Administrador, luego a Recopilación y modificación de datos y a Flujos de datos, elige tu flujo, abre la opción de secretos de la API de Measurement Protocol (en la interfaz en inglés, Measurement Protocol API secrets) y haz clic en Crear (Google: enviar eventos con Measurement Protocol, en inglés). También vas a necesitar el ID de medición del flujo.
- Guarda el client ID de GA del visitante antes del pago. La guía de Stripe lo lee con
gtag("get", ...), lo manda a tu servidor y lo guarda en elmetadatade la Checkout Session. Google indica que elclient_iddebe coincidir con el que generó la etiqueta de Google en tu sitio, porque así es como GA4 une el evento del servidor con la visita. - Escucha el webhook. Crea un endpoint de webhooks y maneja
checkout.session.completed. Stripe dice que los webhooks son la forma más confiable de confirmar que te pagaron, y que reintenta la entrega si falla. - Envía el evento. Haz un POST a
https://www.google-analytics.com/mp/collectcon tumeasurement_idy tuapi_secret, elclient_idguardado y un eventopurchasecontransaction_id,value,currencyeitems.
Lo que Google advierte sobre Measurement Protocol: está pensado para complementar tu etiqueta, no para reemplazarla, y si mandas eventos solo por esta vía, puede que solo tengas informes parciales. Los eventos que quieres unir a una visita deberían llegar a GA dentro de las 48 horas siguientes.
Un caso más: Stripe avisa que métodos de pago como los débitos bancarios o los vales pueden tardar de 2 a 14 días en confirmarse, así que escucha los eventos de pago adicionales si los tienes activados. El payment_status de la sesión te dice si el dinero ya está disponible (paid) o todavía no (unpaid).
¿Usas Payment Links en lugar de programar Checkout?
Los Payment Links tampoco agregan tu etiqueta de Google. Lo que sí puedes hacer, según la documentación de Payment Links de Stripe (en inglés):
- En After the payment (después del pago), redirige al cliente a una página de confirmación en tu sitio en vez del mensaje de Stripe, e incluye
{CHECKOUT_SESSION_ID}en esa URL. Luego aplica la opción 1 en esa página. - Agrega códigos UTM a la URL del payment link. Stripe los pasa solos a tu URL de redirección cuando el cliente termina de pagar.
- Usa el webhook
checkout.session.completed, que Stripe también envía con los payment links, para la opción 2.
Stripe también muestra en el Dashboard las vistas, ventas e ingresos de cada payment link. Según Stripe, esos datos pueden llegar con hasta 18 horas de retraso y no están disponibles para links con precios recurrentes.
Problemas comunes después de conectar Stripe con GA4
- Compras atribuidas a checkout.stripe.com. No configuraste la referencia no deseada, o usas un dominio personalizado que no agregaste.
- Los ingresos no cuadran con Stripe. Páginas de pago exitoso que no cargaron, impuestos tratados distinto, reembolsos y montos sin dividir entre 100 hacen que GA4 y Stripe no coincidan.
- Compras duplicadas. Envía el mismo
transaction_id(el ID de la sesión) desde todos los lugares donde disparas el evento. - Compras del servidor sin fuente ni campaña. El
client_idno coincidió con el del visitante, así que GA4 no pudo unir el evento a la visita.
Enlaces verificados el 31 de octubre de 2026.
Cuando no te hace falta: los ingresos de Stripe junto a GA4 en un solo tablero
Pregúntate para qué quieres Stripe dentro de GA4. Si necesitas informes de conversión por campaña, conversiones para anuncios o los pasos del embudo, lo de arriba es la herramienta correcta, y lleva trabajo de etiquetado de verdad.
Pero muchos fundadores buscan algo más simple: saber si el día que subió el tráfico también entró dinero. Para eso no hace falta mover los datos de Stripe a GA4. En Vexlynk, Google Analytics 4 y Stripe se conectan cada uno como una tarjeta en vivo en el mismo tablero. A Google Analytics lo apruebas en la pantalla de permisos de Google y eliges tu propiedad de GA4; para Stripe, pegas una clave de tu propia cuenta. La tarjeta de GA muestra tráfico, canales de adquisición y geografía. La de Stripe muestra ingresos, suscripciones y pagos recientes, en solo lectura. Un agente de IA lee las dos tarjetas y responde preguntas como “¿el pico de tráfico de esta semana se notó en los ingresos?”, apoyado en tus propios números y mostrando qué tarjetas usó.
Siendo claros con los límites: esto no es atribución. Vexlynk pone tráfico e ingresos lado a lado y razona sobre los tiempos; no es un modelo de atribución de último clic ni multicanal, y no escribe nada de vuelta en Stripe ni en GA4. Si necesitas que GA4 le acredite cada venta a una campaña, haz el etiquetado. Si quieres los dos números en una sola ventana, mira cómo poner Stripe y Google Analytics en un tablero.
Y si lo que buscas en realidad es SQL sobre tu historial de Stripe, esa es una pregunta de almacén de datos. Mira cómo conectar Stripe a BigQuery.
Preguntas frecuentes
¿Existe una integración nativa entre Stripe y Google Analytics 4?
La guía de GA4 de Stripe no describe ningún interruptor en ninguno de los dos productos. Te pide etiquetar tus propias páginas de producto, de pago exitoso y de cancelación, y registrar tú la compra, ya sea en la página de pago exitoso o desde tu servidor con Measurement Protocol cuando recibes el webhook checkout.session.completed.
¿Por qué GA4 muestra checkout.stripe.com como referencia?
Tus clientes salen de tu sitio para pagar en el dominio de Stripe y vuelven a tu página de pago exitoso. Agrega checkout.stripe.com, o tu dominio personalizado de Stripe, a Especificar referencias no deseadas, en Configurar parámetros de etiquetas de tu flujo web de GA4.
¿Envío la compra desde la página de pago exitoso o desde el servidor?
La página de pago exitoso es más sencilla, pero Stripe aclara que no está garantizado que el cliente llegue a ella. La vía del servidor con el webhook capta cada pago completado, pero necesita el client ID de GA guardado para unir la compra con la visita. Si usas las dos, manda el mismo transaction_id.
¿Los ingresos de GA4 van a coincidir con los de Stripe?
Casi nunca exactamente. Las páginas que no cargaron, las reglas de impuestos y envío, los reembolsos y los métodos de pago que tardan en confirmarse abren diferencias. Usa Stripe para el dinero y GA4 para saber de dónde llegaron tus compradores.
¿Puedo ver Stripe y GA4 juntos sin etiquetar nada?
Sí, si te basta con verlos lado a lado. Vexlynk conecta Google Analytics 4 y Stripe como tarjetas en vivo y de solo lectura en un mismo tablero, y su agente de IA las lee juntas. No hace atribución ni envía eventos a GA4.
Vexlynk
Equipo Vexlynk