Gravity Forms é um construtor de formulários avançado para sites WordPress e pode ser colocado no arquivo functions.php do Wordpress.
Esses formulários podem se integrar aos formulários da SharpSpring.
Este artigo detalha como conectar o Gravity Forms à SharpSpring.
Usuários com acesso:
-
Administradores
Informações Importantes Sobre os Scripts do Formulário Nativo
O script do Formulário nativo fornecido pela SharpSpring não deve ser colocado em sua página. Ele é usado apenas para completar os procedimentos neste artigo.
O script fornecido é usado apenas para referência e não deve estar na página ao conectar o Gravity Forms por meio deste método. O código Wordpress .PHP modificado substitui o que o script do Formulário nativo da SharpSpring normalmente faria. Se ambos forem incorporados, seu formulário não funcionará conforme o esperado.
Antes de Você se Conectar
Os procedimentos neste artigo pressupõem que você já tenha feito o seguinte:
-
Instalado o Gravity Forms no Wordpress
-
Adicionado um Gravity Forms em pelo menos uma página do Wordpress
-
Inserido o código de rastreamento de site em cada página do Wordpress que você deseja rastrear
Lembre-se de que, se você já tiver um Gravity Forms conectado usando a Ferramenta de Integração de Gravity Forms da SharpSpring, será necessário usá-lo para gerar código para novos formulários.
O Gravity Forms Integration Tool gera um bloco de código para cada formulário que você deseja adicionar. Se você fosse usar essa ferramenta para novos formulários, seria necessário remover o código .PHP nos formulários e adicionar dois campos ocultos a cada um dos formulários Gravity.
Criar Formulários Nativos
Antes de conectar o Gravity Forms à SharpSpring, você precisa criar um formulário nativo. Para criar formulários nativos, faça o seguinte:
-
Em uma guia do navegador, efetue login na SharpSpring.
-
Na barra de ferramentas superior da SharpSpring, clique em Conteúdo > Formulários.
-
Clique em Criar formulário.
-
Digite um nome para o formulário no campo A que se destina o seu formulário?
-
Clique no botão de opção Formulário nativo na lista Que tipo de formulário é?
-
Clique no botão de opção de atribuição de lista desejada na lista Todos os novos leads devem ser atribuídos como.
-
Opcionalmente, clique na caixa de seleção Permitir que um registro de um lead ou contato seja criado mesmo que um endereço de e-mail não seja enviado.
-
Clique em Continuar.
O formulário nativo criado abrirá uma página com um código incorporado. Mantenha essa janela de código incorporado aberta. Você precisará do código incorporado posteriormente.
Exemplo de código de formulário nativo
A seguir, é apresentado um exemplo de código de incorporação de formulário nativo. Esteja ciente de que seu código e seus valores individuais serão diferentes do seguinte código de exemplo:
<script type="text/javascript">
var __ss_noform = __ss_noform || [];
__ss_noform.push(['baseURI', 'https://app-3QN7QJRNDE.marketingautomation.services/webforms/receivePostback/MzawMDE1tTA2BQA/']);
__ss_noform.push(['endpoint', 'ea960f18-cd20-4c6c-acab-4e6b6a959260']);
</script>
<script type="text/javascript" src="https://koi-3QN7QJRNDE.marketingautomation.services/client/noform.js?ver=1.24" ></script>
Adicionar o Código Incorporado baseURI ao Gravity Forms
Depois de criar um formulário nativo na SharpSpring, você poderá começar a conectar o Gravity Forms. O processo de conexão requer que você adicione informações do baseURI
e endpoint
nos formulários conectados. Essas informações são provenientes do código incorporado gerado pelo formulário nativo criado na SharpSpring. Para adicionar informações de baseURI
aos Gravity Forms, faça o seguinte:
-
Em outra guia do navegador, efetue login no Gravity Forms.
-
Clique no campo oculto.
-
Clique em Geral.
-
Altere o valor do rótulo do campo para o seguinte:
sharpspring_base_uri
-
Clique em Advanced.
-
Volte para a guia do navegador com o código de incorporação da SharpSpring.
-
Copie o URL na linha do
baseURI
do código de incorporação. -
Volte para a guia do navegador com o Gravity Forms.
-
Cole o URL do
baseURI
copiado no campo de texto Valor Padrão.
Esteja ciente de que as informações endpoint
ainda são necessárias para concluir o processo de conexão.
Nota: Ao copiar o URL do baseURI
, não inclua aspas simples. Para os melhores resultados, torne esses campos ocultos os primeiros campos do formulário.
Adicionar o Código de Incorporação Endpoint ao Gravity Forms
Depois de adicionar informações do baseURI
ao Gravity Forms, você precisará adicionar informações de endpoint
. Essas informações são provenientes do código incorporado gerado pelo formulário nativo criado na SharpSpring. Para adicionar informações do endpoint
aos Gravity Forms, faça o seguinte:
-
Crie outro campo oculto no Gravity Form modificado.
-
Clique no campo oculto.
-
Clique em Geral.
-
Altere o valor do rótulo do campo para o seguinte:
sharpspring_endpoint
-
Clique em Advanced.
-
Volte para a guia do navegador com o código de incorporação da SharpSpring.
-
Copie a sequência alfanumérica de números e hífens na linha de
endpoint
do código incorporado. -
Volte para a guia do navegador com o Gravity Forms.
-
Cole a sequência de
endpoint
copiada no campo de texto Valor Padrão. -
Atualize o Gravity Form modificado.
Notas:
-
Ao copiar a sequência de
endpoint
, não inclua aspas simples.
-
Para os melhores resultados, torne esses campos ocultos os primeiros campos do formulário.
Adicionar o código .PHP ao Gravity Forms
Depois de adicionar informações do baseURI
e do endpoint
ao Gravity Forms, você precisará adicionar o código .PHP no Wordpress.
Há algumas coisas a considerar ao adicionar o código .PHP ao Wordpress, no entanto:
-
Você precisa adicionar o código .PHP apenas uma vez. Se você adicionar esse código para cada formulário, causará vários problemas. Além disso, as principais vantagens de adicionar código ao Wordpress são que você só precisa adicionar o código uma vez sem editá-lo e não modificar o código .PHP de outra forma. Assim, ao adicionar formulários adicionais, você só precisará criar um novo formulário nativo na SharpSpring e adicionar os dois campos ocultos ao seu formulário Gravity.
-
Você deve adicionar o código .PHP a um Child theme do Wordpress, se possível. A modificação do código funciona melhor com um child theme do Wordpress. A modificação de um child theme permite modificar o Wordpress sem interromper sua funcionalidade.
Para modificar o código .PHP do Wordpress, faça o seguinte:
-
Em outra guia do navegador, efetue login no Wordpress.
-
No menu esquerdo, em Aparência, clique em Editor.
-
No menu à direita, clique no arquivo functions.php .
-
Copie e cole o seguinte bloco de código na parte inferior do arquivo functions.php:
add_action( 'gform_after_submission', 'post_to_third_party', 10, 2 );
function post_to_third_party( $entry, $form ){
if ( rgar( $entry, 'status' ) === 'spam' ) {
return false;
}
$body = [];
function dupeCheck($fieldName, $bodyData) {
$cleanLabel = substr(preg_replace("/[^a-zA-Z0-9]+/", "", $fieldName), 0, 24);
for ($x = 0; $x <= 20; $x++) {
if(array_key_exists($cleanLabel, $bodyData)) {
$cleanLabel = $cleanLabel . $x;
} else { break; }
}
return $cleanLabel;
}
$formFields = $form['fields'];
foreach($formFields as $formField):
if($formField['label'] == 'sharpspring_base_uri') {
$base_uri = rgar( $entry, $formField['id']);
$sendToSharpSpring = true;
} elseif($formField['label'] == 'sharpspring_endpoint') {
$post_endpoint = rgar( $entry, $formField['id']);
} elseif($formField['type'] == 'multiselect') {
$fieldNumber = $formField['id'];
$fieldLabel = dupeCheck($formField['label'], $body);
$tempValue = rgar ( $entry, strval($fieldNumber) );
$trimmedValue = str_replace('[', '', $tempValue);
$trimmedValue = str_replace(']', '', $trimmedValue);
$trimmedValue = str_replace('"', '', $trimmedValue);
$body[preg_replace("/[^a-zA-Z0-9]+/", "", $fieldLabel)] = $trimmedValue;
} elseif($formField['inputs']) {
if($formField['type'] == 'checkbox') {
$fieldNumber = $formField['id'];
$fieldLabel = dupeCheck($formField['label'], $body);
$checkBoxField = GFFormsModel::get_field( $form, strval($fieldNumber) );
$tempValue = is_object( $checkBoxField ) ? $checkBoxField->get_value_export( $entry ) : '';
$trimmedValue = str_replace(', ', ',', $tempValue);
$body[preg_replace("/[^a-zA-Z0-9]+/", "", $fieldLabel)] = $trimmedValue;
} elseif($formField['type'] == 'time') {
$fieldNumber = $formField['id'];
$fieldLabel = dupeCheck($formField['label'], $body);
$body[preg_replace("/[^a-zA-Z0-9]+/", "", $fieldLabel)] = rgar( $entry, strval($fieldNumber) );
} else {
foreach($formField['inputs'] as $subField):
$fieldLabel = dupeCheck($subField['label'], $body);
$fieldNumber = $subField['id'];
$body[preg_replace("/[^a-zA-Z0-9]+/", "", $fieldLabel)] = rgar( $entry, strval($fieldNumber) );
endforeach;
} } else {
$fieldNumber = $formField['id'];
$fieldLabel = dupeCheck($formField['label'], $body);
$body[preg_replace("/[^a-zA-Z0-9]+/", "", $fieldLabel)] = rgar( $entry, strval($fieldNumber) );
};
endforeach;
$body['form_source_url'] = $entry['source_url'];
$body['trackingid__sb'] = $_COOKIE['__ss_tk']; //DO NOT CHANGE THIS LINE... it collects the tracking cookie to establish tracking
$post_url = $base_uri . $post_endpoint;
if($sendToSharpSpring) {
$request = new WP_Http();
$response = $request->post( $post_url, array( 'body' => $body ) );
}
}
5. Clique em Salvar.
6. Na guia do navegador Gravity Forms, atualize o formulário.
7. Preencha o formulário.
8. Envie o formulário uma vez.
Importante: Alterações no arquivo functions.php no Wordpress podem resultar no travamento do seu site. Certifique-se de ter acesso ao FTP para fazer backup e reverter para o seu antigo arquivo functions.php, se necessário.
Mapear formulários nativos
Depois de criar um formulário nativo, adicionar o código incorporado do formulário nativo e modificar o arquivo functions.php do Wordpress, você pode mapear os campos no formulário nativo. O mapeamento de campos do formulário fornece à SharpSpring informações sobre o que esses campos de formulário se referem. Para mapear formulários nativos, faça o seguinte:
-
Na guia do navegador com o código incorporado da SharpSpring, clique em Atualizar esta página.
-
Clique no menu suspenso do campo na página Mapeamentos de Campos que aparecer.
-
Selecione a opção que mais se aproxima do campo.
-
Repita conforme necessário para todos os campos do formulário.
-
Clique em Salvar Mapeamentos .
Sempre que você preenche o formulário pela primeira vez, é gerado dados de mapeamento. Como isso, não espere que o lead apareça no sistema antes da primeira entrada. A segunda pessoa que preencher o formulário será importada como lead.
Considerações especiais sobre o Gravity Forms
Ao mapear campos e conectar o Gravity Forms, considere o seguinte:
-
Certos campos não funcionarão. Os campos Upload de arquivos não funcionarão com formulários nativos, incluindo o Gravity Forms.
-
Você pode ver alguns campos que não estão no seu formulário. Por exemplo, se você estiver usando o campo Nome padrão dos Gravity Forms, seu formulário poderá mostrar apenas os campos Nome e Sobrenome. No entanto, esse campo possui opções para incluir outros campos, como Sufixo ou Nome do meio. Ignore o mapeamento desses campos se eles não estiverem no seu formulário. Isso se aplica a qualquer um dos campos do Gravity Forms que contenham vários campos dentro de si. A SharpSpring apenas coleta o que está mapeado.
-
Os nomes dos seus campos aparecerão iguais aos do Gravity Forms, mas quaisquer caracteres não alfanuméricos serão removidos. Por exemplo, se o seu campo Gravity Form for Qual é a sua cor favorita?, a tela de mapeamento mostrará qualeasuacorfavorita. Isso aparece apenas na tela de mapeamento. Depois que o mapeamento é salvo, isso não será visto em outro lugar.
-
O campo form_source_url é sempre incluído e contém o URL a partir do qual o formulário foi preenchido, conforme fornecido pelo Gravity Forms. Se você não deseja gravar isso, pule o mapeamento.
-
Alterar o formulário nativo ou as informações do Gravity Form exigirá remapeamento. Por exemplo, se você alterar o rótulo em um campo do Formulário do Gravity após o mapeamento, será necessário redefinir o mapeamento e remapear o formulário usando o novo nome do campo.
-
Se vários campos no seu formulário tiverem o mesmo rótulo, todas as cópias subsequentes após a primeira terão um número após o nome do campo. Por exemplo, a segunda cópia terá 0 após o nome do campo, seguido por 1 na terceira e assim por diante. Isso pode incluir os campos ocultos e garante que seus dados sejam recebidos se houver um campo oculto com o mesmo nome.
-
Os nomes dos campos mostrarão apenas os primeiros 24 caracteres durante o mapeamento. Isso ajuda a evitar problemas com campos Gravity Forms que têm nomes longos.
-
Os campos do seu formulário devem ter rótulos para serem coletados pela SharpSpring. Se você não quiser que os campos tenham rótulos visíveis, marque os rótulos de campo como ocultos no Gravity Forms.
-
Plugins podem impedir a coleta. SharpSpring pode não ser capaz de coletar campos especiais adicionados ao Gravity Forms por meio de plug-ins adicionais. Alguns plug-ins também podem impedir a coleta de informações dos formulários por completo.
Comentários
0 comentário
Artigo fechado para comentários.