Audiencia: marketing, operaciones, atención al cliente, dev.
Última actualización: 26 de mayo de 2026.
Los emails operacionales de Pampling (activación de cuenta, recuperación de contraseña, confirmación de pedido, envío, etc.) los envía Shopify directamente. Solo se editan desde Shopify Admin → Settings → Notifications. No hay otra vía.
Pampling usa dos sistemas distintos para enviar emails, según su propósito:
Son los emails automáticos que Shopify dispara como parte del funcionamiento del e-commerce. Texto plano y formato controlado por nosotros, pero el motor que los envía es Shopify.
Ejemplos:
Cuándo se editan: si hay que cambiar la marca, el texto, el layout, o las URL que enlazan a la web.
Son los emails que lanza el equipo de marketing, normalmente como campañas o flows automatizados, no operacionales de la plataforma.
Ejemplos:
Cuándo se editan: dentro del propio Klaviyo. Marketing tiene autonomía total para crear, editar y disparar campañas allí, sin depender de dev.
Regla rápida: si el email se manda automáticamente como consecuencia de una acción del cliente en la web (registrarse, comprar, recuperar contraseña) → Shopify. Si es una campaña o algo que decide marketing cuándo enviar → Klaviyo.
Si tienes duda con un email concreto, pregunta a dev antes de tocar nada.
Los notification templates de Shopify se almacenan en una base interna de Shopify a la que no se puede acceder desde fuera. No hay forma de editarlos con CLI, API ni herramientas externas. Solo:
Shopify Admin → ⚙️ Settings → Notifications
Desde ahí se ve la lista de templates disponibles. Pulsando uno se abre el editor con dos cosas:
Liquid es un sistema de plantillas. Permite meter "variables" dentro del HTML que Shopify rellena automáticamente cuando va a enviar el email a cada cliente. Por ejemplo:
Hola {{ customer.first_name }}, gracias por tu compra.
Shopify sustituye {{ customer.first_name }} por el nombre real del cliente justo antes de enviar. Las variables siempre van entre {{ }}.
Estas variables son el corazón del sistema. Permiten que un mismo template se rellene de forma personalizada para cada cliente y para cada tienda.
Hay tres tipos de cambios según su naturaleza. Cada uno tiene su sitio.
Estos datos viven en metafields a nivel de tienda, no dentro del HTML. La gracia es que se cambian una sola vez y se reflejan en todos los emails automáticamente — y al replicar la configuración entre la tienda staging y la de producción, basta con cambiar el valor del metafield, sin tocar las plantillas.
Dónde se cambian: Shopify Admin → Settings → Custom data → Shop → editar metafields.
| Metafield | Para qué |
|---|---|
custom.public_url |
URL pública de la web (https://www.pampling.org o .com) |
custom.public_brand_name |
Nombre comercial ("Pampling", sin sufijos) |
custom.support_email |
Email de contacto al que se redirige al cliente |
custom.legal_terms_url |
URL de Términos y condiciones |
custom.legal_privacy_url |
URL de Política de privacidad |
Nota técnica: los metafields exactos los define el equipo dev en NUE-59 (ver Linear). La lista anterior es indicativa — la real puede tener más o menos según se vaya consolidando.
Cuando se quiera cambiar el email de contacto (por ejemplo de soporte@pampling.com a atencion@pampling.com), basta con editar el metafield. Todos los emails que lo usen pasarán a mostrar el nuevo valor en el siguiente envío. Sin tocar plantillas.
Si quieres cambiar el subject, una frase, añadir un párrafo, modificar el saludo…
Procedimiento:
{{ }} ni entre {% %} — esas son variables Liquid o control de flujo. Romperlas deja el email entero sin enviar.⚠️ Importante: siempre "Send test" antes de "Save". Si guardas un template con error de Liquid, los próximos emails reales se enviarán rotos o no se enviarán.
Si el cambio implica:
No lo hagas tú directamente. Abrir el HTML del template y modificar la estructura es propenso a romper la presentación (especialmente porque los emails tienen restricciones de HTML/CSS muy distintas a las de una web).
Procedimiento:
.liquid en el repo, abre PR, review, merge.custom.support_email.atencion@pampling.com).Tiempo: 2 minutos.
Sin tocar plantillas.
Tiempo: 5 minutos.
Esto lo hace dev (Javier) como parte de NUE-60. Marketing no interviene aquí.
El proceso:
custom.public_url = https://www.pampling.com).docs/shopify-notifications/ en el código) y los pega en los templates correspondientes de la tienda producción.Los templates NO se modifican durante la migración. Lo único que cambia es el valor del metafield. Esto es exactamente el motivo de tener metafields.
.liquid correspondiente en el repo (mantener sincronizada la fuente de verdad).{{ }} (variables Liquid) ni entre {% %} (control de flujo Liquid). Si necesitas cambiar lo que muestra una variable, lo que cambias es el valor del metafield o el campo subyacente, no el template.https://www.pampling.org/algo), debería ser {{ shop.metafields.custom.public_url }}/algo. Si encuentras una hardcoded, abre una issue para dev en lugar de cambiarla a mano — probablemente sea un descuido pendiente de NUE-59.Los más relevantes para Pampling (lista no exhaustiva, hay más):
| Template | Cuándo se envía | A quién |
|---|---|---|
| Customer · Account activation | Cuando un cliente nuevo se registra y necesita confirmar su email | Cliente recién registrado |
| Customer · Welcome | Después de confirmar la cuenta | Cliente activado |
| Customer · Password reset | Cuando un cliente solicita recuperar contraseña | Cliente |
| Customer · Account invite | Cuando un admin invita a un usuario | Invitado |
| Customer · Account email update | Cuando un cliente cambia su email | Email antiguo y nuevo |
| Orders · Order confirmation | Justo después de completar un pedido | Cliente comprador |
| Orders · Order edited | Si un admin modifica el pedido | Cliente |
| Orders · Order canceled | Si un pedido se cancela | Cliente |
| Orders · Order refund | Cuando se procesa un reembolso | Cliente |
| Orders · Draft order invoice | Pedido manual creado por admin | Cliente |
| Shipping · Shipping confirmation | Cuando el pedido sale del almacén | Cliente |
| Shipping · Shipping update | Si el tracking cambia | Cliente |
| Shipping · Out for delivery | Cuando el pedido sale a reparto final | Cliente |
| Shipping · Delivered | Cuando el pedido se entrega | Cliente |
| Abandoned cart | Carrito abandonado (Shopify standard) | Cliente que dejó cosas en cesta |
| Gift cards · Gift card issued | Cuando se emite una tarjeta regalo | Destinatario |
| Returns · Return requested / accepted / completed | Estado de devolución | Cliente |
Para ver la lista completa: Shopify Admin → Settings → Notifications.
Cada template tiene un botón "Send test" (o "Enviar prueba" en español) en el editor.
Lo que hace:
Cosas a comprobar al recibir el email de prueba:
https://www.pampling.org/... (en staging) o https://www.pampling.com/... (en prod)?myshopify.com ni awsapprunner.com?Lorem ipsum, "DEV", placeholder o variable sin resolver?Si todo está OK → Save. Si no → corregir antes de guardar.
| Término | Significado |
|---|---|
| Notification template | Plantilla de email transaccional de Shopify |
| Liquid | Lenguaje de plantillas que permite incluir variables y lógica condicional en HTML |
| Variable Liquid | Marcador entre {{ }} que Shopify rellena al enviar el email. Ejemplo: {{ customer.first_name }} |
| Metafield | Variable persistente a nivel de tienda, accesible desde Liquid. Permite tener "constantes" editables sin tocar el template |
| Subject | Asunto del email |
| Body HTML | Contenido del email |
| Send test | Botón que envía una previsualización del template a tu dirección |
| Hardcoded | Valor escrito directamente en el código en lugar de venir de una variable. Algo "hardcoded" no cambia sin tocar el código |
{{ }} ni {% %}.