Documentation menu

Geração de códigos de desconto nativos da loja

O MailInApp oferece suporte à geração dinâmica de códigos de desconto nativos da loja para lojas Shopify e WooCommerce conectadas.

Em vez de forçar os compradores por um checkout de terceiros ou cupons públicos genéricos, o MailInApp gera automaticamente códigos de desconto de uso único e restritos ao cliente diretamente na sua loja, no momento do envio — através de dois mecanismos independentes, que um único projeto pode usar juntos, separadamente, ou nenhum dos dois:

Ambos geram os códigos através da mesma conexão de loja subjacente e compartilham a mecânica descrita abaixo; um desconto por produto apenas restringe adicionalmente o código a um único item e mantém seu próprio marcador de período de espera, separado do da oferta em nível de projeto e do de cada outro bloco Produto.


Como funciona

Quando uma campanha ou jornada inclui uma oferta de desconto:

  1. Resolução dinâmica de cliente:
    • Shopify: resolve o ID GraphQL de cliente do destinatário (gid://shopify/Customer/...) via Admin GraphQL antes de gerar o nó de desconto.
    • WooCommerce: restringe o cupom gerado ao endereço de e-mail exato do destinatário usando a API REST do WooCommerce.
  2. De uso único e seguro:
    • Os códigos carregam sufixos criptográficos aleatórios (ex.: MIA-7F3A91B2).
    • Cada código é restrito a um único uso (usage_limit: 1) e vinculado exclusivamente ao endereço de e-mail do destinatário, evitando que o cupom seja vazado em sites de promoções.
  3. Restrição opcional a um produto:
    • Um código gerado para a loja inteira se aplica a qualquer compra. Um restrito a um produto — pelo próprio seletor de Escopo da oferta em nível de projeto, ou pelo desconto por produto de um bloco Produto — fica limitado a apenas esse item: no Shopify via customerGets.items.products.productsToAdd em um GID de produto real, no WooCommerce via o campo product_ids do cupom.
  4. Pré-aplicação no checkout da loja:
    • O link de um código restrito à loja inteira ou ao projeto o aplica no seu checkout genérico (/cart/?coupon=MIA-... no WooCommerce, /discount/MIA-... redirecionando para / no Shopify).
    • O desconto por produto de um bloco Produto, por sua vez, leva o comprador direto de volta à própria página daquele produto, com o código já aplicado (?coupon=MIA-... anexado à URL do produto no WooCommerce; /discount/MIA-...?redirect=<product path> no Shopify) — não à raiz da loja, já que o e-mail o direcionou a um item específico.
  5. Visível antes de o comprador clicar:
    • A tela do Estúdio mostra o mesmo selo de desconto e preço riscado do e-mail enviado e da Visualização ao vivo no momento em que você ativa o desconto por produto de um bloco Produto — sem precisar abrir a Visualização ao vivo para conferir.
    • Para lojas Shopify, um app block opcional de MailInApp discount badge mostra esse mesmo selo diretamente na página do produto ao vivo, para um comprador que clicou a partir do e-mail, antes do checkout — veja Mostrando o desconto na página do seu produto (Shopify) abaixo para a configuração. Não há equivalente no WooCommerce — os cupons do WooCommerce não têm mecanismo para alterar o que a página de um produto exibe.

Mostrando o desconto na página do seu produto (Shopify)

A tela do Estúdio já mostra o selo de desconto e o preço riscado no momento em que você ativa o desconto por produto de um bloco Produto — sem necessidade de configuração. Colocar esse mesmo selo na sua vitrine Shopify ao vivo é uma etapa manual e única por loja, já que o MailInApp nunca edita seu tema automaticamente:

  1. No Shopify Admin, vá em Online Store → Themes e clique em Customize no seu tema ativo (ou em um rascunho).
  2. Mude o seletor de página no topo para uma página de Product.
  3. Clique na seção que mostra o preço/botão de compra — geralmente Product information ou Buy buttons.
  4. Clique em Add block dentro dessa seção (não em "Add section") e escolha MailInApp discount badge em Apps.
  5. Arraste-o para perto do preço, ajuste opcionalmente as cores do selo no painel de configurações, e depois clique em Save.

Se Apps não aparecer no seletor de blocos dessa seção, essa seção ainda não aderiu a app blocks — tente outra seção, ou peça ao desenvolvedor do seu tema para adicionar {"type": "@app"} ao seu schema. A maioria dos temas Online Store 2.0 (Dawn e seus forks) já oferece suporte a isso na seção principal do produto. Requer um tema Online Store 2.0.

O selo permanece invisível em uma visita comum à vitrine por design — ele só é renderizado quando a página do produto carrega com o link assinado que um e-mail real de desconto por produto produz. Então navegar até a página você mesmo não vai mostrá-lo, e nem o Enviar teste (que renderiza o e-mail diretamente e pula a etapa de geração de desconto que assina o link do selo). Para realmente vê-lo, envie de verdade para um destinatário — mesmo que seja só para você — e clique em Comprar agora no e-mail entregue. É uma pré-visualização apenas de exibição, calculada a partir do próprio preço do produto; o desconto real continua se aplicando apenas no checkout, através do código de uso único, de qualquer forma.


Tipos de oferta suportados

  • Desconto percentual: por exemplo, 15% ou 20% de desconto para toda a loja, uma coleção, ou um único produto.
  • Desconto de valor fixo: por exemplo, US$ 10 ou US$ 25 de desconto no valor total do carrinho, ou em um produto.
  • Janelas de expiração: os códigos carregam uma data de expiração calculada automaticamente (por exemplo, 7 ou 14 dias a partir do momento do envio), para reforçar a urgência na loja do comerciante.
  • Períodos de espera da conta: marcadores de período de espera embutidos evitam cupons excessivos para o mesmo contato em múltiplos agendamentos ou projetos — um marcador para a oferta em nível de projeto, e um separado por bloco Produto, então descontar um produto nunca bloqueia o período de espera de outro ou o da oferta em nível de projeto.

Configuração e integração via API

  • Shopify: requer credenciais de loja conectada com o escopo write_discounts (tratado durante a conexão OAuth).
  • WooCommerce: requer uma consumer key e um secret de API REST da loja conectada, com permissões de leitura/escrita.

O desconto por produto de um bloco Produto exige adicionalmente que esse bloco tenha um produto real importado pelo seletor Importar da loja (não uma URL externa digitada à mão) — a geração do código precisa do id numérico do produto na sua própria loja para restringir o código a ele.