Skip to main content
← Recursos
Shopify Plus10 min de lectura

La mayoría de tiendas Shopify se equivocan en esto — y les cuesta revenue.

Shopify Functions: desbloquea la personalización de tu tienda

Shopify Functions te permiten personalizar descuentos, checkout, envíos y pagos con código serverless dentro de Shopify. Aquí el cuándo, el porqué y el cómo.

Trabajamos típicamente con tiendas Shopify y Shopify Plus con $500k+ en revenue anual.

PorSamuel Noriega
Shopify Functions: desbloquea la personalización de tu tienda

Durante años, personalizar el checkout de Shopify significaba aceptar los defaults o subir a Shopify Plus y editar checkout.liquid. Ese modelo se acabó. Hoy la forma correcta de personalizar Shopify — en cualquier plan, pero especialmente en Plus — son las Shopify Functions.

Si operas una tienda Shopify o Shopify Plus seria, este es uno de los cambios de plataforma más importantes de los últimos cinco años.

¿Qué son las Shopify Functions?

Las Shopify Functions son pequeñas piezas de código serverless que tú (o tus desarrolladores) escriben y que Shopify ejecuta en puntos clave del flujo de tienda y checkout. Corren en la infraestructura de Shopify — no en la tuya — lo que significa que son rápidas, escalables y no añaden ni un milisegundo de latencia al checkout.

Escribes una Function en Rust, JavaScript o TypeScript, la compilas a WebAssembly y la despliegas dentro de una app de Shopify. A partir de ahí, Shopify ejecuta tu código cada vez que ocurre el evento relevante.

Dónde pueden correr las Functions

Áreas actualmente disponibles:

FunciónQué puedes personalizar
DescuentosLógica de descuentos custom (BOGO, por niveles, bundles exclusivos, códigos ocultos)
Validación de Cart & CheckoutBloquear el checkout si el carrito viola reglas
Cart TransformAgrupar, expandir u ocultar line items
Personalización de EnvíoRenombrar, reordenar, ocultar o ordenar métodos de envío
Personalización de PagoRenombrar, reordenar u ocultar métodos de pago
Order RoutingElegir qué ubicación cumple cada artículo
Restricciones de FulfillmentForzar que ciertos items se envíen juntos / separados

Cada Function reemplaza lo que antes requería checkout custom (solo Plus) o una app de tercero que ralentizaba la tienda.

Por qué importa para marcas Shopify Plus

Tres ventajas concretas:

  1. Performance. Las Functions corren en el edge de Shopify — más rápido que cualquier app externa.
  2. Mantenibilidad. La lógica vive como código versionado en tu repo, no en dashboards de apps ni en overrides de checkout.liquid.
  3. Costo. Reemplaza 4–6 apps pagadas con un puñado de Functions. Hemos reducido el stack de apps de clientes en 30–50% migrando a Functions.

Ejemplo real: un descuento VIP oculto

Supón que quieres que clientes VIP logueados reciban 15% de descuento automáticamente, sin código y sin exponer la regla a otros compradores.

Antes de Functions, necesitabas una app de descuentos de tercero (lenta + cuota mensual) o código custom de checkout Plus (caro + solo Plus).

Con una Discount Function toda la lógica son ~40 líneas de Rust:

fn run(input: Input) -> Output {
    let is_vip = input.cart
        .buyer_identity
        .customer
        .as_ref()
        .map(|c| c.has_tag("vip"))
        .unwrap_or(false);

    if !is_vip {
        return Output::no_discount();
    }

    Output::percentage_discount(15.0, "VIP 15%")
}

Despliégala una vez. Cada cliente VIP recibe automáticamente el descuento aplicado a nivel de línea — sin código, sin app, sin checkout.liquid.

Otro ejemplo: ocultar pago express en carritos de alto AOV

Los botones express son geniales para AOV bajo pero un riesgo de conversión cuando el carrito supera $500 y el cliente necesita revisar el envío.

Una Payment Customization Function puede ocultar Apple Pay / Shop Pay cuando cart.total > $500. ~20 líneas de código, sin app.

Cuándo usar una Function vs. una app

Usa una Function cuando:

  • La lógica depende del estado del carrito, cliente u orden.
  • Quieres mantener el checkout rápido.
  • Quieres la lógica versionada en código.
  • De otra forma necesitarías una app pagada para una sola regla.

Usa una app cuando:

  • Necesitas una UI para que personal no técnico configure reglas.
  • La funcionalidad vive fuera del flujo de cart/checkout (reviews, UI de loyalty, upsells post-compra).

Cómo construir y desplegar una Function

El flujo de alto nivel:

  1. Instala Shopify CLI (npm install -g @shopify/cli @shopify/app).
  2. Genera una app: shopify app init.
  3. Genera una Function: shopify app generate extension.
  4. Escribe la lógica en Rust o TypeScript usando los tipos GraphQL auto-generados.
  5. Prueba local con shopify app function run.
  6. Despliega: shopify app deploy — Shopify compila a WASM y la envía.
  7. Activa la Function en el admin (Descuentos → Crear descuento → elige tu Function).

Límites y trade-offs

  • 5 ms de presupuesto de ejecución por llamada. Mantén la lógica acotada — sin llamadas HTTP externas.
  • Máximo 256 KB de WASM compilado.
  • Sin storage mutable dentro de una Function — son funciones puras.

Estas restricciones son lo que las hace rápidas. Lógica más pesada debe correr en un backend normal (o un workflow de Shopify Flow) y escribir el resultado en metafields que la Function lee.

Migrar desde checkout.liquid y Script Editor

Shopify ha deprecado oficialmente checkout.liquid y Script Editor en favor de Functions y el nuevo Checkout Extensibility. Si estás en Plus y aún dependes de cualquiera:

  • Audita cada customización actual en checkout.liquid o Scripts.
  • Mapea cada una a una Function o Checkout UI Extension.
  • Planifica un sprint de migración — Shopify está enforcing el deadline.

Hemos migrado varias marcas Plus. Bien hecho, la nueva arquitectura es más rápida, más barata de mantener y desbloquea features que Scripts nunca pudo.

Reflexiones finales

Las Shopify Functions son el nuevo cimiento de la personalización en Shopify. Toda marca Plus debería tener una pequeña librería de Functions que codifiquen sus reglas únicas de negocio — pricing VIP, lógica B2B, restricciones de fulfillment, reglas regionales, bloqueos de fraude.

Si quieres que nuestro equipo audite tus customizaciones actuales y las migre a Functions, solicita una cotización — desplegamos Functions para marcas Shopify Plus cada semana.

Sigue leyendo

Recursos relacionados