Gatilhos personalizados da vitrine
Os gatilhos integrados da loja virtual abrangem os eventos relatados em Shopify. Um Gatilho Personalizado da Loja Virtual abrange tudo o mais que ocorre na sua loja virtual: basta publicar um evento a partir do seu tema com uma linha de JavaScript, e ele se torna um gatilho que você pode usar em Shopify Flow.
O exemplo mais claro é a gaveta do carrinho. O evento de visualização do carrinho de Shopify é acionado na página /cart, e a maioria dos temas modernos nunca navega até lá - em vez disso, eles abrem a gaveta por meio de um efeito de deslizamento. Shopify não reporta nada, portanto nenhum aplicativo consegue detectá-lo. Publicar seu próprio evento quando a gaveta é aberta resolve essa lacuna.
Outras finalidades para as quais as lojas o utilizam:
- Adicionar à lista de desejos ou clicar em “Me avisar”, ações que o site Shopify não registra.
- A abertura de um guia de tamanhos ou de uma política de devoluções, como indicação sobre um produto.
- Uma alteração na variante do seletor, que não constitui uma nova visualização da página (consulte Acionadores de vitrine).
- Qualquer informação que seu tema ou um aplicativo de terceiros já tenha e que Shopify não tenha.
Como funciona
- Crie o gatilho no aplicativo e atribua a ele um nome de evento, por exemplo,
cart_drawer_opened. Assim como todo gatilho de loja virtual, ele precisa da permissão “Acesso ao Comportamento da Loja Virtual”, concedida uma única vez na página “Permissões”. - Copie o trecho de uma linha que o aplicativo mostra e cole-o no seu tema, no local onde isso ocorre. Se você não tiver certeza do que colar ou onde, o site Gerar código de gatilho com IA gera o trecho para o seu tema a partir de uma descrição em linguagem simples.
- Escreva uma transformação se quiser filtrar ou reformular o que será enviado, ou deixe em branco para encaminhar tudo.
- Ative-o e, em seguida, adicione o “Gatilho personalizado da loja virtual” no Fluxo e crie uma ramificação com base no nome do evento.
O trecho de código representa toda a integração do lado do tema:

Shopify.analytics.publish("cart_drawer_opened", {
// anything you want the Flow to receive
itemCount: 3,
total: "129.90"
});Escolha do nome do evento
O nome do evento é o que determina a ramificação do seu fluxo de trabalho no Flow; portanto, escolha um nome fácil de entender e não o altere depois que os fluxos de trabalho já o estiverem utilizando.
Os nomes podem conter letras, números, sublinhados e hífens, devem começar com uma letra ou um número e podem ter até 64 caracteres. O aplicativo transforma o que você digita em um “slug”, de modo que Cart drawer opened se torna cart_drawer_opened.
O nome está associado a um namespace interno, de modo que nunca pode entrar em conflito com um evento do tipo Shopify ou com um gatilho personalizado de webhook com o mesmo nome.
Filtragem e remodelação
Os dados que você passa como segundo argumento chegam ao Flow como o parâmetro output do gatilho. Se isso for tudo o que você precisa, está tudo pronto.
Quando você quiser disparar apenas em alguns casos, ou enviar campos diferentes daqueles publicados pelo tema, crie uma transformação - o mesmo módulo JavaScript usado por Gatilhos personalizados. Retorne um objeto para disparar, retorne null para ignorar:
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,
};
}Como usá-lo em Shopify Flow
Todos os gatilhos personalizados da loja virtual são exibidos no Flow com o mesmo nome: Gatilho personalizado da loja virtual. Adicione-o a um fluxo de trabalho e, em seguida, defina uma condição para que o eventName seja igual ao nome que você escolheu.
É isso que permite que um Flow acione todos os eventos da sua loja virtual. O acionador também contém o nome que você atribuiu a ele no aplicativo e a saída da sua transformação.
Ele é deliberadamente distinto do “Custom Trigger”, que dá suporte ao Gatilhos personalizados baseado em webhooks. Os dois diferem de uma forma que vale a pena conhecer: um “Custom Trigger” de webhook é executado em nossos servidores e é confiável, enquanto um evento de loja virtual depende de o navegador do comprador se conectar ao nosso sistema e do consentimento dele para o uso de análises.
O que não enviar
O segundo argumento da função publish está inteiramente sob seu controle, o que significa que é sua responsabilidade evitar que dados pessoais sejam incluídos nele.
Envie identificadores e informações: IDs de produtos e variantes, quantidades, preços e o nome do que aconteceu. O ID do cliente conectado é adicionado automaticamente quando houver um, portanto, você nunca precisa fornecê-lo manualmente.
Não envie nomes, endereços de e-mail, números de telefone ou endereços postais. Seu fluxo de trabalho pode consultar qualquer uma dessas informações a partir do ID do cliente no Flow; portanto, não há vantagem alguma em incluí-las em um evento da loja virtual, e isso transforma um evento de análise em um evento de dados pessoais.
Isso consome a franquia do meu plano?▾
Sim. Todos os eventos que chegam até nós são contabilizados, inclusive aqueles que sua transformação ignora ao retornar null - a mesma regra de <a href="/pt-br/gatilhos-personalizados">Gatilhos personalizados</a>. Os eventos descartados no navegador por falta de consentimento nunca chegam até nós e nunca são contabilizados.
Como você decide onde o snippet será exibido, você controla o volume diretamente. Um evento de abertura de gaveta ocorre com muito menos frequência do que uma visualização de produto.
Posso publicar o mesmo evento em mais de um lugar?▾
Sim. O que importa é o nome, e não de onde ele foi publicado. Incluir uma informação na carga útil indicando a origem é uma boa ideia se você quiser que o fluxo de trabalho consiga diferenciá-los.
A abertura de duas gavetas conta como um único evento?▾
Não. Os eventos deliberados são mantidos separados, pois a publicação duas vezes geralmente significa que o evento realmente ocorreu duas vezes. Isso difere dos gatilhos integrados, que agrupam as repetições da mesma visualização de página.
Posso alterar o nome do evento mais tarde?▾
Você pode, mas o seu fluxo de trabalho do Flow usa esse nome como filtro; portanto, alterar o nome interrompe a execução desse fluxo de trabalho até que você atualize a condição - e você precisará atualizar o trecho de código no seu tema para que ele corresponda. Considere o nome como fixo assim que um fluxo de trabalho começar a usá-lo.
Como faço para testá-lo antes de colocá-lo no ar na minha loja virtual?▾
A página do gatilho no aplicativo possui um teste que executa sua transformação e aciona seu fluxo de trabalho no Flow, para que você possa acompanhar todo o processo de ponta a ponta sem precisar alterar seu tema. Os testes não consomem sua cota.
Assim que o trecho estiver no seu tema, a página “Histórico de eventos” exibe os eventos reais à medida que eles ocorrem.
Isso funciona nas páginas de finalização de compra?▾
A publicação a partir do código do seu próprio tema abrange a página inicial da sua loja. O processo de finalização da compra é gerado pelo Shopify e não é possível adicionar código do tema a ele; portanto, use os gatilhos integrados “Erro na finalização da compra exibido” e “Código de desconto rejeitado na finalização da compra” nesse caso.
Próximos passos
- Acionadores de vitrine - os gatilhos integrados da loja virtual e como o pixel funciona.
- Gerar código de gatilho com IA - Deixe que a IA escreva o trecho do tema ou a transformação para você.
- Gatilhos personalizados - a mesma ideia para eventos de webhook do tipo Shopify, com confiabilidade do lado do servidor.
- Planos e uso - o que se considera um evento.

