Activadores personalizados de la tienda online

Activadores personalizados de la tienda online

Copiar página

Convierta eventos del tema, como abrir el carrito o añadir a la lista de deseos, en activadores de Shopify Flow con una línea de JavaScript.

Los activadores integrados de la tienda online abarcan los eventos que recoge Shopify. Un activador personalizado de la tienda online abarca todo lo demás que ocurre en su tienda: basta con que publique un evento desde su plantilla con una sola línea de JavaScript, y este se convierte en un activador que puede utilizar en Shopify Flow.

El ejemplo más claro es el panel deslizante del carrito. El evento «cart view» de Shopify se activa en la página /cart, y la mayoría de los temas modernos nunca navegan hasta allí, sino que, en su lugar, abren el panel deslizante mediante un efecto de deslizamiento. Shopify no registra nada, por lo que ninguna aplicación puede detectarlo. Publicar su propio evento cuando se abre el panel deslizante permite subsanar esa carencia.

Otros usos que le dan las tiendas:

  • Añadir un artículo a la lista de deseos o hacer clic en «Avisarme», acciones de las que Shopify no informa.
  • Se ha abierto una guía de tallas o una política de devoluciones, como indicación sobre un producto.
  • Se trata de una variante en el selector, que no supone una nueva vista de la página (véase Condiciones de activación de Storefront).
  • Cualquier dato que su tema o una aplicación de terceros ya conozca y que Shopify no conozca.

Cómo funciona

  1. Cree el activador en la aplicación y asígnele un nombre de evento; por ejemplo, cart_drawer_opened. Al igual que todos los activadores de Tienda online, requiere el acceso a «Storefront Behaviour», que se concede una sola vez en la página «Permisos».
  2. Copie el fragmento de código de una línea que le muestra la aplicación y péguelo en su tema, en el lugar donde se produzca ese problema. Si no está seguro de qué pegar o dónde hacerlo, Generar código de activación con IA le generará el fragmento de código para su tema a partir de una descripción en lenguaje sencillo.
  3. Escriba una transformación si desea filtrar o modificar el contenido que se envía, o déjelo en blanco para reenviar todo.
  4. Actívelo y, a continuación, añada un «Activador de tienda online personalizado» en Shopify Flow y cree una rama en función del nombre del evento.

El fragmento de código representa toda la integración por parte del tema:

El editor de activadores personalizados de la tienda online, con el nombre, el nombre del evento y el fragmento de código que se debe añadir al tema
Un activador de tienda online personalizado: el nombre del evento es el que publica su tema, y el editor le proporciona el fragmento de código que debe copiar.
Publish the event from your themejavascript
Shopify.analytics.publish("cart_drawer_opened", {
  // anything you want the Flow to receive
  itemCount: 3,
  total: "129.90"
});

Denominación del evento

El nombre del evento es el criterio en el que se ramifica su flujo de trabajo de Shopify Flow, por lo que le recomendamos que elija un nombre claro y que no lo modifique una vez que los flujos de trabajo lo estén utilizando.

Los nombres pueden contener letras, números, guiones bajos y guiones; deben comenzar con una letra o un número, y pueden tener hasta 64 caracteres. La aplicación genera un «slug» a partir de lo que escriba, por lo que Cart drawer opened se convierte en cart_drawer_opened.

El nombre se asigna a un espacio de nombres interno, por lo que nunca puede entrar en conflicto con un evento de Shopify ni con un activador personalizado de webhook del mismo nombre.

Filtrado y remodelación

Los datos que se pasan como segundo argumento llegan a Shopify Flow como el output del activador. Si eso es todo lo que necesita, ya ha terminado.

Si desea que se active solo en determinados casos, o enviar campos distintos a los publicados por el tema, cree una transformación - el mismo módulo de JavaScript que utiliza Activadores personalizados - . Devuelva un objeto para activarla, o devuelva null para omitirla:

Only fire for drawers worth acting onjavascript
export async function transform(payload, topic, shop, ctx) {
  // Anything you published is on `payload`.
  if ((payload.itemCount || 0) < 2) return null;

  return {
    itemCount: payload.itemCount,
    total: payload.total,
    // Present only when the shopper is signed in.
    customerId: payload.customerId,
  };
}

