En resumen
- Las funciones son código que Shopify ejecuta en su servidor durante la compra.
- Sirven para descuentos, envíos, pagos, validaciones del carrito y packs.
- Cualquier plan puede usar apps públicas con funciones; las propias requieren Plus.
- Los datos que usa la regla tienen que estar ya en Shopify, normalmente en metacampos.
Shopify Functions es la forma que tiene Shopify de dejar que un desarrollador cambie la lógica interna de la tienda: cómo se calculan los descuentos, qué métodos de envío y de pago ve cada cliente o cuándo se bloquea un carrito. Si tu tienda necesita una regla que el administrador no ofrece, lo más probable es que se resuelva con una función. Aquí explicamos qué son, qué se puede personalizar, qué depende del plan y cuándo tiene sentido programar una propia frente a instalar una app pública.
Qué son las Shopify Functions
Una función es un trozo de código que Shopify ejecuta en sus propios servidores en momentos concretos del proceso de compra. No vive en tu hosting ni se llama desde una URL: Shopify la lanza cuando la necesita, por ejemplo al recalcular el carrito o al mostrar las opciones de envío.
Cada función recibe un paquete de datos en formato JSON (el carrito, el cliente, la dirección) y devuelve una lista de operaciones: aplicar un descuento, ocultar un método de pago, mostrar un error. El desarrollador define qué datos necesita con una consulta, y Shopify solo le pasa eso.
El código se compila a WebAssembly. Shopify ofrece plantillas en Rust y en JavaScript y recomienda Rust cuando los carritos son grandes, porque es el más eficiente. Las funciones se distribuyen siempre dentro de una app, y el comerciante las configura desde el administrador. Un descuento programado con una función, por ejemplo, aparece en la sección de descuentos como un tipo más.
Shopify Functions sustituye a Shopify Scripts, el sistema anterior basado en Ruby, que Shopify retiró en junio de 2026. Si tu tienda dependía de scripts, esa lógica ya tiene que estar en funciones o en apps.
Qué se puede personalizar con funciones
Cada tipo de personalización tiene su propia API. Las principales:
- Descuentos sobre productos, sobre el pedido y sobre el envío, con reglas que el administrador no contempla.
- Opciones de envío: ocultar, renombrar o reordenar métodos según el carrito o la dirección.
- Métodos de pago: ocultar o reordenar formas de pago, por ejemplo el contra reembolso a partir de cierto importe.
- Validaciones del carrito y del checkout, que impiden terminar la compra y muestran un mensaje.
- Transformación del carrito, para agrupar varias líneas en un pack o desplegar un pack en sus componentes.
- Restricciones de preparación y reglas para decidir desde qué ubicación se sirve un pedido.
Shopify añade y cambia APIs con cierta frecuencia, y algunas aparecen marcadas como inestables durante un tiempo. Antes de plantear un desarrollo, revisa en la documentación de Shopify si la API que necesitas está publicada y qué permite.
Cómo se ejecuta una función en el checkout
El recorrido es siempre el mismo, cambie la función o no:
- Cambio en carritoel cliente añade producto o dirección
- Datos de entradaShopify reúne lo que pide la función
- Ejecuciónel código aplica tu regla
- Respuestalista de operaciones a aplicar
- Resultadodescuento aplicado, opción oculta o aviso
De ese funcionamiento salen sus límites. La función trabaja con los datos que Shopify le entrega y, salvo excepciones muy acotadas, no puede consultar servicios externos mientras se ejecuta. Si la regla depende de un dato de tu ERP, ese dato tiene que estar antes en Shopify, normalmente en un metacampo del cliente o del producto. También hay límites de tamaño y de tiempo de ejecución, que se notan con carritos de muchas líneas y con lógica mal planteada.
La configuración de cada función (los importes, los porcentajes o las etiquetas de cliente que activan la regla) suele guardarse en metacampos, para que el equipo de la tienda la cambie sin tocar código.
Qué depende del plan de Shopify
Cualquier tienda, sea cual sea su plan, puede usar apps públicas de la tienda de apps de Shopify que incluyan funciones. La diferencia está en las funciones programadas para una sola tienda: una app personalizada con funciones propias requiere Shopify Plus, y algunas capacidades concretas están reservadas a ese plan.
En la práctica:
- En un plan que no es Plus, la vía habitual es una app pública que ya resuelva la regla, idealmente una que permita configurarla con detalle.
- En Plus, puedes encargar una app personalizada con las funciones exactas que necesita tu operativa.
Las condiciones cambian de vez en cuando, así que confírmalas en la documentación de Shopify para tu plan antes de presupuestar. Si estás valorando el cambio, en cuándo pasar a Shopify Plus repasamos las señales que lo justifican.
Shopify Functions o una app pública
Hay apps públicas de descuentos, de reglas de envío y de validación del carrito construidas sobre funciones. Para reglas comunes, como un descuento por cantidad o la ocultación de un método de pago por país, suelen bastar.
Una función propia compensa cuando:
- La regla depende de datos propios de tu negocio: tarifas por cliente, referencias que no se pueden combinar, mínimos por familia de producto.
- Tienes varias apps de descuentos o de envío que se pisan entre sí.
- La app pública cobra por volumen de pedidos y tu regla es sencilla de programar.
- Necesitas que la lógica sea tuya y no cambie cuando el autor de la app actualiza su producto.
En app, código a medida o funcionalidad nativa tienes el criterio general para decidir entre las tres vías.
Ejemplos de uso en una tienda real
Imagina una tienda que vende a particulares y a profesionales. Con funciones podría:
- Aplicar un descuento escalonado solo a clientes con una etiqueta concreta, leyendo los tramos de un metacampo.
- Ocultar el envío urgente cuando el carrito lleva un producto voluminoso.
- Impedir el pago si un cliente profesional no llega al pedido mínimo, con un mensaje que diga cuánto le falta. Lo ampliamos en la guía de tienda online B2B con tarifas por cliente.
- Ofrecer un pack que en el carrito aparece como una línea y en el almacén llega como sus componentes.
En los cuatro casos, la parte que más tiempo lleva es definir la regla con precisión: qué pasa con los productos rebajados, qué mensaje ve el cliente y qué ocurre si dos reglas coinciden.
Cómo se prueba y se mantiene una función
Una función se desarrolla y se prueba en una tienda de desarrollo antes de instalarla en la tienda real. Shopify guarda un registro de cada ejecución, con los datos que recibió y lo que devolvió, y ese registro es lo primero que hay que mirar cuando un descuento no se aplica como esperabas.
Los descuentos merecen una prueba aparte. Shopify decide qué descuentos se pueden combinar según cómo los configures en el administrador, así que un descuento programado con una función convive con los códigos promocionales y los descuentos automáticos que ya tengas. Además de la regla por separado, prueba las combinaciones que se dan en campaña.
Después del lanzamiento, la función necesita algo de mantenimiento. Las APIs de Shopify se publican por versiones y las antiguas dejan de tener soporte pasado un tiempo, de modo que cada cierto tiempo hay que actualizar la app y volver a pasar las pruebas. Guarda los carritos de ejemplo con su resultado esperado: sirven para comprobar en minutos que la regla sigue haciendo lo mismo.
Qué preparar antes de encargar una función
- La regla escrita con ejemplos de carritos y el resultado esperado en cada uno, incluidos los casos límite.
- El plan de Shopify y las apps instaladas que ya tocan descuentos, envíos o pagos.
- Los datos que necesita la regla y dónde están hoy: etiquetas, metacampos o un sistema externo.
- Quién debe poder cambiar los parámetros sin programador.
- Cómo vas a probarla: una tienda de desarrollo o una copia con productos y clientes reales.
Si quieres que lo revisemos, en funcionalidades Shopify a medida contamos cómo planteamos estos desarrollos, de la regla escrita a la prueba en una tienda de desarrollo.



