Google Ads puede mostrar una conversión de un pedido de Shopify sin explicar de dónde viene el número. Tres pipelines distintos alimentan la misma cuenta y los tres acaban como una acción de conversión con un nombre parecido.
Esta guía las compara a nivel de mecanismo: qué dispara la conversión, quién es dueño de la acción, cómo se deduplica un pedido, cómo se respeta el consentimiento y qué puede demostrar cada una frente a una exportación de pedidos de Shopify. No declara un ganador, no cita costes de proveedores —consulta la ficha de la Google & YouTube app— y no clasifica las opciones.
¿Qué envía la Google & YouTube app a Google Ads?
La Google & YouTube app es una app de canal de ventas de Shopify desarrollada por Google. Carga las etiquetas de Google en la tienda, mapea los eventos estándar de Shopify a los destinos que elijas y —cuando vinculas una cuenta de Google Ads— crea por ti una acción de conversión de purchase. Google y Shopify mantienen el mapeo.
Conectas la cuenta de Google, vinculas una cuenta de Google Ads y revisas los eventos y destinos de Shopify. Con una cuenta vinculada, purchase, add to cart y checkout started son los valores predeterminados sugeridos. Comprueba si cada acción es principal o secundaria y qué objetivos usa la campaña para pujar, en lugar de dar por hecho que las acciones que no son purchase solo sirven para observar. Por evento puedes crear una acción, elegir una existente, omitirla o pegar un destino personalizado AW-CONVERSION_ID/CONVERSION_LABEL o de Floodlight.
Conectar Google Analytics es algo aparte: la app también puede enviar eventos de Shopify a una propiedad de GA4, y una conversión de Google Ads creada a partir de un key event de purchase de GA4 es una acción propia. La deduplicación por ID de transacción funciona dentro de una sola acción, así que las dos no se fusionan: dos acciones que cuentan un pedido son dos conversiones.
La deduplicación es la parte que se pasa por alto. Google documenta una conexión de Data Manager en la que Shopify envía las conversiones de purchase de servidor a servidor, deduplicadas frente a los eventos de la etiqueta de Google dentro de la acción de conversión antes de la atribución. Solo admite el evento Checkout completed.
Las limitaciones son estructurales, no errores. La app admite la configuración estándar de eventos y etiquetas; Google indica que algunos ajustes personalizados y personalizaciones basadas en código no están disponibles y que los ajustes de privacidad o de funciones definidos en el código no se replican. Google también indica que Tag Manager no se puede configurar a través de la app y que solo se puede vincular directamente una cuenta de Google Ads: las cuentas adicionales se añaden a mano por ID y etiqueta.
¿Qué hace realmente una etiqueta de conversión propia?
Una etiqueta de conversión es código tuyo que dispara la conversión con los parámetros que elijas. En Shopify se ejecuta como un píxel personalizado suscrito a Customer events, y lee el identificador y el value del pedido desde el evento de checkout. En Tag Manager construyes la etiqueta de Ads, referencias ese transaction_id dinámico y añades un Conversion Linker.
Shopify carga los píxeles web en un sandbox del navegador del visitante, y la postura de Google es explícita: ejecutar etiquetas de Google dentro de la función de píxel personalizado de Shopify no es una implementación compatible. Los datos pueden seguir fluyendo mientras fallan funciones, y el soporte de Google no lo depurará. Lo que puede no funcionar desde el sandbox del píxel incluye Preview mode, muchos tipos de activador y variable, las Enhanced Conversions y el URL passthrough de Consent Mode.
La regla sobre la que diseñar es el ID de transacción. Google Ads conserva la primera conversión que procesa para una acción e ID de transacción determinados y trata una segunda con el mismo ID como un duplicado que no cuenta. El ID debe ser dinámico por pedido, único, de 64 caracteres como máximo y sin datos personales. Reutilizar un ID estático reduce el recuento; un ID vacío carece de esta protección frente a duplicados. Un ID que no coincide exactamente entre dos rutas no permite identificarlas como la misma conversión.
window.dataLayer = window.dataLayer || [];
// Ejemplo hipotético: los valores proceden del pedido, nunca de un importe fijo.
window.dataLayer.push({
event: 'purchase',
transaction_id: order.id, // dynamic, unique per order, no personal data
value: order.total, // dynamic: the order's own value
currency: order.currency // dynamic: the store's currency
});
En lugar de tener una etiqueta propia, puedes crear la conversión en Google Ads a partir de un key event de Google Analytics. Eso requiere cuentas vinculadas y auto-tagging, y los redirects no deben alterar ni perder el gclid. Estas conversiones empiezan como secundarias, y su categoría de objetivo y su optimización de acción solo se editan en Google Ads, no en la interfaz de Analytics. Importar desde Analytics tampoco trae las conversiones view-through, que necesitan la medición nativa de Google Ads.
El consentimiento es lo otro que controlas tú: configuras el estado de consentimiento por defecto para ad_storage, analytics_storage, ad_user_data y ad_personalization —por defecto Google no establece valores de consent mode— y lo actualizas después de que el visitante elija. El modo básico bloquea las etiquetas de Google hasta el consentimiento; el modo avanzado las carga y envía mediciones sin cookies mientras el consentimiento está denegado. Las Enhanced Conversions requieren datos de primera parte normalizados y con hash SHA-256 en hexadecimal. (Esto cubre la implementación técnica, no asesoramiento legal.)
¿Qué mide una importación de conversiones offline que el navegador no puede?
Una importación de conversiones offline registra una conversión a partir de un identificador que guardaste antes, no de una solicitud en el momento de la conversión. Capturas el identificador de clic en la landing, lo conservas con el pedido o el registro del lead y cargas el resultado más tarde con su fecha, hora, value e ID de pedido.
El mecanismo está documentado: el auto-tagging debe estar activado, el gclid se añade a la URL de la landing y Google recomienda capturarlo en todas las páginas y guardarlo con el pedido. Distingue mayúsculas de minúsculas, y una importación por archivo se apoya en él. La acción de conversión, la fecha y la hora son obligatorias; el ID de pedido, el value y la currency son opcionales, y el value recurre al número definido en la acción. Google documenta compatibilidad con GBRAID para importaciones que usan atribución externa, así que comprueba la compatibilidad de identificadores de tu interfaz en lugar de dar por hecho que son intercambiables.
Eso es lo que esta ruta demuestra y un navegador no puede: un resultado fuera del sitio —una venta por teléfono o un contrato firmado— y también una compra cuya señal de navegador nunca llegó, siempre que el identificador se haya guardado. Sin uno no hay clic que emparejar.
La cadencia importa: las instrucciones actuales de Google dirigen las importaciones por archivo a Data Manager y las cargas por API a Data Manager API. La importación offline clásica es una función heredada. Después de crear una acción de conversión, Google indica que esperes 4–6 horas antes de la primera carga. Recomienda incluir un día extra de datos porque las conversiones del primer día tras el clic pueden no estar registradas; el procesamiento puede tardar 24–48 horas. Mantén las conversiones nuevas y los ajustes en archivos separados. Se consideran duplicadas las filas que repiten identificador, nombre de conversión, fecha y hora.
Los reembolsos se gestionan con ajustes de conversión, no con una etiqueta, y no solo en las importaciones offline: cualquier conversión online registrada con un ID de transacción se puede reformular o retirar, incluido un purchase de la app o de una etiqueta. Un RESTATE cambia el value y deja el recuento; un RETRACT quita la conversión del recuento y pone su value a cero, y ya no se puede ajustar de nuevo. Los ajustes se identifican por el ID de pedido junto con el nombre de la acción de conversión, o por gclid y la hora de conversión cuando la conversión no tenía ID de pedido; con un gbraid, solo funciona el ID de pedido. Google aconseja cargar los ajustes al menos 24 horas después del original, da hasta 7 días desde que se registra una conversión para que las pujas automáticas puedan leerla (54 días fuera de ese plazo) y recomienda cargar todos los pedidos, porque Ads no puede saber qué pedidos vinieron de sus clics, así que se esperan filas con errores. Enhanced Conversions for leads es el sucesor que Google propone, que también empareja datos aportados por el usuario con hash.
Comparación lado a lado
La app es lo que menos trabajo da y lo que menos se puede configurar; una etiqueta propia compra parámetros, control de consentimiento y deduplicación a cambio de mantenimiento; una importación offline registra un resultado fuera del sitio. Las tres responden a las mismas reglas de ID de transacción y consentimiento, y ninguna sustituye la conciliación con tus pedidos.
Tabla comparativa — desplázate horizontalmente para ver todas las columnas
| Criterio | Google & YouTube app | Etiqueta de conversión propia (GTM o píxel personalizado) | Importación de conversiones offline |
|---|---|---|---|
| Origen del evento | Eventos de Shopify, mapeados por la app | Tus suscripciones, etiqueta y activadores | Un identificador de clic guardado |
| Purchase y reembolsos | Purchase mapeado por la app; los reembolsos necesitan un ajuste aparte | Purchase que defines tú; los reembolsos necesitan un ajuste aparte | Registra resultados fuera del sitio; reembolsos por ajuste |
| Deduplicación | Dentro de la acción, incluido servidor a servidor | Tu transaction_id, una acción | ID de pedido, o identificador más hora |
| Consentimiento | API de privacidad del píxel de Shopify | Tus valores por defecto de Consent Mode y su control | Las obligaciones viajan con la carga |
| Propiedad de los datos | Mapeo de Google y Shopify; los eventos llegan a la cuenta de Ads vinculada | Etiqueta, parámetros y destino que administras tú | Captura, almacenamiento y destino de carga bajo tu control |
| Dependencia | La app, el canal de ventas, el mapeo de Google | El sandbox de Shopify, GTM, tu código | Tu backend más la carga a Ads |
| Mantenimiento | El proveedor mantiene el mapeo | Tú mantienes los esquemas y las pruebas | Tú mantienes la captura y la programación |
| Para quién encaja | Código mínimo, eventos estándar | Parámetros que la app no tiene | Resultados fuera del sitio |
Tabla de decisión
Elige la app para medir purchases con poco código, una etiqueta propia cuando necesites un parámetro o un control de consentimiento que la app no tenga, y una importación offline cuando el resultado ocurra fuera del sitio. Los reembolsos son un ajuste aparte, y una discrepancia en los informes es un problema de conciliación, no de cambiar de opción.
Tabla comparativa — desplázate horizontalmente para ver todas las columnas
| Si tu situación es… | Elige… |
|---|---|
| Quieres medir purchases sin código que mantener | Google & YouTube app |
| Necesitas un value, un parámetro o un control de consentimiento que la app no tiene | Una etiqueta de conversión que construyes tú |
| La conversión es un lead fuera del sandbox de Shopify | Etiqueta de GTM, o un key event de GA4 importado |
| El resultado ocurre fuera del sitio o mucho después del clic | Importación offline, o Enhanced Conversions for leads |
| Los reembolsos deben dejar de inflar el value reportado | Ajustes de conversión, identificados por el ID de pedido |
| Ejecutas la app y te planteas una segunda etiqueta | Quita una ruta primero y luego verifica |
| El síntoma es que Google Ads y Shopify no coinciden | Ninguna: empieza por la conciliación |
Cuándo no usar cada opción
La app es la opción equivocada cuando necesitas configuración que no expone; la etiqueta lo es cuando nadie puede mantenerla; la importación lo es cuando nunca se guardó ningún identificador.
No recurras a la Google & YouTube app cuando:
- Necesites un evento de reembolso, una fórmula de value personalizada o un parámetro que el mapeo no lleva.
- Necesites etiquetas de Google en Tag Manager en las páginas de checkout, que Google indica que la app no puede configurar y no admite en un píxel personalizado.
- Quieras todos los destinos configurados en un solo sitio: la app vincula directamente una cuenta de Google Ads, y las cuentas adicionales se añaden a mano por ID de conversión y etiqueta o por etiqueta de Google.
No recurras a una etiqueta de conversión propia cuando:
- Nadie vaya a hacerse cargo de ella: cada cambio de esquema de Shopify se convierte en algo que hay que notar y arreglar.
- Dependas de Preview mode, Tag Assistant o el diagnóstico de conversiones dentro del sandbox del píxel, donde Google documenta que algunos no funcionarán.
- Quieras la configuración que Google admite en las páginas de checkout.
No recurras a una importación de conversiones offline cuando:
- Nunca se capturó ni guardó el identificador antes del pedido; no hay nada que emparejar.
- Quieras que sustituya la medición en el sitio; complementa una etiqueta que funciona, no repara una rota.
- Nadie se ocupe de la programación; una importación fuera de cadencia se desvía de la acción que alimenta.
Cómo verifico esto en implementaciones reales
Verifico contando y poniendo nombre a la causa de cada diferencia: un pedido, una conversión por cada acción que quieras contar, con un ID de transacción no vacío e idéntico en todas las rutas.
- Enumera todas las acciones de conversión que puedan contar un purchase. Lee la optimización de acción, los objetivos estándar a los que pertenecen esas acciones y cualquier objetivo personalizado. Las acciones principales pujan cuando su objetivo estándar puja; las secundarias siguen apareciendo en Todas las conversiones, y una acción de un objetivo personalizado puja aunque sea secundaria.
- Identifica todas las rutas que envían un purchase. Revisa Customer events y los ajustes de la app en Shopify, y cualquier etiqueta de conversión de Ads en Tag Manager. Una sola ruta debería ser dueña del purchase.
- Sigue un pedido de prueba real de principio a fin. Tag Assistant y GTM Preview donde funcionen, DebugView de GA4 para el evento y su
transaction_id, y el diagnóstico de conversiones para el estado de la acción. Prueba más de una ruta de checkout. - Comprueba la clave contra el pedido. No vacía, única para ese pedido e idéntica allí donde aparezca.
- Lee los ajustes que dan forma al número. El método de recuento, la ventana de atribución, la fuente del value y el estado principal o secundario deciden qué significa la cifra; las conversiones importadas desde Analytics pueden llevar ajustes editables distintos.
- Prueba un reembolso. Procesa uno, carga el ajuste y lee el informe para confirmar que la fila coincide. Una conversión retirada no se puede volver a ajustar y una conversión web eliminada no se puede devolver a los informes. Para importaciones offline con el recuento «todas las conversiones», Google documenta una nueva carga con una marca de tiempo ligeramente posterior. Pruebo con un pedido que puedo permitirme perder.
- Concilia un periodo cerrado. Compara las conversiones de Ads de un periodo terminado con una exportación de pedidos de Shopify y anota por qué difieren, junto con la conciliación de pedidos.
Modos de fallo habituales
La mayoría de los fallos son mundanos: dos rutas activas, una clave vacía, un value definido de forma distinta en cada lado o una carga fuera de cadencia.
- Dos rutas, un pedido. Las instrucciones de Google dicen que se comprueben las etiquetas duplicadas y se eliminen las heredadas; dos acciones en una misma campaña pueden contar un pedido dos veces.
- Un ID de transacción que difiere entre rutas. Prefijos, sufijos y espacios sueltos anulan la deduplicación, y un ID reutilizado entre pedidos produce un recuento a la baja.
- Un identificador capturado pero no guardado. Un gclid leído en la landing y nunca adjuntado al pedido no deja nada que cargar después.
- Cargas antes de que la acción o los datos estén listos. Espera 4–6 horas después de crear una acción de conversión antes de la primera carga e incluye un día extra en cada importación. Carga los ajustes al menos 24 horas después de la conversión original. El procesamiento puede tardar 24–48 horas; que se acepte un archivo no demuestra que todas sus filas se hayan atribuido.
- Suposiciones sobre el sandbox. Las etiquetas que esperan Preview mode, un conjunto completo de activadores o URL passthrough dentro de un píxel personalizado de Shopify se comportan de otra manera.
- El consentimiento tratado como un atajo. En el modo básico de consentimiento nada debería llegar a Google antes del consentimiento; en el modo avanzado las etiquetas se cargan y luego envían mediciones sin cookies mientras el consentimiento está denegado. Comprueba el estado de consentimiento que reciben las etiquetas, no solo que una solicitud salga del navegador.
Limitaciones
Las tres rutas parten de la misma restricción: tiene que haber un identificador, y tiene que sobrevivir desde el clic hasta el resultado registrado.
La app ejecuta a la vez una etiqueta de Google en la tienda y una integración servidor a servidor para el evento de checkout; una etiqueta propia se entrega desde el navegador, y la importación depende de la captura, el almacenamiento y una programación que mantienes tú. Ninguna de las tres hace que Google Ads coincida con Shopify: Ads informa de conversiones atribuidas, view-through y modeladas dentro de sus propias ventanas y modelos, mientras que Shopify cuenta pedidos de todas las fuentes, así que conciliar la diferencia es un método, no un ajuste. Los ID de transacción no se informan en Google Ads, así que la conciliación sigue siendo agregada. Además, son objetivos móviles: la migración del checkout de Shopify y el paso de Google a las Enhanced Conversions for leads han cambiado la ruta documentada.
Alternativas
Si tu pérdida son solicitudes bloqueadas o truncadas y no el mapeo, la respuesta es el transporte: consulta la guía de tracking server-side.
Si el evento purchase en sí está roto, reconstrúyelo con Arreglar el evento purchase de GA4 en Shopify, y si la configuración de consentimiento es la pregunta abierta, empieza por Consent Mode v2. Para el lado de la cuenta —acciones de conversión, definiciones de value e higiene del gclid— consulta tracking de conversiones de Google Ads, y para resultados que nunca tocan el sitio, tracking de conversiones offline. Si el síntoma es la discrepancia, empieza por conversiones de Google Ads que no coinciden o tracking de checkout de Shopify roto.