Conectando Gravity Forms
Última atualização: 4 de novembro de 2024
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 com formulários do Lead Gen & CRM.
Conteúdo do Artigo
- Informações Importantes Sobre Scripts de Formulário
- Antes de Conectar
- Criando Formulários de Terceiros
- Adicionando Código de Incorporação baseURI ao Gravity Forms
- Adicionando Código de Incorporação Endpoint ao Gravity Forms
- Adicionando a conexão do WordPress ao Gravity Forms
- Adicionando Código .PHP ao Gravity Forms
- Mapeando Formulários de Terceiros
- Considerações Especiais para Gravity Forms
Administradores | ✓ | |
Gerentes de Empresa | ||
Gerentes de Marketing | ||
Gerentes de Vendas | ||
Vendedores | ||
Vendedores Jr. |
Informações Importantes Sobre Scripts de Formulário
O script de formulário que o Lead Gen & CRM fornece não deve ser colocado em sua página. Ele é usado apenas para completar os procedimentos neste documento.
O script fornecido é usado apenas como referência e não deve estar na página ao conectar Gravity Forms por esse método. O código .PHP modificado do WordPress substitui o que o script de formulário do Lead Gen & CRM normalmente faria. Se ambos estiverem presentes, seu formulário não funcionará como pretendido.
Antes de Conectar
Os procedimentos neste artigo assumem que você fez o seguinte:
- Instalou o Gravity Forms no WordPress
- Adicionou um Gravity Form a pelo menos uma página do WordPress
- Inseriu o código de rastreamento do site em cada página do WordPress que deseja rastrear
Esteja ciente de que se você tiver Gravity Forms existentes que foram conectados usando a Ferramenta de Integração do Gravity Forms do Lead Gen & CRM, você precisará usar a ferramenta para gerar código para novos formulários.
A Ferramenta de Integração do Gravity Forms gera um bloco de código para cada formulário que você pretende adicionar. Se você usar essa ferramenta para novos formulários, precisará remover o código .PHP nos formulários e adicionar dois campos ocultos a cada um de seus Gravity Forms.
Criando Formulários de Terceiros
Antes de conectar o Gravity Forms ao Lead Gen & CRM, você precisa criar um formulário de terceiros. Para criar formulários de terceiros, faça o seguinte:
- Clique em Formulários na barra de ferramentas à esquerda.
- Clique em Criar Formulário.
- Insira um nome para o formulário.
- Clique no botão de opção Formulário de Terceiro e escolha Gravity Forms no menu suspenso.
- Clique no botão de opção apropriado para determinar como os contatos que preenchem o formulário devem ser atribuídos.
- Opcionalmente, clique na caixa de seleção Permitir que um lead ou registro de contato seja criado mesmo que um endereço de e-mail não seja enviado.
Nota: Você pode optar por permitir que um lead ou registro de contato seja criado mesmo que um endereço de e-mail não seja enviado. Marcar essa opção permitirá a criação de registros duplicados, uma vez que o endereço de e-mail é o identificador único no Lead Gen & CRM.
- Clique em Continuar.
- O formulário de terceiros criado abrirá uma página com um código de incorporação. Mantenha esta janela de código de incorporação aberta. Você precisará do código de incorporação mais tarde.
Adicionando Código de Incorporação baseURI ao Gravity Forms
Uma vez que você tenha criado um formulário de terceiros no Lead Gen & CRM, você pode começar a conectar o Gravity Forms. O processo de conexão requer que você adicione informações tanto de baseURI
quanto de endpoint
nos formulários conectados. Essas informações vêm do código de incorporação gerado pelo formulário de terceiros criado no Lead Gen & CRM. Para adicionar informações de baseURI
ao Gravity Forms, faça o seguinte:
- Em outra aba do navegador, faça login no Gravity Forms.
- Crie ou edite um Gravity Form.
- Crie um campo oculto.
- Nota: Para melhores resultados, faça esses campos ocultos os primeiros campos do seu formulário.
- Clique no campo oculto.
- Clique em Geral.
- Altere o valor do r>Label do Campo para o seguinte:
leadgen_base_uri
- Clique em Avançado.
- Retorne à aba do código de incorporação do Lead Gen & CRM.
- Copie a URL na linha
baseURI
no código de incorporação. - Nota: Ao copiar a
baseURI
string, não inclua as aspas simples. - Retorne à aba do Gravity Forms.
- Cole a URL
baseURI
copiada no campo de texto Valor Padrão.
Código de exemplo usado:
Esteja ciente de que as informações de endpoint
ainda são necessárias para completar o processo de conexão.
Adicionando Código de Incorporação Endpoint ao Gravity Forms
Uma vez que você tenha adicionado informações de baseURI
ao Gravity Forms, você precisará adicionar informações de endpoint
. Essas informações vêm do código de incorporação gerado pelo formulário de terceiros criado no Lead Gen & CRM. Para adicionar informações de endpoint
ao Gravity Forms, faça o seguinte:
- Crie outro campo oculto no Gravity Form modificado.
- Nota: Para melhores resultados, faça esses campos ocultos os primeiros campos do seu formulário.
- Clique no campo oculto.
- Clique em Geral.
- Altere o valor do Label do Campo para o seguinte:
leadgen_endpoint
- Clique em Avançado.
- Retorne à aba do código de incorporação do Lead Gen & CRM.
- Copie a string alfanumérica de números e traços na linha
endpoint
no código de incorporação. - Nota: Ao copiar a
endpoint
string, não inclua as aspas simples. - Retorne à aba do Gravity Forms.
- Cole a string
endpoint
copiada no campo de texto Valor Padrão. - Atualize o Gravity Form modificado.
Código de exemplo usado:
Adicionando a conexão do WordPress ao Gravity Forms
Uma vez que você tenha adicionado informações de baseURI
e endpoint
ao Gravity Forms, você precisará habilitar o WordPress para capturá-las, o que requer um código adicional.
A maneira mais simples de fazer isso é fazendo o upload do arquivo do plugin encontrado aqui. Note que isso é oferecido como uma forma de adicionar o código ao WordPress, e os outros passos são necessários, além de copiar o código PHP. Se houver algum problema ao usar este plugin em sua configuração, seu desenvolvedor precisará explorar a adição do código PHP abaixo manualmente.
- Baixe o arquivo zip do plugin anexado a este artigo na parte inferior.
- No WordPress, vá para Plugins e escolha fazer upload de um plugin
- Faça o upload do arquivo zip.
- Visualize seus Plugins no WordPress e habilite este plugin
Se isso causar problemas, ou se você preferir adicionar o código à sua maneira, consulte os passos abaixo. Usando o plugin ou um tema filho, isso evitará que o código seja removido se seu tema atualizar seu arquivo functions.php.
Adicionando Código .PHP ao Gravity Forms
Note que isso é necessário apenas se não estiver usando o plugin, como mencionado acima. Se estiver usando o plugin, prossiga para a seção Mapeando Formulários de Terceiros abaixo.
Há certas coisas a considerar ao adicionar código .PHP ao WordPress, entretanto:
- Você precisa adicionar código .PHP apenas uma vez. Se você adicionar este código para cada formulário, isso causaria uma série de problemas. Além disso, as principais vantagens de adicionar código ao WordPress são que você precisa adicionar o código apenas 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 de terceiros no Lead Gen & CRM e adicionar os dois campos ocultos ao seu Gravity Form.
- Você deve adicionar o código .PHP a um tema filho do WordPress, se possível. Modificar o código funciona melhor com um tema filho do WordPress. Modificar um tema filho permite que você modifique o WordPress sem quebrar sua funcionalidade.
Para modificar o código .PHP do WordPress, faça o seguinte:
- Abra outra nova aba em seu navegador da web.
- Faça login no WordPress nessa aba do navegador.
- Clique em Editor, localizado sob Aparência no menu à esquerda.
- Clique no arquivo functions.php no menu à direita.
- Copie e cole o seguinte bloco de código no final do arquivo functions.php:
Importante: Mudanças no arquivo functions.php no WordPress podem resultar na falha do seu site. Certifique-se de que você tenha acesso FTP para fazer backup e reverter para seu antigo arquivo functions.php se necessário.
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'] == 'leadgen_base_uri' || $formField['label'] == 'sharpspring_base_uri') { $base_uri = rgar( $entry, $formField['id']); $sendToLeadGen = true; } elseif($formField['label'] == 'leadgen_endpoint' || $formField['label'] == 'sharpspring_endpoint') { $post_endpoint = rgar( $entry, $formField['id']); } elseif($formField['label'] == 'support_test') { $support_endpoint = rgar( $entry, $formField['id']); $testMode = true; } 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) ); } elseif($formField['type'] == 'date') { $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']; //NÃO MUDAR ESTA LINHA... ela coleta o cookie de rastreamento para estabelecer rastreamento $post_url = $base_uri . $post_endpoint; if($sendToLeadGen) { $request = new WP_Http(); $response = $request->post( $post_url, array( 'body' => $body ) ); } if($testMode) { $request2 = new WP_Http(); $response2 = $request2->post( $support_endpoint, array( 'body' => $body ) ); $request3 = new WP_Http(); $response3 = $request3->post( $support_endpoint, array( 'body' => $entry ) ); $request4 = new WP_Http(); $response4 = $request4->post( $support_endpoint, array( 'body' => $form ) ); } } ?>
- Clique em Salvar.
- Retorne à aba do Gravity Forms.
- Atualize o formulário.
- Preencha o formulário.
- Envie o formulário uma vez.
Mapeando Formulários de Terceiros
Uma vez que você tenha criado um formulário de terceiros, adicionado código de incorporação de formulário de terceiros e modificado o arquivo functions.php do WordPress, você pode mapear os campos no formulário de terceiros. O mapeamento de campos de formulário fornece ao Lead Gen & CRM informações sobre o que esses campos de formulário referem-se. Para mapear formulários de terceiros, faça o seguinte:
- Retorne à aba do código de incorporação do Lead Gen & CRM.
- Clique em Atualizar esta Página.
- Clique em um menu suspenso de campo na página Mapeamentos de Campos que aparece.
- Selecione a opção que mais se aproxima do campo.
- Repita conforme necessário para cada campo do formulário.
- Clique em Salvar Mapeamentos.
Sempre que você preencher o formulário pela primeira vez, você gerará dados de mapeamento. Assim, não espere que o lead apareça no sistema até após a primeira entrada. A segunda pessoa a preencher o formulário será importada como um lead.
Considerações Especiais para Gravity Forms
Ao mapear campos e conectar Gravity Forms, considere o seguinte:
- Certain fields will not be mappable. Assim como em qualquer formulário que não seja do Constant Contact, certos campos, incluindo o Consentimento GDPR e campos de Upload de Arquivos, não estarão disponíveis para mapeamento.
- 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 do Gravity Forms, seu formulário pode mostrar apenas os campos Primeiro Nome e Último Nome. No entanto, este campo tem opções para incluir outros campos, como Sufixo ou Nome do Meio. Pule 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 múltiplos campos dentro de si. O Lead Gen & CRM coleta apenas 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 campo do seu Gravity Form for Qual é a sua cor favorita?, a tela de mapeamento mostrará Qualéasuacorfavorita. Isso só aparece na tela de mapeamento. Uma vez que o mapeamento é salvo, isso não será visto em nenhum outro lugar.
- O campo form_source_url é sempre incluído e contém a URL de onde o formulário foi preenchido, conforme fornecido pelo Gravity Forms. Se você não quiser registrar isso, pule o mapeamento.
- Alterar informações do formulário de terceiros ou do Gravity Form exigirá remapeamento. Por exemplo, se você alterar o rótulo de um campo do seu Gravity Form após o mapeamento, você precisará redefinir o mapeamento e remapear o formulário usando o novo nome do campo.
- Se vários campos do seu formulário tiverem o mesmo rótulo, todas as cópias subsequentes após a primeira terão um número seguindo o nome do campo. Por exemplo, a segunda cópia terá 0 seguindo o nome do campo, seguida por 1 na terceira, e assim por diante. Isso pode incluir campos ocultos, e isso garante que seus dados sejam transmitidos se houver um campo oculto com o mesmo nome.
- Os nomes dos campos mostrarão apenas os primeiros 24 caracteres ao mapear. Isso ajuda a evitar problemas com campos do Gravity Forms que têm nomes longos.
- Os campos do seu formulário devem ter rótulos para serem coletados pelo Lead Gen & CRM. Se você não quiser que os campos tenham rótulos visíveis, marque os rótulos dos campos como ocultos dentro do Gravity Forms.
- Plugins podem impedir a coleta. O Lead Gen & CRM pode não conseguir coletar campos especiais adicionados ao Gravity Forms por meio de plugins adicionais. Alguns plugins podem impedir a coleta do formulário completamente também.