Cómo utilizarlo en Shopify Flow

Todos los «Custom Storefront Trigger» aparecen en Flow con el mismo nombre: «Custom Storefront Trigger». Añádalo a un flujo de trabajo y, a continuación, añada una condición en la que «eventName» sea igual al nombre que haya elegido.

Eso es lo que permite que un Shopify Flow active todos los eventos de su tienda online. El activador también incluye el nombre que le ha asignado en la aplicación y el resultado de su transformación.

Se trata de **un **activador personalizado deliberadamente independiente de «Custom Trigger», que da soporte a los eventos de tienda (Activadores personalizados) basados en webhooks. Ambas opciones presentan una diferencia que conviene conocer: un activador personalizado de webhook se ejecuta en nuestros servidores y es fiable, mientras que un evento de tienda online depende de que el navegador del comprador nos envíe la información y de que haya dado su consentimiento para el análisis de datos.

Lo que no debe enviarse

El segundo argumento de la función publish está totalmente bajo su control, lo que significa que es su responsabilidad asegurarse de que no contenga datos personales.

Envíe los identificadores y los datos: los identificadores del producto y de la variante, las cantidades, los precios y el nombre del incidente. El identificador del cliente que ha iniciado sesión se añade automáticamente cuando existe, por lo que nunca tendrá que indicarlo usted mismo.

No envíe nombres, direcciones de correo electrónico, números de teléfono ni direcciones postales. Su flujo de trabajo puede obtener cualquiera de esos datos a partir del identificador de cliente en Shopify Flow, por lo que no se gana nada al incluirlos en un evento de la tienda online; además, hacerlo convierte un evento de análisis en uno que contiene datos personales.

¿Se descuenta de mi saldo del plan?

Sí. Todos los eventos que nos llegan cuentan, incluidos aquellos que su transformación omite al devolver null; se aplica la misma regla que en Activadores personalizados. Los eventos descartados en el navegador por falta de consentimiento nunca nos llegan y nunca cuentan.

Dado que es usted quien decide dónde se inserta el fragmento de código, controla directamente el volumen. Un evento de apertura de cajón se activa con mucha menos frecuencia que una visualización de producto.

¿Puedo publicar el mismo evento desde más de un lugar?

Sí. Lo importante es el nombre, no el lugar desde el que se publica. Incluir información en la Payload que indique su procedencia es una buena idea si desea que el flujo de trabajo pueda distinguirlos.

¿Se considerará un solo suceso el hecho de que se abran dos cajones?

No. Los eventos deliberados se mantienen diferenciados, ya que publicarlos dos veces suele significar que realmente ocurrieron dos veces. Esto difiere de los activadores integrados, que agrupan las repeticiones de una misma visita a la página.

¿Puedo cambiar el nombre del evento más adelante?

Puede hacerlo, pero su flujo de trabajo de Shopify Flow aplica un filtro basado en ese nombre, por lo que, si lo cambia, dicho flujo de trabajo dejará de ejecutarse hasta que actualice la condición; además, deberá actualizar el fragmento de código de su tema para que coincida. Considere que el nombre es fijo una vez que un flujo de trabajo lo utilice.

¿Cómo puedo probarlo antes de que se publique en mi tienda online?

La página del activador en la aplicación incluye una prueba que ejecuta su transformación y activa su flujo de trabajo de Shopify Flow, de modo que pueda observar su ejecución de principio a fin sin modificar su tema. Las pruebas no consumen su cupo.

Una vez que el fragmento de código esté en su tema, la página «Historial de eventos» mostrará los eventos reales a medida que se produzcan.

¿Funciona en las pantallas de pago?

Al publicar desde el código de su propio tema, se muestra la página principal de su tienda online. El proceso de pago se gestiona a través de Shopify y no es posible añadir código del tema en esa página; por lo tanto, utilice en su lugar los activadores integrados «Se ha producido un error en la pantalla de pago» y «Código de descuento rechazado en la pantalla de pago».

Próximos pasos