Formulario de Elementor a hojas de calculo de Google sheets - 2022

  Рет қаралды 8,777

WITO

WITO

Күн бұрын

Aprende como vincular cualquier formulario de Elementor a las hojas de Calculo de Google sheets en menos de 5 minutos. El código esta en el primer comentario ya que KZbin no me dejo ponerlo en la descripción.
Recomendación personal : Ver el video a velocidad 1.5

Пікірлер: 73
@wito9961
@wito9961 3 жыл бұрын
/* Google app-script to utilise Elementor Pro Forms webhook * From : github.com/pojome/elementor/issues/5894 */ var emailNotification = false; /* Change to true to enable email notifications */ var emailAddress = "youremail@email.com"; /* EDIT this to your email */ // DO NOT EDIT THESE NEXT PARAMS var isNewSheet = false; var receivedData = []; /** * this is a function that fires when the webapp receives a GET request * Not used but required. */ function doGet( e ) { return HtmlService.createHtmlOutput( "Yep this is the webhook URL, request received" ); } // Webhook Receiver - triggered with form webhook to published App URL. function doPost( e ) { var params = JSON.stringify(e.parameter); params = JSON.parse(params); insertToSheet(params); // HTTP Response return HtmlService.createHtmlOutput( "post request received" ); } // Flattens a nested object for easier use with a spreadsheet function flattenObject( ob ) { var toReturn = {}; for ( var i in ob ) { if ( ! ob.hasOwnProperty( i ) ) continue; if ( ( typeof ob[ i ] ) == 'object' ) { var flatObject = flattenObject( ob[ i ] ); for ( var x in flatObject ) { if ( ! flatObject.hasOwnProperty( x ) ) continue; toReturn[ i + '.' + x ] = flatObject[ x ]; } } else { toReturn[ i ] = ob[ i ]; } } return toReturn; } // normalize headers function getHeaders( formSheet, keys ) { var headers = []; // retrieve existing headers if ( ! isNewSheet ) { headers = formSheet.getRange( 1, 1, 1, formSheet.getLastColumn() ).getValues()[0]; } // add any additional headers var newHeaders = []; newHeaders = keys.filter( function( k ) { return headers.indexOf( k ) > -1 ? false : k; } ); newHeaders.forEach( function( h ) { headers.push( h ); } ); return headers; } // normalize values function getValues( headers, flat ) { var values = []; // push values based on headers headers.forEach( function( h ){ values.push( flat[ h ] ); }); return values; } // Insert headers function setHeaders( sheet, values ) { var headerRow = sheet.getRange( 1, 1, 1, values.length ) headerRow.setValues( [ values ] ); headerRow.setFontWeight( "bold" ).setHorizontalAlignment( "center" ); } // Insert Data into Sheet function setValues( sheet, values ) { var lastRow = Math.max( sheet.getLastRow(),1 ); sheet.insertRowAfter( lastRow ); sheet.getRange( lastRow + 1, 1, 1, values.length ).setValues( [ values ] ).setFontWeight( "normal" ).setHorizontalAlignment( "center" ); } // Find or create sheet for form function getFormSheet( formName ) { var formSheet; var activeSheet = SpreadsheetApp.getActiveSpreadsheet(); // create sheet if needed if ( activeSheet.getSheetByName( formName ) == null ) { formSheet = activeSheet.insertSheet(); formSheet.setName( formName ); isNewSheet = true; } return activeSheet.getSheetByName( formName ); } // key function where it all happens function insertToSheet( data ){ var flat = flattenObject( data ); var keys = Object.keys( flat ); var formName = data["form_name"]; var formSheet = getFormSheet( formName ); var headers = getHeaders( formSheet, keys ); var values = getValues( headers, flat ); setHeaders( formSheet, headers ); setValues( formSheet, values ); if ( emailNotification ) { sendNotification( data, getSeetURL() ); } } function getSeetURL() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getActiveSheet(); return spreadsheet.getUrl(); } function sendNotification( data, url ) { var subject = "A new Elementor Pro Forms submission has been inserted to your sheet"; var message = "A new submission has been received via " + data['form_name'] + " form and inserted into your Google sheet at: " + url; MailApp.sendEmail( emailAddress, subject, message, { name: 'Automatic Emailer Script' } ); }
@EvandroTapia
@EvandroTapia 2 жыл бұрын
Me funcionó, muchas gracias
@alejandroojeda7792
@alejandroojeda7792 Жыл бұрын
Fija el comentario así los usuarios hayan más facilmente el código
@santiagodurango3438
@santiagodurango3438 Ай бұрын
Dios te bendiga Me sirvió ucho el video, estaba loco tratando de solucionar, gracias!
@plasty82
@plasty82 Жыл бұрын
Lo apliqué y me funcionó perfecto! gracias!
@byroncastellanos2593
@byroncastellanos2593 19 күн бұрын
El mejor tutorial del mundo, mundial
@grozenblat
@grozenblat Жыл бұрын
Espectacular. El mejor tutorial de todo KZbin jajaja. Gracias WITO!
@spencerbce9231
@spencerbce9231 Жыл бұрын
Gracias crack! Los que no encuentran el código, sigan buscando en los comentarios. Ahí está. Solo busquen.
@joel.31
@joel.31 Жыл бұрын
Sos el 1 wito! El código está a lo último en los comentarios, busquen!
@JoseGutierrez-wr1dm
@JoseGutierrez-wr1dm 2 жыл бұрын
Hola! No se muestran en el sheets las fechas y otros valores que me interesaría que se muestren, como puedo hacerlo?
@vanematadeen7742
@vanematadeen7742 Жыл бұрын
muchas gracias por este video, me sirvió muchísimo!!!
@jorgerivera6560
@jorgerivera6560 2 жыл бұрын
Hola, implemente con éxito 2 veces a 2 formularios distintos y me funcionó re bien. He creado un nuevo formulario pero ahora me sale un error, primero me salió la ventana con los permisos hasta ahí bien, luego me llego un correo para aprobar el acceso, el cual aprobé; pero ya no me permitió integrar correctamnete. Habrá alguna actualización? o Puedo duplicar el documento de Google Sheets y cambiar el nombre del formulario si es así como consigo el link para pegarlo en el Webhook del formulario en elementor, muchas gracias
@jetaembcp
@jetaembcp 2 жыл бұрын
Tenga su like, buen hombre. Muchas gracias.
@AlvaroMCZ
@AlvaroMCZ 2 жыл бұрын
Te felicito por tu canal sigue subiendo contenido eres bueno en lo que haces 🤓🤓
@automatizotunegocio8523
@automatizotunegocio8523 2 жыл бұрын
Buen video amigo, tienes un suscriptor nuevo saludos.
@suyenfs
@suyenfs 2 жыл бұрын
¿Hola, como puedo enviar la información a una base de datos externa en vez de la hoja de cálculo?
@luisduranve
@luisduranve Жыл бұрын
el formulario me marca error de webhook al intentar enviar la info, la info llega a mi correo pero no pasa por la webhook
@zaniahparra3687
@zaniahparra3687 4 ай бұрын
Hola Wito, buen día! he usado tu código y me ha funcionado muy bien, muchas gracias! solo que en estás últimas ocaciones, el formulario llega perfectamente a la hoja de cálculo, pero en la página web aparece un mensaje de "Error de envío" Sabes por qué es eso? muchas gracias!
@jorgevivasbcrown
@jorgevivasbcrown 4 ай бұрын
Me esta pasando lo mismo, que puede ser?
@jorgevivasbcrown
@jorgevivasbcrown 4 ай бұрын
ya lograste resolver el problema?
@zaniahparra3687
@zaniahparra3687 4 ай бұрын
@@jorgevivasbcrown No tengo idea 😔
@zaniahparra3687
@zaniahparra3687 4 ай бұрын
@@jorgevivasbcrown No, no sé como, yo no soy programadora. Y tú?
@ilisam
@ilisam 2 жыл бұрын
Mil gracias!!! Funcionó perfecto!! 🙏🏼
@jhonbetancourt1197
@jhonbetancourt1197 2 жыл бұрын
@Oscar Mellado x2
@alexdesupercool2291
@alexdesupercool2291 2 жыл бұрын
Hola, serías tan amable de compartir el código?
@ilisam
@ilisam 2 жыл бұрын
@@alexdesupercool2291 hola Alex! El código ya no me funciona :( lo tuve activo hasta el 20 de febrero
@ilisam
@ilisam 2 жыл бұрын
@Oscar Mellado hola Oscar! El código me dejó de funcionar :( reemplacé el formulario de Elementor por uno de Google Forms que se comunica directo con Google Sheets y lo integré en la web para resolver. Espero te pueda ayudar también!
@ilisam
@ilisam 2 жыл бұрын
@@jhonbetancourt1197 hola! El código me dejó de funcionar :( resolví usando un Google Form (que comunica directo a Google Sheets) e integrando el short code del Google form en la web. Espero te funcione!
@greciaprint
@greciaprint Жыл бұрын
Perdon, sigue siendo vigente este tutorial en cuanto a su efectividad? y que diferencia habria a quien se conecta con zappien de pago?? muchas gracias
@hectorcastillo1455
@hectorcastillo1455 Жыл бұрын
Yo acabo de probarlo y sí funciona, sin ningún costo extra. También uso zappier y creo que una primer diferencia es que no tengo la fecha del lead. Espero encontrar la forma
@greciaprint
@greciaprint Жыл бұрын
@@hectorcastillo1455 voy a probarlo gracias
@walterwir
@walterwir 2 жыл бұрын
Hola estimado👋🏼...y el codigo que mencionas donde esta?
@juanpabloponzioquiroga1871
@juanpabloponzioquiroga1871 Жыл бұрын
Buenas, se puede hacer esto pero con dos paginas web diferentes para que vayan al mismo google sheets?
@veroniquekrause
@veroniquekrause 2 жыл бұрын
Hola Wito, eres un crack! Por casualidad tienes el código para hacer lo mismo pero desde ninja forms? Yo uso Elementor, pero en la web que estoy creando tengo un solo formulario de ninja porque está integrado en un plugin que es la base de la web (Geodirectory). La cosa es que ese formulario termina siendo prácticamente la base de datos. Muchas gracias desde ahorita 🤗
@Nastydesing
@Nastydesing 2 жыл бұрын
Gracias por tu aporte, like y suscripción .
@litefilos
@litefilos Жыл бұрын
Genial, muchas gracias por compartir :)
@ericktorres5413
@ericktorres5413 2 жыл бұрын
Gracias wito funcionó perfecto!
@samanthasouki9466
@samanthasouki9466 Жыл бұрын
Me sirvió, muchas gracias!
@sebastianhormero1421
@sebastianhormero1421 2 жыл бұрын
Men, sos un crack enserio
@Smith-qy5ir
@Smith-qy5ir Жыл бұрын
El codigo del script donde lo encuentro
@terramarrealtor
@terramarrealtor 2 жыл бұрын
hola no me deja abrir la aplicacion me sale direccion invalida. que se puede hacer gracias
@brunoburelli1410
@brunoburelli1410 Жыл бұрын
Excelente video me ayudo mucho, como puedo agregar más correos a la notificación vía mail, muchas gracias🔥
@alexdesupercool2291
@alexdesupercool2291 2 жыл бұрын
Hola Wito, muchas gracias por tu video, donde puedo encontrar el código? Desde ya gracias!
@veroniquekrause
@veroniquekrause 2 жыл бұрын
Lo puso en el primer comentario.
@chuchuqui1
@chuchuqui1 Жыл бұрын
Se puede editar Google sheet con esto?
@alexdesupercool2291
@alexdesupercool2291 2 жыл бұрын
Tienes algun sitio web propio? ElCódigo no está =(
@samuelbalcazar6747
@samuelbalcazar6747 Жыл бұрын
funciona muy bueno
@ricardodelosreyes5307
@ricardodelosreyes5307 Жыл бұрын
Disculpa pero no veo donde tienes el script
@tuviajeenprimeraclase
@tuviajeenprimeraclase 2 жыл бұрын
no dejaste el codigo.. no dices donde descargar o copiar el dicho codigo.. no se ve tan facil como prometes...
@julian-munoz
@julian-munoz 2 жыл бұрын
Hola WITO. Lo he probado con ELEMENTOR FREE y no consigo que funcione. ¿Sabes si es compatible? Saludos.
@wito9961
@wito9961 2 жыл бұрын
Debes colocar el código directamente desde la sección avanzado - custom CSS que solo esta disponible en Elementor Pro
@julian-munoz
@julian-munoz 2 жыл бұрын
Gracias @@wito9961 En Elementor Free se pueden añadir Webhook Actions en Setting > Add Action, pero no existe el apartado Actions After Submit. Y en la zona de Webhook URL aparece solo este texto "Enter the webhook URL where you want to send your Form data after submit e.g. Integrate with Zapier Webhook." (Advanced Data no aparece). Por lo que veo las Add Action en Elementor Free se pueden añadir pero no sirven para este propósito de enlazar con Google Sheets 😞 (a pasar por caja 💸). Por cierto, ¿para poder usar una Google Sheet almacenada en Drive sabes si es necesario disponer de una licencia en Google Workspace (workspace.google.com/intl/es/pricing.html) o no es obligatorio?
@ANDI-M-cx9qv
@ANDI-M-cx9qv Жыл бұрын
@@wito9961 donde esta el código?
@valeriapacheco175
@valeriapacheco175 Жыл бұрын
@@wito9961 Hola no logre que funcione, tengo Elementor Pro y puse el cogido en sección avanzado - custom CSS , y me sale error
@robertodiaz1602
@robertodiaz1602 2 жыл бұрын
Buenisimo tutorial!! preguntas: hay forma de utilizar el mismo script para usar dos formularios diferentes para que me cree otra hoja mas o solo me sirve para crear una sola hoja?, y en vez de mail, hay forma de enviar mensaje a un whatsapp?. desde ya muchas gracias! Abrazo!
@wito9961
@wito9961 2 жыл бұрын
Claro, puedes usarlo en todos los formularios de Elementor que quieras, lo único que recomiendo es que le cambies el nombre al formulario al momento que lo creas en Elementor para que no te confundas
@robertodiaz1602
@robertodiaz1602 2 жыл бұрын
@@wito9961 Genial!! Voy a probar, gracias por la respuesta, saludos
@restaurantesvenezolanosint
@restaurantesvenezolanosint Жыл бұрын
@@wito9961 hola, me ha funcionado perfecto desde que lo implementé... Ahora he creado un segundo formulario para otros usuarios. Use la misma url para que lo vacie en la misma hoja de cálculo y no me agrega la data de ese nuevo formulario. Sabrías decirme por qué?
@Pablo-Torti
@Pablo-Torti 2 жыл бұрын
No encuentro el Código...
@wito9961
@wito9961 2 жыл бұрын
Está en el primer comentario
@alexdesupercool2291
@alexdesupercool2291 2 жыл бұрын
@@wito9961 No está =(
@ltlta
@ltlta 2 жыл бұрын
@@wito9961 Holaaa donde está el codigo?
@joseluisrangelsaavedra7442
@joseluisrangelsaavedra7442 Жыл бұрын
Donde esta el codigo?
@nicolasmaciel172
@nicolasmaciel172 2 жыл бұрын
Serias tan amable de pasarnos el codigo. gracias
@wito9961
@wito9961 2 жыл бұрын
En el primero comentario
@fabiancl25
@fabiancl25 2 жыл бұрын
@@wito9961 no lo veo amigo...
@wito9961
@wito9961 2 жыл бұрын
@@fabiancl25 /* Google app-script to utilise Elementor Pro Forms webhook * From : github.com/pojome/elementor/issues/5894 */ var emailNotification = false; /* Change to true to enable email notifications */ var emailAddress = "youremail@email.com"; /* EDIT this to your email */ // DO NOT EDIT THESE NEXT PARAMS var isNewSheet = false; var receivedData = []; /** * this is a function that fires when the webapp receives a GET request * Not used but required. */ function doGet( e ) { return HtmlService.createHtmlOutput( "Yep this is the webhook URL, request received" ); } // Webhook Receiver - triggered with form webhook to published App URL. function doPost( e ) { var params = JSON.stringify(e.parameter); params = JSON.parse(params); insertToSheet(params); // HTTP Response return HtmlService.createHtmlOutput( "post request received" ); } // Flattens a nested object for easier use with a spreadsheet function flattenObject( ob ) { var toReturn = {}; for ( var i in ob ) { if ( ! ob.hasOwnProperty( i ) ) continue; if ( ( typeof ob[ i ] ) == 'object' ) { var flatObject = flattenObject( ob[ i ] ); for ( var x in flatObject ) { if ( ! flatObject.hasOwnProperty( x ) ) continue; toReturn[ i + '.' + x ] = flatObject[ x ]; } } else { toReturn[ i ] = ob[ i ]; } } return toReturn; } // normalize headers function getHeaders( formSheet, keys ) { var headers = []; // retrieve existing headers if ( ! isNewSheet ) { headers = formSheet.getRange( 1, 1, 1, formSheet.getLastColumn() ).getValues()[0]; } // add any additional headers var newHeaders = []; newHeaders = keys.filter( function( k ) { return headers.indexOf( k ) > -1 ? false : k; } ); newHeaders.forEach( function( h ) { headers.push( h ); } ); return headers; } // normalize values function getValues( headers, flat ) { var values = []; // push values based on headers headers.forEach( function( h ){ values.push( flat[ h ] ); }); return values; } // Insert headers function setHeaders( sheet, values ) { var headerRow = sheet.getRange( 1, 1, 1, values.length ) headerRow.setValues( [ values ] ); headerRow.setFontWeight( "bold" ).setHorizontalAlignment( "center" ); } // Insert Data into Sheet function setValues( sheet, values ) { var lastRow = Math.max( sheet.getLastRow(),1 ); sheet.insertRowAfter( lastRow ); sheet.getRange( lastRow + 1, 1, 1, values.length ).setValues( [ values ] ).setFontWeight( "normal" ).setHorizontalAlignment( "center" ); } // Find or create sheet for form function getFormSheet( formName ) { var formSheet; var activeSheet = SpreadsheetApp.getActiveSpreadsheet(); // create sheet if needed if ( activeSheet.getSheetByName( formName ) == null ) { formSheet = activeSheet.insertSheet(); formSheet.setName( formName ); isNewSheet = true; } return activeSheet.getSheetByName( formName ); } // key function where it all happens function insertToSheet( data ){ var flat = flattenObject( data ); var keys = Object.keys( flat ); var formName = data["form_name"]; var formSheet = getFormSheet( formName ); var headers = getHeaders( formSheet, keys ); var values = getValues( headers, flat ); setHeaders( formSheet, headers ); setValues( formSheet, values ); if ( emailNotification ) { sendNotification( data, getSeetURL() ); } } function getSeetURL() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getActiveSheet(); return spreadsheet.getUrl(); } function sendNotification( data, url ) { var subject = "A new Elementor Pro Forms submission has been inserted to your sheet"; var message = "A new submission has been received via " + data['form_name'] + " form and inserted into your Google sheet at: " + url; MailApp.sendEmail( emailAddress, subject, message, { name: 'Automatic Emailer Script' } ); }
@jessykaexito2572
@jessykaexito2572 2 жыл бұрын
Buenas, disculpa pero el código no está....
@wito9961
@wito9961 2 жыл бұрын
En el primer comentario, KZbin no me dejo pegarlo en la descripción
@AMG8200
@AMG8200 Жыл бұрын
Deslike me apareio un anuncio de terror :(
@alejandrodelhierroschumylo3565
@alejandrodelhierroschumylo3565 Жыл бұрын
donde esta el codigo?
🔥🚀 Conectar formulario de #Elementor con Google Sheets
5:54
Soy Diego Nuñez
Рет қаралды 6 М.
Cómo guardar los formularios de Contact Form 7 en Google Sheets
7:50
Digital Box - Marketing Digital
Рет қаралды 13 М.
How Many Balloons To Make A Store Fly?
00:22
MrBeast
Рет қаралды 168 МЛН
Connect Elementor Form to Google Sheets | Step By Step
15:18
Edan Ben-Atar
Рет қаралды 10 М.
1.Leyendo Datos
10:22
DATOS ESTRATÉGICOS
Рет қаралды 72
Conectar los formularios de Elementor con Google Sheets (hoja de cálculo)
7:21
Comunidad ElemenPros - Elementor & WordPress
Рет қаралды 927
COMPLETE CRUD WEB APPLICATION USING GOOGLE SHEETS #googlesheets
17:41
Formulario Condicional ELEMENTOR Pro
14:12
Studios Johan
Рет қаралды 8 М.