https://youtu.be/N4n8pALq8D0
Aprenda a salvar todos os dados enviados pelos formulários do Elementor em uma Planilha Google para manter um histórico dos envios que seja fácil para visualizar e compartilhar.
Link da pré-inscrição para meus cursos: https://www.alanrezende.com.br/cursos/
Código utilizado no vídeo:
// Tudo aqui é programado em Apps Script
// https://developers.google.com/apps-script
// esta é a função que é disparada quando o aplicativo da web
// recebe um requisição do tipo GET
// Ex. Uma visita comum
function doGet(e) {
return HtmlService.createHtmlOutput("request received");
}
// esta é a função que é disparada quando o aplicativo da web
// recebe um requisição do tipo POST
// Ex. Quando o Elementor envia dados, é isso o que queremos
function doPost(e) {
// o Parâmetro "e" é um objeto de evento que contém todo o contexto e
// informações necessárias para trabalharmos, é como se fosse uma
// caixinha que chega do correio com todas as informações de quem
// preencheu o formulário no nosso site
if(typeof e !== 'undefined')
// Salva todos os parâmetros na variável parametros
var parametros = e.parameter;
// Seleciona em qual página da planilha os dados deverão ser incluídos
// Esta página precisa existir
var planilha = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Leads");
// Encontra a última linha já preenchida da página
var ultimaLinha = Math.max(planilha.getLastRow(),1);
// Especificamos em qual linha vamos salvar os dados
// I.E. a linha que fica após a última linha já preenchida
var linhaAtual = ultimaLinha + 1;
// Insere uma linha após a última linha encontrada
planilha.insertRowAfter(ultimaLinha);
// Aqui vamos abrir aquela caixinha e separar tudo o que precisamos
// cada um em sua variável, note que no caso do
// WhatsApp juntamos 2 campos independentes para
// ter um número final
var nome = parametros.Nome; // Ex. Alan Rezende
var whatsApp = parametros.DDD + " - " + parametros.WhatsApp; // Ex. 12 - 997871706
var url = parametros["Page URL"]; // Ex. https://alanrezende.com.br/blog
var dataAtual = new Date(); // Ex. 15/01/2020 18:00 será a data em que o sistema recebe os dados
var email = parametros.Email; // Ex. [email protected]
// Vamos aplicar os valores das variáveis em suas respectivas
// linhas e colunas, a linha é sempre a mesma: a última
// e as colunas são especificadas após a linha atual
planilha.getRange(linhaAtual, 2).setValue(dataAtual); // Coluna 2
planilha.getRange(linhaAtual, 5).setValue(email); // Coluna 5
planilha.getRange(linhaAtual, 3).setValue(nome); // Coluna 3
planilha.getRange(linhaAtual, 4).setValue(whatsApp); // Coluna 4
planilha.getRange(linhaAtual, 7).setValue(url); // Coluna 7
// Até aqui as alterações estão com status pendente
// Na linha abaixo as alterações são aplicadas na planilha.
SpreadsheetApp.flush();
// Retorna uma mensagem de sucesso para o remetente
return HtmlService.createHtmlOutput("Requisição recebida com sucesso!");
}
Resolução de Problemas
Se os campos na planilha aparecerem como Undefined você deve verificar os sequintes itens:
- O Label do campo é o que você deve usar no script
- Se ele tiver espaços ou acentos deve ser usado como
parametros['Nome do campo com espaços!'];
- Se ele tiver espaços ou acentos deve ser usado como
- Sempre que o script for atualizado:
- Deve se salvar o script
(Menu arquivo > salvar)
- Uma nova versão deve ser publicada
(Menu publicar > Salvar como aplicativo da web)
, você pode ver como em https://youtu.be/N4n8pALq8D0?t=1327
- Deve se salvar o script
- Os nomes das variáveis definidas como
var nome = ...
ouvar telefone = ...
não podem conter espaços e nem acentos / cedilha e devem ser iguais ao chamar na hora de colocar na coluna. Momento no vídeo https://youtu.be/N4n8pALq8D0?t=1304