Existem algumas situações nas quais o formulário utilizado não dispara a ação de envio (submit) ou dispara de uma maneira que o código de formulário nativo da SharpSpring não reconhece corretamente.

Dentre as situações em que isso acontece, podemos citar as seguintes: uso de Ajax para enviar formulários, uso de scripts de validação antes do envio das informações para a SharpSpring e envios que sejam interrompidos por uma mudança de página.

Este artigo detalha como adicionar uma opção de envio manual ao script de tracking do seu formulário nativo.

Adicionando Envio Manual a Formulários Nativos

O envio manual é necessário para formulários nativos com botões de envio que estejam envolvidos em uma tag <button>

Para adicionar o envio manual a formulários nativos, faça o seguinte:

  1. Adicione um ID ao formulário nativo que será rastreado.
  2. Crie um formulário nativo na SharpSpring.
  3. Copie o código do formulário e coloque em um editor de texto (Atom, Sublime, VSCode, etc.).
  4. No código, altere o 'endpoint' para 'form'.
  5. No código, adicione um parâmetro para o ID do formulário, logo após o 'form'
  6. No código, adicione o código  __ss_noform.push(['submitType', 'manual']); antes da primeira tag </script> de fechamento.
  7. Adicione a seguinte linha ao código que lida com o envio do formulários, após o preenchimento:
__ss_noform.push(['submit', null, '1234io3l-c442-8c9e-1234-9933b6n1gi6s']);

Essa linha de código dispara o envio para a SharpSpring. Por isso, ela não deve rodar no carregamento da página, mas como parte do processo de envio do seu formulário.

Exemplo de código 

A seguir, você pode ver um exemplo de ID do formulário nativo ("myform") e também um exemplo de código completo após todas as edições realizadas:  

Nota: O ID é um atributo da tag de formulário. Isso é necessário para informar ao script do formulátio nativo quais dados do formulário serão extraídos da página.

<script type="text/javascript">
    var __ss_noform = __ss_noform || [];
    __ss_noform.push(['baseURI', 'https://app-2GCK1V3Z33.marketingautomation.services/webforms/receivePostback/WxviTCKbWEDiVzA/']);
    __ss_noform.push(['form', 'myform', '1234io3l-c442-8c9e-1234-9933b6n1gi6s']);
    __ss_noform.push(['submitType', 'manual']);
    </script>
    <script type="text/javascipt" src="https://koi-2GCK1V3Z33.marketingautomation.services/client/noform.js?ver=1.24"><script>

Considerações adicionais

O uso do código 'null' funcionará na maioria das situações, mas se algo precisar acontecer somente após o código terminar de enviar o formulário, este parâmetro pode uma função callback.

__ss_noform.push(['submit', function () {window.location = 'http://mysite.com/thank-you';}, '1234io31-b123-8c8e-1234-9999a3n8g21b']);

Ao usar o código de envio manual, considere o seguinte:

  • O código fornecido deve ser chamado após o script acima ao enviar o formulário.
  • A string final no código fornecido deve ser a mesma string na linha três do script de formulário nativo.
  • O código fornecido precisa ser executado a partir de seu próprio código de envio de formulário e não deve ser executado no carregamento da página.
  • O código fornecido deve ser executado uma vez que qualquer validação para o formulário tenha passado, mas antes que o formulário seja removido da página.


Encontrou sua resposta?