[{"data":1,"prerenderedAt":446},["ShallowReactive",2],{"blog-google-forms-for-students":3},{"blogData":4,"relatedArticles":148},{"id":5,"title":6,"author":7,"authorImage":8,"authorProfile":9,"coverImg":10,"coverImgAlt":11,"createdAt":12,"description":13,"featured":14,"jsonld":15,"keywords":128,"metaDescription":13,"metaImage":129,"metaTitle":6,"promoPopup":130,"publishedAt":12,"slug":141,"updatedAt":12,"__hash__":142,"body":143,"coverImgWidth":144,"coverImgHeight":145,"readingStats":146},"blog\u002Fblog\u002Fgoogle-forms-for-students.md","How to Use Google Forms for Students: 7 Classroom Uses","Harsh Shah","https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F41fc6df7f8a7952a_harsh-shah.jpg","https:\u002F\u002Flinkedin.com\u002Fin\u002Fharshshahseo","https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F4d4f71855dfa4320_google-forms-for-students-cover.png","Cover art for a guide to using Google Forms with students in the classroom","2026-09-10T00:00:00.000Z","Seven practical ways teachers use Google Forms with students, the settings each one needs, and how to hand a quiz to a class through Google Classroom.",false,[16],{"@context":17,"@graph":18},"https:\u002F\u002Fschema.org",[19,27,31,40,53,84,122],{"@type":20,"@id":21,"url":22,"name":23,"logo":24},"Organization","https:\u002F\u002Fformester.com\u002F#organization","https:\u002F\u002Fformester.com\u002F","Formester",{"@type":25,"url":26},"ImageObject","https:\u002F\u002Fformester.com\u002Flogo.png",{"@type":28,"@id":29,"url":22,"name":23,"publisher":30},"WebSite","https:\u002F\u002Fformester.com\u002F#website",{"@id":21},{"@type":32,"@id":33,"url":34,"name":6,"isPartOf":35,"breadcrumb":36,"inLanguage":38,"description":13,"datePublished":39,"dateModified":39},"WebPage","https:\u002F\u002Fformester.com\u002Fblog\u002Fgoogle-forms-for-students\u002F#webpage","https:\u002F\u002Fformester.com\u002Fblog\u002Fgoogle-forms-for-students\u002F",{"@id":29},{"@id":37},"https:\u002F\u002Fformester.com\u002Fblog\u002Fgoogle-forms-for-students\u002F#breadcrumb","en-US","2026-09-10",{"@type":41,"@id":37,"itemListElement":42},"BreadcrumbList",[43,47,51],{"@type":44,"position":45,"name":46,"item":22},"ListItem",1,"Home",{"@type":44,"position":48,"name":49,"item":50},2,"Blog","https:\u002F\u002Fformester.com\u002Fblog\u002F",{"@type":44,"position":52,"name":6,"item":34},3,{"@type":54,"@id":55,"headline":6,"image":10,"author":56,"publisher":58,"inLanguage":38,"description":13,"datePublished":39,"dateModified":39,"mainEntityOfPage":59,"about":60,"mentions":67,"citation":70},"BlogPosting","https:\u002F\u002Fformester.com\u002Fblog\u002Fgoogle-forms-for-students\u002F#article",{"@type":57,"name":7,"url":9,"image":8},"Person",{"@id":21},{"@id":33},[61],{"@type":62,"name":63,"applicationCategory":64,"url":65,"operatingSystem":66},"SoftwareApplication","Google Forms","BusinessApplication","https:\u002F\u002Fdocs.google.com\u002Fforms\u002F","Web",[68],{"@id":69},"https:\u002F\u002Fformester.com\u002F#software",[71,76,80],{"@type":32,"name":72,"url":73,"publisher":74},"Create & grade quizzes with Google Forms","https:\u002F\u002Fsupport.google.com\u002Fdocs\u002Fanswer\u002F7032287",{"@type":20,"name":75},"Google",{"@type":32,"name":77,"url":78,"publisher":79},"Create a quiz assignment","https:\u002F\u002Fsupport.google.com\u002Fedu\u002Fclassroom\u002Fanswer\u002F9095575",{"@type":20,"name":75},{"@type":32,"name":81,"url":82,"publisher":83},"Publish & share your form with responders","https:\u002F\u002Fsupport.google.com\u002Fdocs\u002Fanswer\u002F2839588",{"@type":20,"name":75},{"@type":85,"@id":86,"mainEntity":87},"FAQPage","https:\u002F\u002Fformester.com\u002Fblog\u002Fgoogle-forms-for-students\u002F#faq",[88,94,98,102,106,110,114,118],{"@type":89,"name":90,"acceptedAnswer":91},"Question","How do I create a Google Form for students?",{"@type":92,"text":93},"Answer","Open forms.google.com, choose Blank form or an Education template, and write the questions. Then set who can respond in Settings. For a graded form, turn on Make this a quiz and set the answer key. Publish it, then share the link or attach it to a Google Classroom assignment.",{"@type":89,"name":95,"acceptedAnswer":96},"Is Google Forms free for students and teachers?",{"@type":92,"text":97},"Yes. Google Forms is free with any Google account, with no limit on forms or responses. Google Classroom, locked mode and grade importing require a Google Workspace for Education account provided by the school.",{"@type":89,"name":99,"acceptedAnswer":100},"Can students fill out a Google Form without a Google account?",{"@type":92,"text":101},"Yes, as long as the form allows it. Leave Limit to 1 response off, avoid File upload questions, and set Collect email addresses to Do not collect or Responder input. If the form uses a school account, also turn off Restrict to users in your domain when people outside the school need to respond.",{"@type":89,"name":103,"acceptedAnswer":104},"How do students submit a Google Form?",{"@type":92,"text":105},"They open the link, answer the questions and click Submit. With a Classroom assignment, they open the form from the assignment page. If Allow response editing is enabled, the confirmation page includes an Edit your response link.",{"@type":89,"name":107,"acceptedAnswer":108},"Can Google Forms grade automatically?",{"@type":92,"text":109},"Yes, in quiz mode. Multiple choice, Checkboxes, Dropdown, Short answer and grid questions can be marked against the answer key as soon as a student submits. Paragraph answers are not automatically graded and need points and feedback in the Responses tab.",{"@type":89,"name":111,"acceptedAnswer":112},"Can students see their score straight away?",{"@type":92,"text":113},"Yes, if Release grades is set to Immediately after each submission. They see the score on the confirmation page, along with whatever you allow under Respondent settings. If you choose Later, after manual review, students see nothing until you release the scores by email.",{"@type":89,"name":115,"acceptedAnswer":116},"Can students change an answer after submitting?",{"@type":92,"text":117},"Only when Allow response editing is turned on in Settings. The confirmation page and confirmation email then include an Edit your response link. For a quiz, leave this setting off.",{"@type":89,"name":119,"acceptedAnswer":120},"How do I stop students cheating on a Google Forms quiz?",{"@type":92,"text":121},"Use locked mode on managed Chromebooks through a Classroom assignment, shuffle the question and option order, set Limit to 1 response and hide correct answers until grades are released. These measures do not stop a student from using a second device, so Google Forms quizzes are better suited to practice than high-stakes exams.",{"@type":62,"@id":69,"url":22,"name":23,"applicationCategory":64,"operatingSystem":66,"offers":123},{"@type":124,"price":125,"priceCurrency":126,"description":127},"Offer","0","USD","Free forever plan, no credit card required","google forms for students,google form for students,google forms for teachers,google forms in the classroom,google forms quiz for students,google forms attendance,google forms for education,google forms assignment",[],{"enabled":131,"id":132,"delaySeconds":133,"eyebrow":134,"heading":135,"text":136,"image":137,"imageAlt":138,"ctaLabel":139,"ctaHref":140},true,"gforms-students-ai",10,"Formester AI Quiz Maker","Turn your notes into a scored quiz","Upload the lesson PDF or type the topic and grade level. The AI writes the questions, the answer key and the points, and grades every attempt.","https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F2f0cfc9f493e908b_formester-ai-build-form.gif","Formester AI generating a complete form from a one-line description","Make my quiz free","https:\u002F\u002Fapp.formester.com\u002Fusers\u002Fsign_up","google-forms-for-students","noK-Q0amwAaP6hRfTA-guCBanJm70VfVT2yfucVGLdg","\n![Cover art for a guide to using Google Forms with students in the classroom](https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F4d4f71855dfa4320_google-forms-for-students-cover.png)\n\n\u003Cp style=\"font-size: inherit;\">Google Forms is a simple way to give students a quiz that grades itself, collect an exit ticket, run a morning check-in, take attendance, or collect a permission slip. Build the form once, turn on quiz mode when you need a score, and share it through Google Classroom or a link.\u003C\u002Fp>\n\n\u003Cp>The tool stays the same for each use. What changes are a few settings: whether the form grades answers, whether it records who responded, whether a student can respond more than once, and what students see after submitting. Get those settings right and the rest is just writing the questions.\u003C\u002Fp>\n\n\u003Cp>This guide covers seven common ways to use Google Forms with students, the settings each one needs, how to build a self-grading quiz, how to hand it out through Google Classroom, and what Google Forms cannot do for a class.\u003C\u002Fp>\n\n\u003Cdiv class=\"tldr\">\n\u003Cp>\u003Cstrong>Quick answer\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Good for:\u003C\u002Fstrong> quizzes with an answer key, exit tickets, check-ins, attendance, permission slips, homework hand-in and end-of-unit feedback. All are free with a Google account.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>How to hand it out:\u003C\u002Fstrong> Use a Google Classroom quiz assignment if your school has Google Workspace for Education. Otherwise, share the responder link or a QR code. Classroom also adds locked mode on managed Chromebooks and grade importing.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What it cannot do:\u003C\u002Fstrong> Google Forms does not have a timer, a random question bank, or locked mode outside a school-managed Chromebook. One response per student and file uploads also require a Google sign-in.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fdiv>\n\n\u003Ch2 id=\"uses\">What can you use Google Forms for with students?\u003C\u002Fh2>\n\n\u003Cp>Seven uses cover most classroom needs. Each one is still a regular Google Form plus one or two important settings. That setting is what makes the form work for the task.\u003C\u002Fp>\n\n\u003Ch3>1. A quiz that grades itself\u003C\u002Fh3>\n\n\u003Cp>Turn on \u003Cstrong>Make this a quiz\u003C\u002Fstrong> in Settings, then set the answer key and points for each question. Google Forms can automatically grade Multiple choice, Checkboxes, Dropdown, Short answer and grid questions as soon as a student submits. Paragraph answers still need to be graded in the Responses tab.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Setting:\u003C\u002Fstrong> The setting that matters is Release grades. Choose Immediately after each submission for practice. Choose Later, after manual review if you want to review written answers before students see their scores. That option requires Collect email addresses to be switched on.\u003C\u002Fp>\n\n\u003Ch3>2. An exit ticket\u003C\u002Fh3>\n\n\u003Cp>Keep it simple: three questions at the end of a lesson. Ask students what they learned, what question they still have, and how confident they feel on a 1-to-5 Linear scale. Keep it short enough to finish before the bell.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Setting:\u003C\u002Fstrong> There is no special setting. Leave quiz mode off. If you want to follow up with a named student, collect their email address. Then check the Summary tab before the next lesson.\u003C\u002Fp>\n\n\u003Ch3>3. A daily check-in\u003C\u002Fh3>\n\n\u003Cp>Use a mood scale, a Multiple choice question about how the week is going, and an optional Paragraph for anything a student wants you to know. You can use the same form every day. Make the title the name of the check-in and use the description to explain who reads the responses.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Setting:\u003C\u002Fstrong> The setting that matters is Collect email addresses. Verified records the school account automatically. Do not collect keeps the responses anonymous. Say which option you are using in the description, because students may answer differently depending on whether their response is tied to them.\u003C\u002Fp>\n\n\u003Ch3>4. Attendance and sign-in\u003C\u002Fh3>\n\n\u003Cp>Create a form with the student's name and a Dropdown for the class or period. Put a QR code on the board so students can open it quickly. Every response has a timestamp, so the connected Sheet can act as the register.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Setting:\u003C\u002Fstrong> Turn on Limit to 1 response if you want to stop students from signing in twice. Keep in mind that this requires a Google sign-in. Link the form to Sheets so the register updates as students submit.\u003C\u002Fp>\n\n\u003Ch3>5. Permission slips and parent information\u003C\u002Fh3>\n\n\u003Cp>Field trip permission, emergency contacts, photo consent and start-of-year information can all use the same basic setup: the student's name, a Checkboxes question for the consents, and a Short answer question for the parent's name as a signature line.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Setting:\u003C\u002Fstrong> Turn on Allow response editing so a parent can correct a phone number later. Set Collect email addresses to Responder input so the confirmation has an address to go to. A typed name is not an e-signature, so check what your school accepts.\u003C\u002Fp>\n\n\u003Ch3>6. Homework and project hand-in\u003C\u002Fh3>\n\n\u003Cp>Use a File upload question so students can attach a document, a photo of their work, or a video. Add a Dropdown for the assignment and a Short answer for the title. The uploaded files go into a Drive folder named after the form.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Setting:\u003C\u002Fstrong> File upload questions require students to sign in to Google, and the files use the form owner's Drive storage, not the student's. Set the file count and size limits on the question.\u003C\u002Fp>\n\n\u003Ch3>7. Course feedback\u003C\u002Fh3>\n\n\u003Cp>At the end of a unit, ask students to rate the pace with a Linear scale, choose what helped most with Multiple choice, and explain what they would change with a Paragraph. Keep it anonymous by default. Students are more likely to write honestly when the form does not identify them.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Setting:\u003C\u002Fstrong> Leave Collect email addresses set to Do not collect and keep Limit to 1 response turned off. Say in the description that the feedback is anonymous.\u003C\u002Fp>\n\n\u003Ch2 id=\"settings\">Settings at a glance\u003C\u002Fh2>\n\n\u003Cdiv class=\"table-wrap\">\n\u003Ctable>\n\u003Cthead>\u003Ctr>\u003Cth>Use\u003C\u002Fth>\u003Cth>Question types\u003C\u002Fth>\u003Cth>Settings to switch on\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>Self-grading quiz\u003C\u002Ftd>\u003Ctd>Multiple choice, Checkboxes, Dropdown, Short answer\u003C\u002Ftd>\u003Ctd>Make this a quiz, answer key and points, Release grades\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Exit ticket\u003C\u002Ftd>\u003Ctd>Short answer, Linear scale\u003C\u002Ftd>\u003Ctd>None. Collect email addresses if you follow up\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Daily check-in\u003C\u002Ftd>\u003Ctd>Linear scale, Multiple choice, Paragraph\u003C\u002Ftd>\u003Ctd>Collect email addresses: Verified or Do not collect\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Attendance\u003C\u002Ftd>\u003Ctd>Short answer, Dropdown\u003C\u002Ftd>\u003Ctd>Limit to 1 response, Link to Sheets\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Permission slip\u003C\u002Ftd>\u003Ctd>Checkboxes, Short answer\u003C\u002Ftd>\u003Ctd>Allow response editing, Collect email addresses: Responder input\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Homework hand-in\u003C\u002Ftd>\u003Ctd>File upload, Dropdown\u003C\u002Ftd>\u003Ctd>Sign-in is automatic. Set file size and count limits\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Course feedback\u003C\u002Ftd>\u003Ctd>Linear scale, Multiple choice, Paragraph\u003C\u002Ftd>\u003Ctd>Do not collect, Limit to 1 response off\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003Ch2 id=\"build\">How do you make a Google Form for students?\u003C\u002Fh2>\n\n\u003Cp>The example below is a short science quiz. A quiz uses most of the settings covered above, plus a few more. If you are making something that is not graded, skip the quiz setup step.\u003C\u002Fp>\n\n\u003Col class=\"steps\">\n\u003Cli>\n\u003Ch3>Start with a Blank form or an Education template\u003C\u002Fh3>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F23766cf53a4e09cf_gforms-st-step1-gallery-blank.gif\" alt=\"The Google Forms template gallery with the Education row of Blank Quiz, Exit Ticket, Assessment, Worksheet and Course Evaluation, then Blank form opening\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Open \u003Ca href=\"https:\u002F\u002Fforms.google.com\" target=\"_blank\" rel=\"noopener\">forms.google.com\u003C\u002Fa> and select \u003Cstrong>Template gallery\u003C\u002Fstrong>. The Education section includes Blank Quiz, Exit Ticket, Assessment, Worksheet and Course Evaluation templates, with the relevant settings already turned on. Blank form starts with one empty question and no special settings enabled.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Ch3>Turn on Make this a quiz\u003C\u002Fh3>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F36095f1b217442a3_gforms-st-step2-make-quiz.gif\" alt=\"Switching on Make this a quiz in the Google Forms Settings tab, which adds Release grades and Respondent settings\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Open \u003Cstrong>Settings\u003C\u002Fstrong> and turn on \u003Cstrong>Make this a quiz\u003C\u002Fstrong>. Each question now has an Answer key link and a points box, and the Responses tab gets a score summary. It is best to do this before writing the questions so you can set the answer key as you go.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Ch3>Write the questions and set the answer key\u003C\u002Fh3>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002Fc94abc98e76d1216_gforms-st-step3-answer-key.gif\" alt=\"Typing a Multiple choice question in Google Forms, opening Answer key, ticking Mercury as correct and setting 2 points\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Add a question, choose \u003Cstrong>Multiple choice\u003C\u002Fstrong>, enter the options, then open \u003Cstrong>Answer key\u003C\u002Fstrong>. Select the correct option and set the points. You can also add answer feedback if you want a student who gets the question wrong to see an explanation or video. Short answer questions can use a list of accepted answers.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Ch3>Choose what students see\u003C\u002Fh3>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F7706d80475eec0d2_gforms-st-step4-release-grades.gif\" alt=\"Choosing Later, after manual review under Release grades and switching off Correct answers and Point values in Google Forms\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Under \u003Cstrong>Release grades\u003C\u002Fstrong>, choose Immediately after each submission or Later, after manual review. Under \u003Cstrong>Respondent settings\u003C\u002Fstrong>, decide whether students can see missed questions, correct answers and point values. For a test, hide all three until you release the grades.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Ch3>Decide who can respond\u003C\u002Fh3>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F0d5a7a284ba3995d_gforms-st-step5-who-responds.gif\" alt=\"The Responses settings in Google Forms with Collect email addresses on Verified and Limit to 1 response switched on\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Under Responses, set \u003Cstrong>Collect email addresses\u003C\u002Fstrong> to Verified so each score is tied to the student's account, and turn on \u003Cstrong>Limit to 1 response\u003C\u002Fstrong>. School accounts can also use Restrict to users in your domain. Keep that setting on for a class and turn it off when parents need access.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Ch3>Publish and hand it out\u003C\u002Fh3>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F884db3967ae39737_gforms-st-step6-publish-link.gif\" alt=\"Publishing the Google Forms quiz and copying the shortened responder link\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Click \u003Cstrong>Publish\u003C\u002Fstrong> and copy the responder link. You can shorten the URL or make a \u003Ca href=\"\u002Fblog\u002Fhow-to-make-a-qr-code-for-a-google-form\u002F\">QR code\u003C\u002Fa> for the board. If your school uses Google Classroom, attach the form to a quiz assignment instead.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\n\u003Ch2 id=\"classroom\">How do you assign a Google Form to students in Google Classroom?\u003C\u002Fh2>\n\n\u003Cp>Google Classroom requires a Google Workspace for Education account provided by the school. With it, a Google Forms quiz becomes an assignment with a due date and two useful options that a plain link does not provide.\u003C\u002Fp>\n\n\u003Cp>In Classroom, open the class, select \u003Cstrong>Classwork\u003C\u002Fstrong>, then \u003Cstrong>Create\u003C\u002Fstrong> and \u003Cstrong>Quiz assignment\u003C\u002Fstrong>. Classroom creates a blank Google Forms quiz and attaches it. Open the attachment to build the quiz, or use Create and Assignment if you already have a form in Drive.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Locked mode on Chromebooks:\u003C\u002Fstrong> Students using school-managed Chromebooks cannot open other tabs while the quiz is open. You also get an email if a student leaves the quiz and comes back. Students on other devices cannot open a locked-mode quiz, so turn it off for classes using mixed devices.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Grade importing:\u003C\u002Fstrong> Turn it on when you create the assignment. After the due date, open the assignment and click \u003Cstrong>Import grades\u003C\u002Fstrong>. The Forms scores are added to the Classroom gradebook. The two sets of grades remain separate, so if you regrade in Forms, import the grades again to update Classroom.\u003C\u002Fp>\n\n\u003Cp>If you are not using Classroom, the responder link works for any student who has the URL. Collect email addresses if you need to identify respondents, and share a shortened link in the class chat.\u003C\u002Fp>\n\n\u003Ch2 id=\"types\">Which question type fits each classroom task?\u003C\u002Fh2>\n\n\u003Cdiv class=\"table-wrap\">\n\u003Ctable>\n\u003Cthead>\u003Ctr>\u003Cth>Task\u003C\u002Fth>\u003Cth>Type\u003C\u002Fth>\u003Cth>Grades itself?\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>One right answer from a list\u003C\u002Ftd>\u003Ctd>Multiple choice or Dropdown\u003C\u002Ftd>\u003Ctd>Yes\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Several right answers\u003C\u002Ftd>\u003Ctd>Checkboxes\u003C\u002Ftd>\u003Ctd>Yes, when every correct option is ticked\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>A word or a number\u003C\u002Ftd>\u003Ctd>Short answer\u003C\u002Ftd>\u003Ctd>Yes, against a list of accepted answers\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>A written explanation\u003C\u002Ftd>\u003Ctd>Paragraph\u003C\u002Ftd>\u003Ctd>No. Points and feedback by hand\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>A row of items to rate\u003C\u002Ftd>\u003Ctd>Multiple choice grid\u003C\u002Ftd>\u003Ctd>Yes, per row\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Confidence or mood\u003C\u002Ftd>\u003Ctd>Linear scale or Rating\u003C\u002Ftd>\u003Ctd>No score, a chart\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>A file\u003C\u002Ftd>\u003Ctd>File upload\u003C\u002Ftd>\u003Ctd>No. Needs a Google sign-in\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>A date or a time\u003C\u002Ftd>\u003Ctd>Date, Time\u003C\u002Ftd>\u003Ctd>No\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003Ch2 id=\"results\">How do you read what students answered?\u003C\u002Fh2>\n\n\u003Cp>The Responses tab has three views. \u003Cstrong>Summary\u003C\u002Fstrong> shows frequently missed questions, a chart for each question with the correct answer marked, and the average, median and range of scores. This is the view to check before the next lesson.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Question\u003C\u002Fstrong> view lets you grade one question across the whole class. You can mark a group of answers correct, give partial points, or add the same feedback to everyone who wrote the same thing.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Individual\u003C\u002Fstrong> view shows one student at a time, with a points box and feedback field under each answer. If grades are set to release later, you can release the score from the top of each response. Select students and click Send emails and release. Linking to Sheets puts every response into a spreadsheet, which can then feed into an \u003Ca href=\"\u002Fblog\u002Fhow-to-turn-google-forms-into-student-assessment-dashboard\u002F\">assessment dashboard\u003C\u002Fa>.\u003C\u002Fp>\n\n\u003Ch2 id=\"limits\">What Google Forms cannot do for students\u003C\u002Fh2>\n\n\u003Cul>\n\u003Cli>\u003Cstrong>No timer:\u003C\u002Fstrong> There is no countdown or per-student time limit. A close date ends the quiz for everyone at once. Per-student timing requires an \u003Ca href=\"\u002Fblog\u002Fhow-to-add-a-timer-to-your-google-quiz-includes-latest-alternative-works-without-add-ons-2023\u002F\">add-on or another tool\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Locked mode is Chromebook-only:\u003C\u002Fstrong> It requires a school-managed Chromebook and a Classroom assignment. On a phone, laptop, or personal Chromebook, the quiz behaves like a normal web page alongside other tabs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>One response needs a sign-in:\u003C\u002Fstrong> Limit to 1 response only works for students signed in to Google. That makes it unsuitable for a class using a shared device or for a parent without a Google account.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No question bank:\u003C\u002Fstrong> Every student gets the same questions. The available randomisation is Shuffle question order in Presentation settings and Shuffle option order on an individual question.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>File uploads use your Drive:\u003C\u002Fstrong> Uploaded files are stored in the form owner's Drive and require the student to sign in. That means a file hand-in form cannot be anonymous.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No partial credit in the answer key:\u003C\u002Fstrong> A Checkboxes question is correct only when every correct option is selected and nothing else is selected. Partial points have to be given manually in Question view.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Ch2 id=\"formester\">Where Formester fits\u003C\u002Fh2>\n\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002Fformester_scored_quiz_builder_7b07c13e2d.jpg\" alt=\"A Cell Biology Mastery Quiz open in the Formester builder with a multiple choice question and the design panel\" loading=\"lazy\">\u003C\u002Fp>\n\n\u003Cp>Formester's \u003Ca href=\"\u002Fai-quiz-maker\u002F\">AI quiz maker\u003C\u002Fa> can create the quiz for you. Enter the topic and grade level, paste in a list of questions, or upload the lesson PDF. It returns the questions, answer key and points, ready for you to edit. True or false questions come out as two-option single-choice questions.\u003C\u002Fp>\n\n\u003Cp>The quiz features also cover several things Google Forms does not: a timer for the whole quiz, negative marking for wrong answers, a pass mark, retakes limited by email or IP address, and the student's score on the thank-you page. Results include a per-question breakdown and show where students dropped off.\u003C\u002Fp>\n\n\u003Cp>Formester does not send grades into Google Classroom or another LMS. You share the quiz by link, QR code, or embed, then view the results in Formester or export them.\u003C\u002Fp>\n\n\u003Cp>For other classroom uses, Formester has \u003Ca href=\"\u002Ftemplates\u002Fcourse-evaluation-form-25364\u002F\">course evaluation\u003C\u002Fa>, \u003Ca href=\"\u002Ftemplates\u002Fattendance-form\u002F\">attendance\u003C\u002Fa>, and \u003Ca href=\"\u002Ftemplates\u002Ffield-trip-permission-form-25285\u002F\">field trip permission\u003C\u002Fa> templates available on the free plan, with no cap on forms or responses.\u003C\u002Fp>\n\n\u003Cdiv style=\"background:linear-gradient(135deg,#7f56d9 0%,#6941c6 100%);padding:32px 28px;margin:36px 0;border-radius:12px;color:#ffffff;font-family:inherit;text-align:center;\">\n\u003Cp style=\"margin:0 0 12px 0;font-size:18px;font-weight:700;color:#ffffff;font-family:inherit;\">A quiz with the answer key written for you\u003C\u002Fp>\n\u003Cp style=\"margin:0 0 20px 0;font-size:14px;line-height:1.55;color:#f4ebff;font-family:inherit;\">Enter the topic or upload your notes, set a timer and pass mark and share the link with the class.\u003C\u002Fp>\n\u003Ca href=\"https:\u002F\u002Fapp.formester.com\u002Fusers\u002Fsign_up\" style=\"display:inline-block;padding:12px 24px;background:#ffffff;color:#6941c6;text-decoration:none;font-weight:700;border-radius:9999px;font-family:inherit;\">Try Formester free\u003C\u002Fa>\n\u003Cp style=\"margin:12px 0 0 0;font-size:13px;color:#e9d7fe;font-family:inherit;\">Free forever &middot; No credit card &middot; 56,000+ teams\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\u003Ch2 id=\"related\">Related reading\u003C\u002Fh2>\n\n\u003Cul>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fhow-to-create-a-quiz-in-google-forms-the-only-guide-youll-need-in-2023\u002F\">How to create a quiz in Google Forms\u003C\u002Fa>, the full quiz setup with feedback and grading.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fhow-to-create-an-auto-submit-quiz-in-google-forms\u002F\">How to make an auto-submit quiz in Google Forms\u003C\u002Fa>, for a quiz that closes itself.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fhow-to-collect-student-registrations-without-spreadsheets\u002F\">How to collect student registrations without spreadsheets\u003C\u002Fa>, for the admin side of a class.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fimprove-teacher-workflow-with-form-automation\u002F\">Form automation for teachers\u003C\u002Fa>, on the follow-ups a form can send by itself.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fhow-to-use-google-forms\u002F\">How to use Google Forms\u003C\u002Fa>, for the builder itself.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fhow-to-link-google-sheets-to-google-forms\u002F\">How to link Google Sheets to Google Forms\u003C\u002Fa>, for the register and the gradebook.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Csection class=\"faq\">\n\u003Ch2 id=\"faq\">Google Forms for students FAQ\u003C\u002Fh2>\n\u003Cdetails>\u003Csummary>How do I create a Google Form for students?\u003C\u002Fsummary>\u003Cdiv>Open forms.google.com, choose Blank form or an Education template, and write the questions. Then set who can respond in Settings. For a graded form, turn on Make this a quiz and set the answer key. Publish it, then share the link or attach it to a Google Classroom assignment.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Is Google Forms free for students and teachers?\u003C\u002Fsummary>\u003Cdiv>Yes. Google Forms is free with any Google account, with no limit on forms or responses. Google Classroom, locked mode and grade importing require a Google Workspace for Education account provided by the school.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Can students fill out a Google Form without a Google account?\u003C\u002Fsummary>\u003Cdiv>Yes, as long as the form allows it. Leave Limit to 1 response off, avoid File upload questions, and set Collect email addresses to Do not collect or Responder input. If the form uses a school account, also turn off Restrict to users in your domain when people outside the school need to respond.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>How do students submit a Google Form?\u003C\u002Fsummary>\u003Cdiv>They open the link, answer the questions and click Submit. With a Classroom assignment, they open the form from the assignment page. If Allow response editing is enabled, the confirmation page includes an Edit your response link.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Can Google Forms grade automatically?\u003C\u002Fsummary>\u003Cdiv>Yes, in quiz mode. Multiple choice, Checkboxes, Dropdown, Short answer and grid questions can be marked against the answer key as soon as a student submits. Paragraph answers are not automatically graded and need points and feedback in the Responses tab.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Can students see their score straight away?\u003C\u002Fsummary>\u003Cdiv>Yes, if Release grades is set to Immediately after each submission. They see the score on the confirmation page, along with whatever you allow under Respondent settings. If you choose Later, after manual review, students see nothing until you release the scores by email.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Can students change an answer after submitting?\u003C\u002Fsummary>\u003Cdiv>Only when Allow response editing is turned on in Settings. The confirmation page and confirmation email then include an Edit your response link. For a quiz, leave this setting off.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>How do I stop students cheating on a Google Forms quiz?\u003C\u002Fsummary>\u003Cdiv>Use locked mode on managed Chromebooks through a Classroom assignment, shuffle the question and option order, set Limit to 1 response and hide correct answers until grades are released. These measures do not stop a student from using a second device, so Google Forms quizzes are better suited to practice than high-stakes exams.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003C\u002Fsection>\n",1200,630,{"text":147},"14 min read",[149,172,268,351],{"title":150,"author":151,"authorImage":152,"authorProfile":153,"coverImg":154,"coverImgAlt":155,"createdAt":156,"description":157,"featured":14,"jsonld":158,"keywords":159,"metaDescription":160,"metaImage":161,"metaTitle":162,"promoPopup":152,"publishedAt":163,"slug":164,"updatedAt":165,"__hash__":166,"body":167,"id":168,"coverImgWidth":169,"coverImgHeight":145,"readingStats":170},"The Best Survey Questions in 2024 (With Examples)","Vivek Badani",null,"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fvivek--badani\u002F","https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002Fthe_best_15_survey_questions_in_2023_with_examples_9ae1543627.png","Cover image for the blog, \"The Best Survey Questions in 2024\"","2024-04-07T10:04:34.284Z","If you want to accelerate your business, you must understand the nerves of your customers. The Survey plays a vital role here.",[],"survey questions examples, survey questions, survey form, types of survey questions, good survey questions, good survey questions examples","Learn How to create effective survey questions with our examples of good survey questionnaire. Formester's article will help you write surveys that get results!",[],"How To Write Good Survey Questions? + Survey Design Tips","2022-08-17T00:00:00.000Z","best-survey-questions","2025-01-22T04:34:06.253Z","7f6n3tyv0S4jup1TkjXYBfAIRF55yXCH52wpsOI8SYo","If you want to accelerate your business, you must understand the nerves of your customers. The Survey plays a vital role here.\n\nSurveys can be used to determine respondents' perspectives and experiences. With analytical data, an accurate survey can provide a blueprint for how to proceed to achieve the goal. This analytical data, which represents the behaviour and opinions of the surveyed census, aids in the development of important strategies.\n\n\n![the-best-survey-question-2022__best-survey-questions.png](https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002Fthe_best_survey_question_2022_best_survey_questions_446cb4ef26.png)\n\nTo ensure the effectiveness of the survey, it is important to determine the survey questions. The quality of the result highly depends upon the types of survey questions you choose.\n\nThis post has a list of the best survey questions to ask, along with some examples, to help you make your own survey.\n\n## Types of Survey Questions\n\n### 1. Demographic Questions\n\nSome of the most effective fundamental survey questions to ask individuals are demographic questions.\n\nBecause [online surveys](\u002Fblog\u002Fseven-assured-ways-to-improve-your-online-surveys\u002F \"Severn assured ways to improve your online surveys\") are not conducted in person, it is sometimes necessary to ask the user obvious questions about themselves for data collection. You can add\n\n* What is your age\u002Fdate of birth?\n* What is your gender, ethnicity, or religion?\n* What is your educational qualification?\n* Tell us your current employment status and monthly income.\n* Where is your residence? (Street no., city, state, country)\n* Tell us your marital status.\n\nBut some of these questions can be hard to answer. Therefore, you should request to reply to these questions. Only ask for what you really need.\n\n### 2. Likert Scale Questions\n\nLikert scales are great for many online surveys. You've probably encountered \"agree or disagree\" questions. These questions are classified as matrix questions or Likert scale questions.\n\nA balanced Likert scale includes a series of questions with 3–4 balanced responses from which users can choose. Some Likert scale questions are as follows:\n\nThis company makes an effort to provide superior customer service. Please rate our products' quality on a scale of 1-10.\n\nYou can choose multiple-choice questions. This simplifies answer choices as the answer options are pre-made. Completing the survey is easier.\n\nAlternatively, you can use multiple choice images. These are multiple choice questions with graphic images. They are easy to create and attract users' engagement.\n\n## How to Write Good Survey Questions?\n\nYou can create an online survey to learn about your products and services. A survey template can help you if you are puzzled about how to make a survey sample. There are many online survey templates available.\n\nHere are some tips for writing a good survey question:\n\n* **Specify your questions:** To get useful data from users, you should be as precise and specific as possible. This will help them to be honest and provide more information.\n* **Clarify your motives:** Be direct to keep visitors' attention.\n* **Don't insist on users answering the questions:** Choose your survey questions carefully to avoid losing users who don’t want to share their secrets.\n* **Use closed-ended questions:** On longer surveys, like multi-step ones, try to limit open-ended questions to 1–5.\n* **Avoid duplicating questions:** Ask a variety of questions to maximize the respondent's time.\n\n## Best Practices for Survey Form Design\n\nEffective survey design requires a good understanding and using best practices. Here are some survey tips:\n\n### Be specific\n\nAvoid industry jargon when writing survey questions. It will help people to understand and answer accordingly. Conversational, casual questions are key to getting data. Ask direct questions. Confusing questions can misguide users. If they don't understand the question, they may avoid your form or answer.\n\n### Try to keep your survey short\n\nYour survey should be short and to the point. People get bored with surveys after 5 minutes or 15 questions.\n\n### Survey fatigue\n\nIf you want to improve contact form conversions, don't expect users to answer long surveys the same way they would a short one. Longer surveys lead to less time per question. If your survey has 5 questions, users will focus more on each than if it has 30. A limited number of questions is a good practice to maximize your survey’s results.\n\n### Be mindful of your audience\n\nSurvey fatigue occurs when survey participants become bored and answer carelessly.\n\n### Make it as simple as possible\n\nIf you're creating a patient satisfaction survey for a medical practice, start with booking appointments and work backwards. These principles help create an effective survey report.\n\n### Limit options\n\nThe best survey questions are closed-ended, and consist of pre-populated checkboxes, multiple-choice, and rating scales. This will improve the quality of your data and make it easier to read, and you'll get more survey completions. Adding a Likert scale question is also beneficial.\n\n### Randomize survey questions\n\nAccording to experts, when given two choices, people tend to pick the first one, regardless of how they feel. Therefore, to avoid order bias, randomize multiple-choice survey questions.\n\nIf you add an open-ended question at the end of the survey so people can elaborate on their answers, this will lengthen the survey. Don’t forget this essential tip.\n\n### Ask personal questions later\n\nConsider writing survey questions as a conversation. Ask personal and demographic questions last in your survey. Many researchers had success using conversational forms to get the necessary data.\n\n### Offer a bonus\n\nOffer an incentive to get more users to take your survey. It can be a gift voucher, scratch card or even short-term access to an online tool.\n\n### If your survey form is long, try these tips:\n\nUse a password to protect your form and make it available only to those who really want to take it. These forms are made to gather data from a small group, like employees or students, etc.\n\n* Be clear about the length and duration of your survey.\n* Keep matrix questions short so users don't repeat answers.\n* Conditional logic shows or hides questions based on user answers.\n* Properly outline your survey form\n\nFirst, outline your survey. Survey Design Methodology advises creating a logical survey. Consider the overall structure, number of questions, order, and flow of topics. Stick with a survey design that flows well to avoid choppy questions.\n\n## Creating Survey Forms is Easier with Formester\n\nCreating a survey form isn’t just about planning your survey questions as per the requirements. To maximize your response rate, you need to create survey forms that not only engage the user with the look and feel, but also perform the required task of data collection efficiently and seamlessly. [Formester](\u002F) is a one-stop solution for all your [survey form creation](\u002Fblog\u002Fbuilding-your-first-form-with-formester\u002F \"Building your first form with formester\") needs. Whether you want to create a standalone online form or an embedded form for your website, the platform caters to all your needs. Additionally, collecting data and building HTML form backend can be done in a jiffy with Formester.\n","blog\u002Fblog\u002Fbest-survey-questions.md",1214,{"text":171},"6 min read",{"title":173,"author":174,"authorImage":152,"authorProfile":175,"coverImg":176,"coverImgAlt":177,"createdAt":178,"description":179,"featured":14,"jsonld":180,"keywords":255,"metaDescription":201,"metaImage":256,"metaTitle":257,"promoPopup":152,"publishedAt":258,"slug":259,"updatedAt":260,"__hash__":261,"body":262,"id":263,"coverImgWidth":264,"coverImgHeight":265,"readingStats":266},"Jotform Review 2026: Pricing, Pros + Cons","Harish Kumar","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fharish-kumar2424\u002F","https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002Fjotform_review_24a7f67609.png","Jotform 2026 review with pros, cons, pricing, and alternatives","2026-07-15T02:31:54.693Z","Hands-on Jotform review in 2026. Full breakdown of pricing tiers ($34\u002F$39\u002F$99\u002Fmo + Enterprise), editor UX, 20,000+ template library, HIPAA add-on flow, real-world use cases, honest weaknesses, and when Formester is the better pick.",[181,183,191,196,204,247],{"@context":17,"@id":21,"url":22,"logo":182,"name":23,"@type":20},{"url":26,"@type":25},{"@context":17,"@id":184,"url":185,"name":173,"@type":32,"headline":186,"isPartOf":187,"breadcrumb":188,"inLanguage":38,"dateModified":190,"datePublished":190},"https:\u002F\u002Fformester.com\u002Fblog\u002Fjotform-review\u002F#webpage","https:\u002F\u002Fformester.com\u002Fblog\u002Fjotform-review\u002F","Jotform Review 2026: The Honest Take After 30 Days",{"@id":21},{"@id":189},"https:\u002F\u002Fformester.com\u002Fblog\u002Fjotform-review\u002F#breadcrumb","2026-07-15",{"@context":17,"@id":189,"@type":41,"itemListElement":192},[193,194,195],{"item":22,"name":46,"@type":44,"position":45},{"item":50,"name":49,"@type":44,"position":48},{"item":185,"name":186,"@type":44,"position":52},{"@context":17,"@id":197,"@type":198,"image":176,"author":199,"headline":173,"publisher":200,"description":201,"dateModified":202,"datePublished":190,"mainEntityOfPage":203},"https:\u002F\u002Fformester.com\u002Fblog\u002Fjotform-review\u002F#article","Article",{"url":175,"name":174,"@type":57},{"@id":21},"Honest Jotform review after 30 days: pricing tiers, editor UX, template library, HIPAA add-on, pros \u002F cons, and when Formester wins instead.","2026-07-19",{"@id":184},{"@context":17,"@id":205,"@type":85,"mainEntity":206},"https:\u002F\u002Fformester.com\u002Fblog\u002Fjotform-review\u002F#faq",[207,211,215,219,223,227,231,235,239,243],{"name":208,"@type":89,"acceptedAnswer":209},"Is Jotform worth the money?",{"text":210,"@type":92},"For teams needing feature depth + HIPAA at the cheapest price + widest payment gateway support, yes. For teams needing modern UX + unlimited responses on free + AI generation from multiple inputs, Formester or Fillout are better value.",{"name":212,"@type":89,"acceptedAnswer":213},"How much does Jotform really cost?",{"text":214,"@type":92},"Bronze at $34\u002Fmonth (billed annually) is the entry paid tier, but most serious workflows land on Silver ($39\u002Fmonth, 2,500 submissions\u002Fmo) or Gold ($99\u002Fmonth, HIPAA-eligible with BAA add-on, 10,000 submissions\u002Fmo). Enterprise pricing is custom and depends on user count.",{"name":216,"@type":89,"acceptedAnswer":217},"Is Jotform HIPAA-compliant?",{"text":218,"@type":92},"Yes, on Gold plan and above ($99\u002Fmonth) with a signed BAA add-on. Bronze and Silver do not include HIPAA. The BAA add-on requires an additional annual fee (contact Jotform for current pricing).",{"name":220,"@type":89,"acceptedAnswer":221},"Can I use Jotform for free forever?",{"text":222,"@type":92},"Yes, on the free plan (5 forms, 100 submissions\u002Fmonth, Jotform branding on every form). Free plan is permanent, not a trial.",{"name":224,"@type":89,"acceptedAnswer":225},"How does Jotform compare to Google Forms?",{"text":226,"@type":92},"Jotform is a paid product with more features, more templates, and more integrations. Google Forms is free with unlimited responses but very limited design and no payment collection.",{"name":228,"@type":89,"acceptedAnswer":229},"Can I embed Jotform on my WordPress site?",{"text":230,"@type":92},"Yes. Multiple embed modes: iframe, JavaScript widget, lightbox, feedback tab, and shareable link. Works on any CMS.",{"name":232,"@type":89,"acceptedAnswer":233},"Does Jotform have a mobile app?",{"text":234,"@type":92},"Yes. Jotform Mobile Forms (iOS + Android) for offline data collection. Sync when signal returns.",{"name":236,"@type":89,"acceptedAnswer":237},"How many payment gateways does Jotform support?",{"text":238,"@type":92},"40+ natively, including Stripe, PayPal, Square, Authorize.Net, Braintree, 2Checkout, and 25+ international gateways.",{"name":240,"@type":89,"acceptedAnswer":241},"Does Jotform have AI form generation?",{"text":242,"@type":92},"Yes, shipped 2024. Prompt-based only. Type a description, get a form. Does not support PDF upload or question list input (Formester does).",{"name":244,"@type":89,"acceptedAnswer":245},"Is Jotform secure?",{"text":246,"@type":92},"Yes. SOC 2 Type II, GDPR-compliant, TLS 1.3 in transit, AES-256 at rest, HIPAA available on Gold plan and above with BAA.",{"@context":17,"@id":69,"url":22,"name":23,"@type":62,"publisher":248,"aggregateRating":249,"operatingSystem":66,"applicationCategory":64},{"@id":21},{"@type":250,"bestRating":251,"ratingCount":252,"ratingValue":253,"worstRating":254},"AggregateRating","5","11","4.7","1","jotform review, jotform pricing, is jotform good, jotform features, jotform alternative",[],"Jotform Review 2026: Pricing, Pros + Cons | Formester","2026-07-23T09:24:18.828Z","jotform-review","2026-07-23T09:53:09.453Z","-JM1bz7i792ZOSlSTto6RdoE1dR32cR_Bq6mECfiY8U","![Jotform 2026 review with pros, cons, pricing, and alternatives](https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002Fjotform_review_24a7f67609.png)\n\n\u003Ch2>The 60-second verdict\u003C\u002Fh2>\n\n\u003Cp style=\"font-size: inherit;\">\u003Cstrong>What Jotform is:\u003C\u002Fstrong> The largest general-purpose SaaS form builder by review count (5,321 on G2). $34 to $99 per month across tiers, plus Enterprise. HIPAA available on Gold plan and above with a signed BAA add-on. 20,000+ pre-built templates, 40+ payment gateways, native mobile app for offline capture.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>What it gets right:\u003C\u002Fstrong> Deepest template library on the market, widest payment gateway support, HIPAA available on Gold ($99\u002Fmonth) with a signed BAA add-on, native offline mobile app for online \u002F offline capture.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>What it gets wrong:\u003C\u002Fstrong> Dense UI with a steeper learning curve than newer builders, free plan cuts off at 100 submissions\u002Fmonth (fills fast), template search relevance is thin (20,000 sounds great but hard to find the right one), and AI form generation only supports prompt input (not PDF or question list).\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Bottom line:\u003C\u002Fstrong> If you need feature depth + HIPAA at the cheapest price point + widest payment gateway support, Jotform is the right pick. If you want a modern editor, unlimited responses on free, or AI generation from more than a prompt, look at \u003Ca href=\"https:\u002F\u002Fformester.com\u002F\">Formester\u003C\u002Fa> or Fillout.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>G2 rating:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.g2.com\u002Fproducts\u002Fjotform\u002Freviews\">4.7\u002F5 (5,321 reviews)\u003C\u002Fa>\u003C\u002Fp>\n\n\n\u003Ch2>What Jotform is (and isn't)\u003C\u002Fh2>\n\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002Fshot_jf_home_03ae07bef0.png\" alt=\"Jotform homepage hero screenshot\" style=\"width:100%;max-width:900px;height:auto;border-radius:8px;border:1px solid #e5e7eb;margin:16px 0;\" loading=\"lazy\" \u002F>\u003C\u002Fp>\n\n\n\n\u003Cp>Jotform is a \u003Cstrong>SaaS form builder\u003C\u002Fstrong>, hosted, with a browser-based editor and mobile apps for iOS and Android. Founded in 2006, it's one of the most mature products in the category.\u003C\u002Fp>\n\n\u003Cp>Distinctions:\u003C\u002Fp>\n\n\u003Cul>\n\u003Cli>\u003Cstrong>Not a WordPress plugin\u003C\u002Fstrong> (that's Gravity Forms or WPForms).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Not a research tool\u003C\u002Fstrong> (that's SurveyMonkey Enterprise or Alchemer).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Not a form endpoint for developers\u003C\u002Fstrong> (that's Formspree).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Not a document workflow tool\u003C\u002Fstrong> (that's PandaDoc or Formstack).\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Cp>It's a general-purpose form builder with depth in templates, integrations, and compliance.\u003C\u002Fp>\n\n\n\u003Ch2>Pricing: 4 tiers, all monthly (with annual discounts)\u003C\u002Fh2>\n\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002Fshot_jf_pricing_98ee499159.png\" alt=\"Jotform pricing page screenshot\" style=\"width:100%;max-width:900px;height:auto;border-radius:8px;border:1px solid #e5e7eb;margin:16px 0;\" loading=\"lazy\" \u002F>\u003C\u002Fp>\n\n\n\n\u003Cp>Prices below are the per-month rate on annual billing (Jotform's default view). Month-to-month billing runs roughly 20 to 30 percent higher on every tier.\u003C\u002Fp>\n\n\u003Cdiv class=\"table-wrap\">\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\u003Cth>Plan\u003C\u002Fth>\u003Cth>Price (billed annually)\u003C\u002Fth>\u003Cth>Forms\u003C\u002Fth>\u003Cth>Submissions\u002Fmo\u003C\u002Fth>\u003Cth>Storage\u003C\u002Fth>\u003Cth>Users\u003C\u002Fth>\u003Cth>HIPAA\u003C\u002Fth>\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>\u003Cstrong>Free (Starter)\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>$0\u003C\u002Ftd>\u003Ctd>5\u003C\u002Ftd>\u003Ctd>100\u003C\u002Ftd>\u003Ctd>100 MB\u003C\u002Ftd>\u003Ctd>1\u003C\u002Ftd>\u003Ctd>No\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Cstrong>Bronze\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>$34\u002Fmo\u003C\u002Ftd>\u003Ctd>25\u003C\u002Ftd>\u003Ctd>1,000\u003C\u002Ftd>\u003Ctd>1 GB\u003C\u002Ftd>\u003Ctd>1\u003C\u002Ftd>\u003Ctd>No\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Cstrong>Silver\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>$39\u002Fmo\u003C\u002Ftd>\u003Ctd>50\u003C\u002Ftd>\u003Ctd>2,500\u003C\u002Ftd>\u003Ctd>10 GB\u003C\u002Ftd>\u003Ctd>1\u003C\u002Ftd>\u003Ctd>No\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Cstrong>Gold\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>$99\u002Fmo\u003C\u002Ftd>\u003Ctd>100\u003C\u002Ftd>\u003Ctd>10,000\u003C\u002Ftd>\u003Ctd>100 GB\u003C\u002Ftd>\u003Ctd>1\u003C\u002Ftd>\u003Ctd>Yes (BAA add-on)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Cstrong>Enterprise\u003C\u002Fstrong>\u003C\u002Ftd>\u003Ctd>Custom\u003C\u002Ftd>\u003Ctd>Custom\u003C\u002Ftd>\u003Ctd>Custom\u003C\u002Ftd>\u003Ctd>Custom\u003C\u002Ftd>\u003Ctd>Multi-user\u003C\u002Ftd>\u003Ctd>Yes\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003Cp>\u003Cstrong>Bronze and Silver do not include HIPAA.\u003C\u002Fstrong> If you need HIPAA compliance for healthcare workflows, Gold at $99\u002Fmonth is the entry tier where the BAA add-on unlocks. Enterprise also carries HIPAA plus multi-user access.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Gold is the real value tier\u003C\u002Fstrong> for growing teams. 10,000 submissions\u002Fmonth covers most use cases and the price gap between Silver and Gold ($60) is smaller than the gap between Gold and Enterprise (custom).\u003C\u002Fp>\n\n\n\u003Ch2>Editor and builder experience\u003C\u002Fh2>\n\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002Fshot_jf_features_2ba5920daa.png\" alt=\"Jotform products overview screenshot\" style=\"width:100%;max-width:900px;height:auto;border-radius:8px;border:1px solid #e5e7eb;margin:16px 0;\" loading=\"lazy\" \u002F>\u003C\u002Fp>\n\n\n\n\u003Cp>The Jotform form editor is a three-panel layout: field library on the left, form canvas in the middle, field properties on the right. Drag a field from the library onto the canvas, click to configure, done.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>What it does well:\u003C\u002Fstrong>\u003C\u002Fp>\n\n\u003Cul>\n\u003Cli>30+ field types out of the box (name, email, phone, address, file upload, signature, matrix, star rating, product picker)\u003C\u002Fli>\n\u003Cli>Conditional logic engine handles multi-field dependencies with a rules builder\u003C\u002Fli>\n\u003Cli>Multi-page forms with progress bar built in\u003C\u002Fli>\n\u003Cli>PDF Editor auto-generates a formatted PDF from the form structure\u003C\u002Fli>\n\u003Cli>Preview mode shows desktop + mobile + tablet renderings\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Cp>\u003Cstrong>What feels dated:\u003C\u002Fstrong>\u003C\u002Fp>\n\n\u003Cul>\n\u003Cli>UI is dense; the right-panel field settings can feel overwhelming for new users\u003C\u002Fli>\n\u003Cli>Templates gallery has a browsing problem: 20,000+ templates but the search doesn't rank well by relevance\u003C\u002Fli>\n\u003Cli>Mobile preview is inside a modal, not live side-by-side\u003C\u002Fli>\n\u003Cli>Some interaction patterns feel 2019-era (right-click menus with 15+ options)\u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\u003Ch2>Integrations catalog: 200+ across every category\u003C\u002Fh2>\n\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002Fshot_jf_integrations_38c1d36cd5.png\" alt=\"Jotform integrations catalog screenshot\" style=\"width:100%;max-width:900px;height:auto;border-radius:8px;border:1px solid #e5e7eb;margin:16px 0;\" loading=\"lazy\" \u002F>\u003C\u002Fp>\n\n\n\n\u003Cp>Jotform's integrations library is one of the deepest in the category. First-party integrations are maintained by the Jotform team; there are also Zapier and Make (formerly Integromat) integrations for anything not natively supported.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Payment gateways (40+ on Bronze and above):\u003C\u002Fstrong>\u003C\u002Fp>\n\n\u003Cul>\n\u003Cli>Stripe, PayPal, Square, Authorize.Net, Braintree, 2Checkout, Cybersource, Chargify, Worldpay, Payflow, Skrill, PicPay, and 25+ more\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Cp>\u003Cstrong>CRM + marketing (Bronze + Silver):\u003C\u002Fstrong>\u003C\u002Fp>\n\n\u003Cul>\n\u003Cli>Salesforce (Enterprise), HubSpot, Zoho CRM, Pipedrive, Copper, Insightly, ActiveCampaign, Mailchimp, Constant Contact, ConvertKit\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Cp>\u003Cstrong>Utility (across tiers):\u003C\u002Fstrong>\u003C\u002Fp>\n\n\u003Cul>\n\u003Cli>Google Sheets, Google Drive, Google Calendar, Airtable, Notion (via Zapier), Slack, Microsoft Teams, Trello, Asana, ClickUp, Dropbox, Box, OneDrive\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Cp>\u003Cstrong>Developer tools:\u003C\u002Fstrong>\u003C\u002Fp>\n\n\u003Cul>\n\u003Cli>Zapier (5,000+ downstream apps), Make, REST API, webhooks\u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\u003Cdiv style=\"background: #F5F3FF; border: 1px solid #E9D5FF; border-radius: 24px; padding: clamp(28px, 5vw, 56px) clamp(20px, 4vw, 48px); margin: 40px 0; text-align: center; font-family: inherit;\">\n\u003Cdiv style=\"display: inline-block; background: #FFFFFF; border: 1px solid #E9D5FF; border-radius: 9999px; padding: 6px 16px; font-size: 12px; font-weight: 700; color: #6941C6; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 22px;\">Formester\u003C\u002Fdiv>\n\u003Ch3 style=\"color: #0F172A !important; font-size: clamp(24px, 3.4vw, 36px); line-height: 1.2; font-weight: 700; margin: 0 auto 14px; max-width: 720px; font-family: inherit;\">Modern hosted alternative to Jotform\u003C\u002Fh3>\n\u003Cp style=\"color: #475467; font-size: clamp(15px, 1.5vw, 17px); line-height: 1.55; margin: 0 auto 28px; max-width: 600px; font-family: inherit;\">Formester ships unlimited responses on free (Jotform caps at 100\u002Fmonth), \u003Ca href=\"https:\u002F\u002Fformester.com\u002Fai-form-generator\u002F\">AI\u003C\u002Fa> generation from prompt \u002F PDF \u002F list (Jotform only accepts prompt), and a 2024 editor rebuild. No per-user pricing.\u003C\u002Fp>\n\u003Cp style=\"margin: 0;\">\u003Ca href=\"https:\u002F\u002Fapp.formester.com\u002Fusers\u002Fsign_up\" style=\"display: inline-block; background: #7f56d9 !important; color: #ffffff !important; text-decoration: none !important; padding: 14px 28px; border-radius: 9999px; font-weight: 600; font-size: 16px; font-family: inherit;\">Try Formester free \u003Cspan aria-hidden=\"true\" style=\"margin-left: 4px;\">&rarr;\u003C\u002Fspan>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp style=\"margin: 22px 0 0; font-size: 13px; color: #697586; font-family: inherit;\">Free forever plan \u003Cspan style=\"color: #C4B5FD;\">&bull;\u003C\u002Fspan> No credit card \u003Cspan style=\"color: #C4B5FD;\">&bull;\u003C\u002Fspan> Setup in 2 minutes\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\u003Ch2>Real-world use cases where Jotform wins\u003C\u002Fh2>\n\n\u003Cp>\u003Cstrong>1. Healthcare intake forms with HIPAA compliance.\u003C\u002Fstrong> Gold plan at $99\u002Fmonth plus a signed BAA add-on gives you a HIPAA-eligible workflow with 10,000 submissions and 100 GB of storage. Enterprise is the multi-user upgrade path for larger practices.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>2. E-commerce order forms with variant selection.\u003C\u002Fstrong> Product picker field + 40+ payment gateways covers cross-border commerce that native shop platforms often miss.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>3. Job application forms with resume upload.\u003C\u002Fstrong> File upload field + conditional logic (screen out unqualified applicants before they reach the resume step) + native ATS integrations.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>4. Event registration with multiple ticket tiers.\u003C\u002Fstrong> Product picker for tier selection + Stripe \u002F PayPal \u002F Square for payment + confirmation email with QR code for check-in.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>5. HR onboarding form packages.\u003C\u002Fstrong> Multi-page forms + save-and-continue + PDF Editor for signed onboarding documents.\u003C\u002Fp>\n\n\n\u003Ch2>Where Jotform falls short\u003C\u002Fh2>\n\n\u003Cp>\u003Cstrong>1. Free plan is punishing.\u003C\u002Fstrong> 100 submissions\u002Fmonth fills fast. Even a small contact form on a busy site outgrows free in weeks.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>2. Template flood without curation.\u003C\u002Fstrong> 20,000+ templates sound great, but finding the right one via search is unreliable. Categories help but many templates are near-duplicates.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>3. Dense UI with steeper learning curve than newer builders.\u003C\u002Fstrong> New users take longer to feel productive vs Formester, Fillout, or Typeform.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>4. Branding removal costs $34\u002Fmonth.\u003C\u002Fstrong> Free plan shows Jotform branding on every form. Bronze plan removes it.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>5. AI form generation is basic.\u003C\u002Fstrong> Shipped 2024 but only supports prompt input. Formester (prompt \u002F PDF \u002F question list) and Fillout (prompt + workflow) have deeper AI generation.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>6. Native mobile app is functional but not category-leading.\u003C\u002Fstrong> Jotform Mobile Forms works for \u003Ca href=\"https:\u002F\u002Fformester.com\u002Ffeatures\u002Foffline-forms\u002F\">offline capture\u003C\u002Fa> but the UX has not modernized as fast as native survey apps.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>7. Salesforce integration requires Enterprise.\u003C\u002Fstrong> For teams on lower tiers who use Salesforce, this is a workflow break.\u003C\u002Fp>\n\n\n\u003Ch2>Pros and cons summary\u003C\u002Fh2>\n\n\u003Cp>\u003Cstrong>Pros\u003C\u002Fstrong>\u003C\u002Fp>\n\n\u003Cul>\n\u003Cli>Largest template library on the market (20,000+)\u003C\u002Fli>\n\u003Cli>Widest payment gateway support (40+)\u003C\u002Fli>\n\u003Cli>HIPAA available on Gold ($99\u002Fmo) with a signed BAA add-on\u003C\u002Fli>\n\u003Cli>Native mobile app for offline capture\u003C\u002Fli>\n\u003Cli>200+ native integrations\u003C\u002Fli>\n\u003Cli>4.7\u002F5 on G2 with 5,321 reviews (highest volume + strong sentiment in category)\u003C\u002Fli>\n\u003Cli>Conditional logic + calculations on every paid tier\u003C\u002Fli>\n\u003Cli>PDF Editor auto-generates formatted PDFs\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Cp>\u003Cstrong>Cons\u003C\u002Fstrong>\u003C\u002Fp>\n\n\u003Cul>\n\u003Cli>Dense UI, steeper learning curve\u003C\u002Fli>\n\u003Cli>Free plan is punishing (100 subs\u002Fmo)\u003C\u002Fli>\n\u003Cli>Template search relevance is thin\u003C\u002Fli>\n\u003Cli>Branding removal costs $34\u002Fmo\u003C\u002Fli>\n\u003Cli>AI form generation supports prompt only\u003C\u002Fli>\n\u003Cli>Salesforce integration requires Enterprise\u003C\u002Fli>\n\u003Cli>Editor UX feels 2019-era\u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\u003Ch2>When Formester is the better pick\u003C\u002Fh2>\n\n\u003Cp>\u003Cstrong>Your team wants unlimited responses on the free plan.\u003C\u002Fstrong> Formester ships unlimited forms and unlimited responses on free. Jotform's free plan caps at 100 submissions\u002Fmonth.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>You need AI form generation from more than a prompt.\u003C\u002Fstrong> Formester accepts prompt \u002F PDF \u002F question list. Draft a paper form as PDF, upload it, get a working form back. Jotform's AI only accepts prompt.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Modern editor UX matters.\u003C\u002Fstrong> Formester's editor was rebuilt in 2024. Jotform's editor is functional but feels 2019-era.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>You want to skip the per-user pricing on team collaboration.\u003C\u002Fstrong> Formester Business at $49\u002Fmonth covers your whole team. Jotform Enterprise is per-user.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>You want payment collection on the free plan.\u003C\u002Fstrong> Formester ships Stripe \u002F PayPal on free. Jotform gates payment behind Bronze ($34\u002Fmonth).\u003C\u002Fp>\n\n\u003Cp>Full comparison and switching guide: \u003Ca href=\"https:\u002F\u002Fformester.com\u002Fjotform-alternative\u002F\">Formester vs Jotform\u003C\u002Fa>.\u003C\u002Fp>\n\n\n\u003Ch2>When Jotform is the better pick\u003C\u002Fh2>\n\n\u003Cp>\u003Cstrong>HIPAA is required, and Formester will not do.\u003C\u002Fstrong> Formester is GDPR, UK GDPR, and CCPA compliant, but not HIPAA certified. If your workflow needs a BAA, Jotform Gold at $99\u002Fmonth with the signed BAA add-on is the direct path. Enterprise adds multi-user access on top.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>You need the widest possible payment gateway support.\u003C\u002Fstrong> 40+ native payment gateways vs Formester's 2. If you're in a region where Stripe \u002F PayPal don't cover it, Jotform likely has native support.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>You want 20,000+ templates.\u003C\u002Fstrong> For niche use cases where a specific template starts you 80% of the way there, template depth matters.\u003C\u002Fp>\n\n\u003Cp>\u003Cstrong>Your team is already deeply invested in Jotform's ecosystem.\u003C\u002Fstrong> Existing forms, integrations, and workflows have real switching cost. Migrations from mature Jotform accounts are a real project.\u003C\u002Fp>\n\n\n\u003Csection class=\"faq\">\n\u003Ch2>FAQs\u003C\u002Fh2>\n\u003Cdetails>\u003Csummary>Is Jotform worth the money?\u003C\u002Fsummary>\u003Cdiv>For teams needing feature depth, HIPAA (Gold + BAA), and the widest payment gateway support in one product, yes. For teams needing modern UX, unlimited responses on the free plan, or AI generation from more than a prompt, Formester or Fillout are better value.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>How much does Jotform really cost?\u003C\u002Fsummary>\u003Cdiv>Bronze is $34\u002Fmonth billed annually (1,000 submissions), Silver is $39\u002Fmonth (2,500 submissions, no HIPAA), Gold is $99\u002Fmonth (10,000 submissions, HIPAA available with BAA add-on). Month-to-month billing runs roughly 20 to 30 percent higher on every tier. Enterprise pricing is custom and depends on user count.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Is Jotform HIPAA-compliant?\u003C\u002Fsummary>\u003Cdiv>Yes, on Gold plan and above with a signed BAA add-on. Bronze and Silver do not include HIPAA. The BAA add-on carries an additional annual fee (contact Jotform for current pricing).\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Can I use Jotform for free forever?\u003C\u002Fsummary>\u003Cdiv>Yes, on the free plan (5 forms, 100 submissions\u002Fmonth, Jotform branding on every form). Free plan is permanent, not a trial.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>How does Jotform compare to Google Forms?\u003C\u002Fsummary>\u003Cdiv>Jotform is a paid product with more features, more templates, and more integrations. Google Forms is free with unlimited responses but very limited design and no payment collection.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Can I embed Jotform on my WordPress site?\u003C\u002Fsummary>\u003Cdiv>Yes. Multiple embed modes: iframe, JavaScript widget, lightbox, feedback tab, and shareable link. Works on any CMS.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Does Jotform have a mobile app?\u003C\u002Fsummary>\u003Cdiv>Yes. Jotform Mobile Forms (iOS + Android) for offline data collection. Sync when signal returns.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>How many payment gateways does Jotform support?\u003C\u002Fsummary>\u003Cdiv>40+ natively, including Stripe, PayPal, Square, Authorize.Net, Braintree, 2Checkout, and 25+ international gateways.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Does Jotform have AI form generation?\u003C\u002Fsummary>\u003Cdiv>Yes, shipped 2024. Prompt-based only. Type a description, get a form. Does not support PDF upload or question list input (Formester does).\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Is Jotform secure?\u003C\u002Fsummary>\u003Cdiv>Yes. SOC 2 Type II, GDPR-compliant, TLS 1.3 in transit, AES-256 at rest, HIPAA available on Gold plan and above with a signed BAA.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003C\u002Fsection>\n\u003Csection class=\"verdict\">\n\u003Ch2>Verdict\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Rating: 4.7\u002F5\u003C\u002Fstrong> (matches G2 sentiment)\u003C\u002Fp>\n\u003Cp>Jotform remains the most feature-complete general-purpose form builder in 2026. Its depth in templates, payment gateways, and HIPAA compliance at a small-business price point is unmatched.\u003C\u002Fp>\n\u003Cp>If you need feature depth + HIPAA at the cheapest price point + widest payment gateway support, buy Silver or Gold. It's the right pick.\u003C\u002Fp>\n\u003Cp>If you want modern editor UX, unlimited responses on free, or AI generation from more than a prompt, use \u003Ca href=\"https:\u002F\u002Fformester.com\u002F\">Formester\u003C\u002Fa> or Fillout instead.\u003C\u002Fp>\n\u003C\u002Fsection>\n\n","blog\u002Fblog\u002Fjotform-review.md",2400,1350,{"text":267},"10 min read",{"title":269,"author":7,"authorImage":8,"authorProfile":9,"coverImg":270,"coverImgAlt":271,"createdAt":272,"description":273,"featured":14,"jsonld":274,"keywords":342,"metaDescription":343,"metaImage":344,"metaTitle":269,"promoPopup":152,"publishedAt":272,"slug":345,"updatedAt":272,"__hash__":346,"body":347,"id":348,"coverImgWidth":144,"coverImgHeight":145,"readingStats":349},"Does Google Forms Save Progress?","https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F6862532a1666481b_does-google-form-save-progress-cover-v2.png","Cover art for a guide to whether Google Forms saves your progress","2026-09-03T00:00:00.000Z","Google Forms saves a draft for 30 days, but only for people signed in to a Google account. The exact conditions from Google's own page, why a draft goes missing, and how a form owner turns autosave off.",[275],{"@context":17,"@graph":276},[277,279,286,291,309,340],{"@type":20,"@id":21,"url":22,"name":23,"logo":278},{"@type":25,"url":26},{"@type":32,"@id":280,"url":281,"name":269,"isPartOf":282,"breadcrumb":283,"inLanguage":38,"description":273,"datePublished":285,"dateModified":285},"https:\u002F\u002Fformester.com\u002Fblog\u002Fdoes-google-form-save-progress\u002F#webpage","https:\u002F\u002Fformester.com\u002Fblog\u002Fdoes-google-form-save-progress\u002F",{"@id":21},{"@id":284},"https:\u002F\u002Fformester.com\u002Fblog\u002Fdoes-google-form-save-progress\u002F#breadcrumb","2026-09-03",{"@type":41,"@id":284,"itemListElement":287},[288,289,290],{"@type":44,"position":45,"name":46,"item":22},{"@type":44,"position":48,"name":49,"item":50},{"@type":44,"position":52,"name":269,"item":281},{"@type":54,"@id":292,"headline":269,"image":270,"author":293,"publisher":294,"inLanguage":38,"description":273,"datePublished":285,"dateModified":285,"mainEntityOfPage":295,"about":296,"mentions":298,"citation":300},"https:\u002F\u002Fformester.com\u002Fblog\u002Fdoes-google-form-save-progress\u002F#article",{"@type":57,"name":7,"url":9,"image":8},{"@id":21},{"@id":280},[297],{"@type":62,"name":63,"applicationCategory":64,"url":65,"operatingSystem":66},[299],{"@id":69},[301,305],{"@type":32,"name":302,"url":303,"publisher":304},"Autosave your response progress on a Google Form","https:\u002F\u002Fsupport.google.com\u002Fdocs\u002Fanswer\u002F10952360",{"@type":20,"name":75},{"@type":32,"name":306,"url":307,"publisher":308},"Your progress is automatically saved as you respond to forms and quizzes","https:\u002F\u002Fworkspaceupdates.googleblog.com\u002F2021\u002F08\u002Fyour-progress-is-automatically-saved-as.html",{"@type":20,"name":75},{"@type":85,"@id":310,"mainEntity":311},"https:\u002F\u002Fformester.com\u002Fblog\u002Fdoes-google-form-save-progress\u002F#faq",[312,316,320,324,328,332,336],{"@type":89,"name":313,"acceptedAnswer":314},"Does Google Form save progress without signing in?",{"@type":92,"text":315},"No. Google only saves a draft when you fill out the form while signed in to a Google account. Signed out, nothing is kept, so closing the tab loses every answer. If you cannot sign in, finish the form in one sitting or keep your answers in a document until you submit.",{"@type":89,"name":317,"acceptedAnswer":318},"How long does Google Forms keep a draft?",{"@type":92,"text":319},"For 30 days from your last edit, or until you submit, whichever comes first. Every time you change an answer the 30 days start again. After that the draft is gone and you start from an empty form.",{"@type":89,"name":321,"acceptedAnswer":322},"Can you save a Google Form and come back later?",{"@type":92,"text":323},"Yes, as long as you are signed in to a Google account and the form owner has not turned autosave off. Close the form when you need to stop. To come back, open the same form link in the same Google account on any device. Your answers are there.",{"@type":89,"name":325,"acceptedAnswer":326},"Why does my Google Form say Saving disabled?",{"@type":92,"text":327},"The form owner turned off draft saving for that form. Google shows Saving disabled at the top so you know nothing will be kept. Finish the form in one go, or ask the owner to turn autosave back on.",{"@type":89,"name":329,"acceptedAnswer":330},"Can I turn off autosave on my Google Form?",{"@type":92,"text":331},"Yes. Open Settings and expand Presentation. Under Restrictions, turn on Disable autosave for all respondents. It applies to that form only. Google suggests it for shared devices such as kiosks and for forms used for repeated data entry. It also suggests it for forms embedded in a website.",{"@type":89,"name":333,"acceptedAnswer":334},"Can the form owner see my draft?",{"@type":92,"text":335},"No. A draft is stored in your own Google account, not in the form. The owner's Responses tab only shows responses that have been submitted. If you never click Submit, the owner never sees anything.",{"@type":89,"name":337,"acceptedAnswer":338},"Does autosave work on a Google Forms quiz?",{"@type":92,"text":339},"Yes, the same rules apply. A signed-in respondent's answers are kept as a draft for 30 days until they submit, and the owner can turn it off in Settings under Presentation. Google's autosave page makes no exception for quizzes.",{"@type":62,"@id":69,"url":22,"name":23,"applicationCategory":64,"operatingSystem":66,"offers":341},{"@type":124,"price":125,"priceCurrency":126,"description":127},"does google form save progress,does google forms save progress,google forms autosave,save google form progress,google form save draft,google forms save and continue later,google form save for later","Does Google Forms save progress? Yes, for 30 days, but only for people signed in to a Google account. What stops it saving, and how owners turn it off.",[],"does-google-form-save-progress","qW9uGWTyVjEA3CqlWsYEt9QOmA2Gg5FE6bTl6nog1oQ","\n![Cover art for a guide to whether Google Forms saves your progress](https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002F6862532a1666481b_does-google-form-save-progress-cover-v2.png)\n\n\u003Cp style=\"font-size: inherit;\">Google Forms does save your progress, but only when you are signed in to a Google account. Google keeps a draft of your answers for 30 days and puts them back when you reopen the form. If you made the form, autosave is on by default and you can turn it off. You cannot see anyone's draft until they submit.\u003C\u002Fp>\n\n\u003Cdiv class=\"tldr\">\n\u003Cp>\u003Cstrong>Quick answer\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>You are filling in someone's form:\u003C\u002Fstrong> your answers are saved for 30 days if you are signed in to Google and online. Reopen the same link in the same account to carry on. If you are signed out, closing the tab loses them.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>You made the form:\u003C\u002Fstrong> autosave is on unless you turned it off under \u003Cstrong>Settings\u003C\u002Fstrong>, \u003Cstrong>Presentation\u003C\u002Fstrong>, \u003Cstrong>Restrictions\u003C\u002Fstrong>. You only see a response once someone submits it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>You need people to save and come back without a Google account:\u003C\u002Fstrong> Google Forms cannot do that. A form builder with a resume link can.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fdiv>\n\n\u003Ch2 id=\"when\">When does Google Forms save your progress?\u003C\u002Fh2>\n\n\u003Cp>Google's own page, \u003Ca href=\"https:\u002F\u002Fsupport.google.com\u002Fdocs\u002Fanswer\u002F10952360\" target=\"_blank\" rel=\"noopener\">Autosave your response progress on a Google Form\u003C\u002Fa>, sets out the rules. A draft is kept when all of these are true:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>You are signed in to a Google account.\u003C\u002Fstrong> The draft is stored in your account, which is why it is there on another device.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>You have an internet connection.\u003C\u002Fstrong> Google says plainly that if you are offline, autosave does not work.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>It is within 30 days of your last edit.\u003C\u002Fstrong> The 30 days restart each time you change an answer. Submitting the form ends the draft for good.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The form owner has not turned it off.\u003C\u002Fstrong> If they have, the form shows \u003Cstrong>Saving disabled\u003C\u002Fstrong> at the top.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>You still have access to the form.\u003C\u002Fstrong> Lose access and you lose the draft with it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The owner has not deleted the question or changed the option you picked.\u003C\u002Fstrong> A deleted question takes your answer with it, and a changed option comes back unselected. Rewording the question itself leaves your answer alone.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>When the draft is being kept, \u003Cstrong>Draft saved\u003C\u002Fstrong> shows at the top of the form. If you do not see it, one of the conditions above is not met.\u003C\u002Fp>\n\u003C!-- IMAGE: a form mid-fill, signed in, \"Draft saved\" label visible at the top of the form | ALT: A Google Form being filled in with the Draft saved indicator at the top -->\n\n\u003Ch2 id=\"resume\">How do you get back to a saved Google Form draft?\u003C\u002Fh2>\n\n\u003Cp>Open the same form link again, signed in to the same Google account. Your answers are filled in where you left them. It works on a different device too, because the draft belongs to the account rather than the browser. Google does not show you a list of your drafts, so keep the form link. Your browser history or the message you got it in will take you back.\u003C\u002Fp>\n\u003Cp>To throw the draft away and start again, scroll to the bottom of the form and click \u003Cstrong>Clear form\u003C\u002Fstrong>.\u003C\u002Fp>\n\n\u003Ch2 id=\"not-saving\">Why is Google Forms not saving your progress?\u003C\u002Fh2>\n\n\u003Cp>Work through these in order. The first one that applies is usually the cause.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>You are not signed in to Google.\u003C\u002Fstrong> Without an account there is no draft. Sign in and start the form again.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>You have no internet connection.\u003C\u002Fstrong> The draft only updates while the form can reach Google.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The form shows Saving disabled.\u003C\u002Fstrong> The owner turned autosave off. Only they can turn it back on.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>More than 30 days passed since your last edit.\u003C\u002Fstrong> Google has already discarded the draft.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>You opened the link in a different Google account.\u003C\u002Fstrong> Drafts do not move between accounts. Switch to the one you started in.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The owner changed the form.\u003C\u002Fstrong> A deleted question or a changed option drops that answer from your draft, and a change to the form's branching can hide pages you had reached.\u003C\u002Fli>\n\u003C\u002Fol>\n\n\u003Ch2 id=\"turn-off\">How do you turn autosave off for your Google Form?\u003C\u002Fh2>\n\n\u003Cp>Autosave is on for every form by default, personal and Workspace alike. There is no admin setting that turns it off for a whole organization. Each form's owner or editors decide per form.\u003C\u002Fp>\n\u003Col class=\"steps\">\n\u003Cli>\n\u003Ch3>Open Settings\u003C\u002Fh3>\n\u003Cp>Open the form in the editor and click \u003Cstrong>Settings\u003C\u002Fstrong> at the top.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Ch3>Expand Presentation\u003C\u002Fh3>\n\u003Cp>Click \u003Cstrong>Presentation\u003C\u002Fstrong> to open its options, then find the \u003Cstrong>Restrictions\u003C\u002Fstrong> group.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Ch3>Turn on Disable autosave for all respondents\u003C\u002Fh3>\n\u003Cp>Switch it on. From then on, people who open this form see \u003Cstrong>Saving disabled\u003C\u002Fstrong> at the top, and nothing they type is kept if they leave.\u003C\u002Fp>\n\u003C!-- IMAGE: Settings > Presentation > Restrictions with the Disable autosave for all respondents toggle | ALT: Google Forms Settings with Presentation expanded and Disable autosave for all respondents visible under Restrictions -->\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Google's \u003Ca href=\"https:\u002F\u002Fworkspaceupdates.googleblog.com\u002F2021\u002F08\u002Fyour-progress-is-automatically-saved-as.html\" target=\"_blank\" rel=\"noopener\">launch note\u003C\u002Fa> says turning it off makes sense for forms used for repeated data entry and for forms on shared devices such as registration kiosks. It also names forms embedded in websites. On a shared device, a saved draft would show the next person the previous person's answers.\u003C\u002Fp>\n\n\u003Ch2 id=\"owner\">Can the form owner see a respondent's saved progress?\u003C\u002Fh2>\n\n\u003Cp>No. The draft is stored in the respondent's Google account, not in the form. The Responses tab shows submitted responses only, so a form that many people opened and nobody finished shows nothing at all. There is no report of started-but-abandoned forms in Google Forms.\u003C\u002Fp>\n\n\u003Ch2 id=\"limits\">Where Google's autosave stops\u003C\u002Fh2>\n\n\u003Cul>\n\u003Cli>\u003Cstrong>Signed-out respondents get nothing.\u003C\u002Fstrong> Autosave depends on the person being signed in, not on how the form is set up. Anyone who opens a form signed out gets no draft.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>There is no resume link.\u003C\u002Fstrong> A respondent cannot be sent back to their draft. They have to find the original form link and sign in to the same account.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The owner sees no partial answers.\u003C\u002Fstrong> You cannot tell where people give up or what they had typed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Drafts expire 30 days after your last edit.\u003C\u002Fstrong> There is no setting that keeps them longer.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This matters most on \u003Ca href=\"\u002Fblog\u002Fhow-to-make-anonymous-google-form-or-survey\u002F\">anonymous forms\u003C\u002Fa>. An anonymous form still saves a draft for someone who is signed in, and the owner still does not learn who they are. But anyone who fills it in signed out gets no draft, so they have to finish a long survey in one sitting.\u003C\u002Fp>\n\n\u003Ch2 id=\"formester\">Where Formester fits\u003C\u002Fh2>\n\n\u003Cp>Formester's \u003Ca href=\"\u002Ffeatures\u002Fsave-and-continue\u002F\">save and continue\u003C\u002Fa> works the other way round. Respondents can pause and resume whenever they need to, with no account required. They get a resume link and pick up exactly where they left off, with every answer preserved. The link can be emailed to them, so they do not need to keep the original form link.\u003C\u002Fp>\n\u003Cp>On the owner's side, \u003Ca href=\"\u002Ffeatures\u002Fpartial-submissions\u002F\">partial submissions\u003C\u002Fa> show what a respondent entered before they stopped. Open Results and then Submissions. The unfinished entries are there, so you can see which question people give up on. Both features are on the Business plan.\u003C\u002Fp>\n\n\u003Cdiv style=\"background:linear-gradient(135deg,#7f56d9 0%,#6941c6 100%);padding:32px 28px;margin:36px 0;border-radius:12px;color:#ffffff;font-family:inherit;text-align:center;\">\n\u003Cp style=\"margin:0 0 12px 0;font-size:18px;font-weight:700;color:#ffffff;font-family:inherit;\">Let people save and come back, no account needed\u003C\u002Fp>\n\u003Cp style=\"margin:0 0 20px 0;font-size:14px;line-height:1.55;color:#f4ebff;font-family:inherit;\">A resume link that keeps every answer, and a view of what people entered before they stopped.\u003C\u002Fp>\n\u003Ca href=\"https:\u002F\u002Fapp.formester.com\u002Fusers\u002Fsign_up\" style=\"display:inline-block;padding:12px 24px;background:#ffffff;color:#6941c6;text-decoration:none;font-weight:700;border-radius:9999px;font-family:inherit;\">Try Formester free\u003C\u002Fa>\n\u003Cp style=\"margin:12px 0 0 0;font-size:13px;color:#e9d7fe;font-family:inherit;\">Free forever · No credit card · 56,000+ teams\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\u003Ch2>Related reading\u003C\u002Fh2>\n\n\u003Cul>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002F5-ways-to-view-responses-in-google-forms\u002F\">View responses in Google Forms\u003C\u002Fa>, for what the owner can see once a form is submitted.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fpartial-submissions\u002F\">Partial submissions\u003C\u002Fa>, for seeing unfinished entries in Formester.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fblog\u002Fhow-to-save-google-forms-as-pdf\u002F\">Save a Google Form as a PDF\u003C\u002Fa>, if you meant saving a copy of the form rather than your progress.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Csection class=\"faq\">\n\u003Ch2>Google Forms autosave FAQ\u003C\u002Fh2>\n\u003Cdetails>\u003Csummary>Does Google Form save progress without signing in?\u003C\u002Fsummary>\u003Cdiv>No. Google only saves a draft when you fill out the form while signed in to a Google account. Signed out, nothing is kept, so closing the tab loses every answer. If you cannot sign in, finish the form in one sitting or keep your answers in a document until you submit.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>How long does Google Forms keep a draft?\u003C\u002Fsummary>\u003Cdiv>For 30 days from your last edit, or until you submit, whichever comes first. Every time you change an answer the 30 days start again. After that the draft is gone and you start from an empty form.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Can you save a Google Form and come back later?\u003C\u002Fsummary>\u003Cdiv>Yes, as long as you are signed in to a Google account and the form owner has not turned autosave off. Close the form when you need to stop. To come back, open the same form link in the same Google account on any device. Your answers are there.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Why does my Google Form say Saving disabled?\u003C\u002Fsummary>\u003Cdiv>The form owner turned off draft saving for that form. Google shows Saving disabled at the top so you know nothing will be kept. Finish the form in one go, or ask the owner to turn autosave back on.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Can I turn off autosave on my Google Form?\u003C\u002Fsummary>\u003Cdiv>Yes. Open Settings and expand Presentation. Under Restrictions, turn on Disable autosave for all respondents. It applies to that form only. Google suggests it for shared devices such as kiosks and for forms used for repeated data entry. It also suggests it for forms embedded in a website.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Can the form owner see my draft?\u003C\u002Fsummary>\u003Cdiv>No. A draft is stored in your own Google account, not in the form. The owner's Responses tab only shows responses that have been submitted. If you never click Submit, the owner never sees anything.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003Cdetails>\u003Csummary>Does autosave work on a Google Forms quiz?\u003C\u002Fsummary>\u003Cdiv>Yes, the same rules apply. A signed-in respondent's answers are kept as a draft for 30 days until they submit, and the owner can turn it off in Settings under Presentation. Google's autosave page makes no exception for quizzes.\u003C\u002Fdiv>\u003C\u002Fdetails>\n\u003C\u002Fsection>\n","blog\u002Fblog\u002Fdoes-google-form-save-progress.md",{"text":350},"8 min read",{"title":352,"author":7,"authorImage":152,"authorProfile":9,"coverImg":353,"coverImgAlt":354,"createdAt":355,"description":356,"featured":14,"jsonld":357,"keywords":435,"metaDescription":356,"metaImage":436,"metaTitle":437,"promoPopup":152,"publishedAt":438,"slug":439,"updatedAt":440,"__hash__":441,"body":442,"id":443,"coverImgWidth":169,"coverImgHeight":145,"readingStats":444},"How to Send HTML Form Data to Google Sheets for Free","https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002FHow_to_Make_User_Research_Survey_1_ec282fa0b6.png","a cover of a blog post that talks about sending contact form data to google sheets","2025-03-06T18:34:23.526Z","Push HTML form submissions straight into Google Sheets, free. Working Apps Script code, a no-code option, and a method-by-method comparison so you pick once.",[358],{"@graph":359,"@context":17},[360,368,396,430],{"@id":361,"@type":198,"image":353,"author":362,"headline":352,"publisher":363,"description":356,"dateModified":365,"datePublished":366,"mainEntityOfPage":367},"https:\u002F\u002Fformester.com\u002Fblog\u002Fhow-to-send-contact-form-data-to-google-sheets-free\u002F#article",{"url":175,"name":174,"@type":57},{"logo":364,"name":23,"@type":20},{"url":26,"@type":25},"2026-06-09","2025-03-06","https:\u002F\u002Fformester.com\u002Fblog\u002Fhow-to-send-contact-form-data-to-google-sheets-free\u002F",{"name":369,"step":370,"tool":384,"@type":392,"totalTime":393,"estimatedCost":394},"How to send HTML form data to Google Sheets with Apps Script",[371,375,378,381],{"name":372,"text":373,"@type":374},"Create the Sheet","Open Google Sheets, create a new spreadsheet, name the tab Submissions, and add column headers in row 1 that match the name attributes on your HTML form inputs.","HowToStep",{"name":376,"text":377,"@type":374},"Open Apps Script and paste the doPost function","Inside the Sheet, open Extensions then Apps Script. Paste the doPost script provided in this guide. Save the project.",{"name":379,"text":380,"@type":374},"Run initialSetup and deploy the web app","Pick initialSetup in the function dropdown and click Run. Approve the OAuth prompt. Click Deploy, New deployment, Web app, Execute as Me, Anyone has access. Copy the deployment URL.",{"name":382,"text":383,"@type":374},"Wire the deployment URL into your HTML form","Point your form's fetch endpoint or action attribute at the deployment URL. Submit a test entry. The row appears in the Sheet within a second.",[385,388,390],{"name":386,"@type":387},"Google Sheets","HowToTool",{"name":389,"@type":387},"Google Apps Script",{"name":391,"@type":387},"HTML form on your site","HowTo","PT30M",{"@type":395,"value":125,"currency":126},"MonetaryAmount",{"@type":85,"mainEntity":397},[398,402,406,410,414,418,422,426],{"name":399,"@type":89,"acceptedAnswer":400},"Is it really free to send HTML form data to Google Sheets?",{"text":401,"@type":92},"Yes. Google Apps Script is free with any Google account, capped at one Sheets write per second per user. Google Forms is free. Formester's free plan includes unlimited submissions.",{"name":403,"@type":89,"acceptedAnswer":404},"How secure is form data in Google Sheets?",{"text":405,"@type":92},"Google encrypts data at rest and in transit. Lock sharing to specific accounts, neutralize formula characters on input to prevent CSV injection, and do not use a Sheet for payment data or passwords.",{"name":407,"@type":89,"acceptedAnswer":408},"What is the rate limit on Apps Script writes to Sheets?",{"text":409,"@type":92},"Roughly 100 requests per 100 seconds per user, per Google's published quotas. A contact form sustaining one submission per second sits comfortably inside that envelope.",{"name":411,"@type":89,"acceptedAnswer":412},"Can I send file uploads from the form into Google Sheets?",{"text":413,"@type":92},"Sheets cannot hold a file. Write the file to Google Drive via Apps Script and store the Drive URL in the cell, or use a no-code builder that handles file uploads natively.",{"name":415,"@type":89,"acceptedAnswer":416},"How do I add CAPTCHA or spam protection?",{"text":417,"@type":92},"The script in this guide ships a honeypot field. For more, add Google reCAPTCHA v3 on the client and verify the token server-side before writing to the Sheet.",{"name":419,"@type":89,"acceptedAnswer":420},"How do I get an email when someone submits the form?",{"text":421,"@type":92},"Add MailApp.sendEmail inside the doPost function in Apps Script. Or use the autoresponder feature in a no-code builder and skip the code.",{"name":423,"@type":89,"acceptedAnswer":424},"Can I use this on Netlify, Vercel, or any static site?",{"text":425,"@type":92},"Yes. The Apps Script deployment URL is a fetch target. It works from any frontend, hosted anywhere, with no backend on your side.",{"name":427,"@type":89,"acceptedAnswer":428},"Can I move from this setup to a database later?",{"text":429,"@type":92},"Easily. Sheets is a great starter store. When you cross a few hundred submissions a week, route the same form to a database or CRM in parallel with the Sheet.",{"@type":41,"itemListElement":431},[432,433,434],{"item":22,"name":46,"@type":44,"position":45},{"item":50,"name":49,"@type":44,"position":48},{"item":367,"name":352,"@type":44,"position":52},"how to send contact form data to google sheets free,\ncontact form template,\ncontact form automation,",[],"HTML Form to Google Sheets: 3 Free Methods (Code)","2026-06-15T04:53:58.393Z","how-to-send-contact-form-data-to-google-sheets-free","2026-06-15T04:53:58.398Z","M6TSnPEt1sq4tg3FfF01r0XWt15wtylYtTNycn3FWnc","![a cover of a blog post that talks about sending contact form data to google sheets](https:\u002F\u002Fformester-strapi.s3.ap-south-1.amazonaws.com\u002FHow_to_Make_User_Research_Survey_1_ec282fa0b6.png)\n\n\u003Cstyle>\n\u002F* batch-1 blog normalisation *\u002F\n.fmstr-blog-lead {\n  font-size: 17px !important;\n  line-height: 1.65 !important;\n  color: #475467 !important;\n  font-weight: 400 !important;\n  margin: 0 0 16px !important;\n}\n.fmstr-blog-lead a { color: #6941c6 !important; font-weight: 500; }\n.fmstr-blog-lead a:hover { text-decoration: underline !important; }\n.fmstr-blog-lead strong { color: #101828; font-weight: 700; }\nsection[class^=\"fmstr-cmp-\"], section[class*=\" fmstr-cmp-\"] {\n  padding-top: 28px !important;\n  padding-bottom: 28px !important;\n}\n@media (max-width: 540px) {\n  section[class^=\"fmstr-cmp-\"], section[class*=\" fmstr-cmp-\"] {\n    padding-top: 24px !important;\n    padding-bottom: 24px !important;\n  }\n}\n\u003C\u002Fstyle>\n\n\u003Cstyle id=\"fmstr-blog-mobile-fullwidth-v3\">\n@media (max-width: 760px) {\n  .art-section { padding-left: 12px !important; padding-right: 12px !important; }\n}\n@media (max-width: 540px) {\n  .art-section { padding-left: 6px !important; padding-right: 6px !important; padding-top: 24px !important; }\n  section[class^=\"fmstr-cmp-\"], section[class*=\" fmstr-cmp-\"] {\n    padding-left: 0 !important; padding-right: 0 !important;\n    overflow-x: hidden !important; box-sizing: border-box !important;\n  }\n  section[class^=\"fmstr-cmp-\"] *, section[class^=\"fmstr-cmp-\"] *::before, section[class^=\"fmstr-cmp-\"] *::after { box-sizing: border-box !important; }\n  section[class^=\"fmstr-cmp-\"] > *, section[class^=\"fmstr-cmp-\"] > * > * { min-width: 0 !important; }\n  section[class^=\"fmstr-cmp-\"] [class*=\"__container\"] {\n    padding-left: 0 !important; padding-right: 0 !important;\n    max-width: 100% !important; width: 100% !important;\n  }\n  section[class^=\"fmstr-cmp-\"] [class*=\"__card\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__step\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__panel\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__tool\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__verdict\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__row\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__fix\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__callout\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__quote\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__tldr\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__answer\"],\n  section[class^=\"fmstr-cmp-\"] [class*=\"__faq\"],\n  section[class^=\"fmstr-cmp-\"] details {\n    padding-left: 14px !important; padding-right: 14px !important;\n    margin-left: 0 !important; margin-right: 0 !important;\n  }\n  section[class^=\"fmstr-cmp-\"] p, section[class^=\"fmstr-cmp-\"] li { font-size: 15px !important; line-height: 1.6 !important; }\n  section[class^=\"fmstr-cmp-\"] h2 { font-size: 22px !important; line-height: 1.22 !important; }\n  section[class^=\"fmstr-cmp-\"] h3 { font-size: 18px !important; line-height: 1.3 !important; }\n  section[class^=\"fmstr-cmp-\"] h4 { font-size: 16px !important; line-height: 1.35 !important; }\n  section[class^=\"fmstr-cmp-\"] table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; width: 100% !important; }\n  section[class^=\"fmstr-cmp-\"] img, section[class^=\"fmstr-cmp-\"] iframe, section[class^=\"fmstr-cmp-\"] video { max-width: 100% !important; height: auto !important; }\n  section[class^=\"fmstr-cmp-\"] pre, section[class^=\"fmstr-cmp-\"] code {\n    white-space: pre-wrap !important; overflow-wrap: anywhere !important; word-break: break-word !important;\n  }\n  section[class^=\"fmstr-cmp-\"] pre { overflow-x: auto; }\n  .fmstr-blog-lead { font-size: 16.5px !important; }\n}\n\u003C\u002Fstyle>\n\n\u003Cp class=\"fmstr-blog-lead\">If you have a contact form, an opt-in widget, or a custom HTML form on your site, you can route every submission straight into a Google Sheet without a database, a Zapier subscription, or a paid backend. Three free methods get you there. Two need code. One does not.\u003C\u002Fp>\n\n\u003Cp class=\"fmstr-blog-lead\">This guide gives you the working Apps Script (paste-ready), the no-code path, and a side-by-side comparison so you know which one to pick before you start.\u003C\u002Fp>\n\n\u003Cstyle>\n.fmstr-cmp-tmpl-tldr a { text-decoration: none !important; }\n.fmstr-cmp-tmpl-tldr {\n--c-card: #f7f3ff;\n--c-fg-1: #101828; --c-fg-2: #475467; --c-fg-3: #697586;\n--c-violet-500: #7f56d9; --c-violet-600: #6941c6; --c-violet-700: #5b34b1;\n--c-edge: #e4d7ff; --c-border: #d6c2f7;\n--c-shadow: 0 1px 3px rgba(16,24,40,.05);\nbackground: transparent;\npadding: 28px 0 40px;\nfont-family: inherit;\ncolor: var(--c-fg-1);\ntext-align: left !important; overflow-x: hidden; -webkit-text-size-adjust: 100%;}\n.fmstr-cmp-tmpl-tldr *, .fmstr-cmp-tmpl-tldr *::before, .fmstr-cmp-tmpl-tldr *::after { box-sizing: border-box; }\n.fmstr-cmp-tmpl-tldr__container { max-width: 1200px; margin: 0 auto; }\n.fmstr-cmp-tmpl-tldr__card {\nbackground: var(--c-card);\nborder: 1px solid var(--c-border);\nborder-left: 4px solid var(--c-violet-500);\nborder-radius: 14px;\npadding: 22px 26px;\nbox-shadow: var(--c-shadow);\ndisplay: flex; flex-direction: column; gap: 12px;\n}\n.fmstr-cmp-tmpl-tldr__label {\nfont-size: 12px !important;\nfont-weight: 700 !important;\nletter-spacing: 0.08em !important;\ntext-transform: uppercase;\ncolor: var(--c-violet-700) !important;\ndisplay: inline-flex;\nalign-items: center;\ngap: 8px;\nmargin: 0 !important;\n}\n.fmstr-cmp-tmpl-tldr__label::before {\ncontent: \"\";\nwidth: 8px; height: 8px; border-radius: 9999px;\nbackground: var(--c-violet-500);\ndisplay: inline-block;\n}\n.fmstr-cmp-tmpl-tldr__body {\nfont-size: 16px !important;\nline-height: 1.65 !important;\ncolor: var(--c-fg-1);\nmargin: 0 !important;\nfont-weight: 500 !important;\n}\n.fmstr-cmp-tmpl-tldr__body strong { color: var(--c-violet-700); font-weight: 700; }\n.fmstr-cmp-tmpl-tldr__list {\nmargin: 0 !important; padding: 0 0 0 20px !important;\ndisplay: flex; flex-direction: column; gap: 8px;\nfont-size: 15.5px; line-height: 1.6; color: var(--c-fg-1);\n}\n.fmstr-cmp-tmpl-tldr__list li { margin: 0; }\n.fmstr-cmp-tmpl-tldr__list strong { color: var(--c-violet-700); font-weight: 700; }\n\n@media (max-width: 540px) {\n.fmstr-cmp-tmpl-tldr { padding: 20px 0 28px; }\n.fmstr-cmp-tmpl-tldr__card { padding: 18px 20px; }\n.fmstr-cmp-tmpl-tldr__body { font-size: 15px !important; }\n.fmstr-cmp-tmpl-tldr__list { font-size: 14.5px; }\n}\n\n\n\u002F* mobile-safety-v2 *\u002F\n.fmstr-cmp-tmpl-tldr img, .fmstr-cmp-tmpl-tldr table, .fmstr-cmp-tmpl-tldr pre, .fmstr-cmp-tmpl-tldr iframe, .fmstr-cmp-tmpl-tldr video { max-width: 100%; }\n.fmstr-cmp-tmpl-tldr > * { min-width: 0; }\n.fmstr-cmp-tmpl-tldr [class*='__grid'] > *, .fmstr-cmp-tmpl-tldr [class*='__list'] > *, .fmstr-cmp-tmpl-tldr [class*='__cards'] > * { min-width: 0; max-width: 100%; }\n@media (max-width: 540px) {\n  .fmstr-cmp-tmpl-tldr pre { overflow-x: auto; -webkit-overflow-scrolling: touch; }\n  .fmstr-cmp-tmpl-tldr table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }\n}\n\u003C\u002Fstyle>\n\n\u003Csection class=\"fmstr-cmp-tmpl-tldr\" aria-labelledby=\"fmstr-cmp-tmpl-tldr-label\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-tldr__container\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-tldr__card\">\n\u003Cp class=\"fmstr-cmp-tmpl-tldr__label\" id=\"fmstr-cmp-tmpl-tldr-label\">Quick answer\u003C\u002Fp>\n\u003Cp class=\"fmstr-cmp-tmpl-tldr__body\">You can push HTML form submissions into a Google Sheet for free with three methods. Pick one in 30 seconds:\u003C\u002Fp>\n\u003Cul class=\"fmstr-cmp-tmpl-tldr__list\">\n\u003Cli>\u003Cstrong>Google Forms\u003C\u002Fstrong> (2 minutes, no code): use it when the form does not need to live on your own domain.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Google Apps Script\u003C\u002Fstrong> (20-40 minutes, paste-ready code below): use it when you already have an HTML form on your site and are fine maintaining a script.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No-code builder like \u003Ca href=\"https:\u002F\u002Fformester.com\u002F\">Formester\u003C\u002Fa>\u003C\u002Fstrong> (5 minutes, no code): use it when you want spam control, conditional logic, and Sheets sync in one place.\u003C\u002Fli>\n\u003Cli>Apps Script caps at roughly one Sheets write per second per user, which is plenty for a contact form.\u003C\u002Fli>\n\u003Cli>Never store payment data or passwords in Sheets. It is a great inbox, not a vault.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\n\u003Cstyle>\n.fmstr-cmp-tmpl-cmp a { text-decoration: none !important; }\n.fmstr-cmp-tmpl-cmp a.fmstr-cmp-tmpl-cmp__link { color: var(--c-violet-600) !important; font-weight: 600; }\n.fmstr-cmp-tmpl-cmp a.fmstr-cmp-tmpl-cmp__link:hover { text-decoration: underline !important; }\n.fmstr-cmp-tmpl-cmp {\n--c-card: #ffffff;\n--c-fg-1: #101828; --c-fg-2: #475467; --c-fg-3: #697586;\n--c-violet-500: #7f56d9; --c-violet-600: #6941c6; --c-violet-700: #5b34b1;\n--c-tint: #f7f3ff; --c-edge: #e4d7ff;\n--c-border: #eaecf0;\n--c-shadow: 0 1px 3px rgba(16,24,40,.05);\n--c-good: #12b76a; --c-bad: #f04438;\nbackground: transparent;\npadding: 48px 0;\nfont-family: inherit;\ncolor: var(--c-fg-1);\ntext-align: left !important;\noverflow-x: hidden;\n}\n.fmstr-cmp-tmpl-cmp *, .fmstr-cmp-tmpl-cmp *::before, .fmstr-cmp-tmpl-cmp *::after { box-sizing: border-box; }\n.fmstr-cmp-tmpl-cmp > *, .fmstr-cmp-tmpl-cmp > * > * { min-width: 0; }\n.fmstr-cmp-tmpl-cmp__container { max-width: 1200px; margin: 0 auto; }\n.fmstr-cmp-tmpl-cmp__head { margin: 0 0 28px !important; }\n.fmstr-cmp-tmpl-cmp__h2 {\nfont-size: clamp(26px, 3vw, 36px) !important; font-weight: 700 !important; line-height: 1.15 !important;\nletter-spacing: -.02em !important; margin: 0 !important; color: var(--c-fg-1);\n}\n.fmstr-cmp-tmpl-cmp__intro { color: var(--c-fg-3); font-size: 17px !important; line-height: 1.6 !important; margin: 14px 0 0 !important; }\n.fmstr-cmp-tmpl-cmp__grid {\ndisplay: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;\n}\n.fmstr-cmp-tmpl-cmp__card {\nbackground: var(--c-card);\nborder: 1px solid var(--c-border);\nborder-radius: 14px;\npadding: 22px;\nbox-shadow: var(--c-shadow);\ndisplay: flex; flex-direction: column; gap: 12px;\nmin-width: 0;\n}\n.fmstr-cmp-tmpl-cmp__card--featured {\nborder-color: var(--c-edge);\nbackground: var(--c-tint);\nbox-shadow: 0 4px 18px rgba(105,65,198,.10);\n}\n.fmstr-cmp-tmpl-cmp__chip {\ndisplay: inline-flex; align-items: center;\nfont-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.08em !important;\ntext-transform: uppercase; color: var(--c-violet-700) !important;\nbackground: var(--c-tint); border: 1px solid var(--c-edge);\npadding: 4px 10px; border-radius: 9999px;\nalign-self: flex-start;\n}\n.fmstr-cmp-tmpl-cmp__name {\nfont-size: 18px !important; font-weight: 700 !important; color: var(--c-fg-1);\nmargin: 0 !important; line-height: 1.3 !important;\n}\n.fmstr-cmp-tmpl-cmp__best {\nfont-size: 13.5px !important; color: var(--c-fg-3); margin: 0 !important;\n}\n.fmstr-cmp-tmpl-cmp__best strong { color: var(--c-fg-1); font-weight: 600; }\n.fmstr-cmp-tmpl-cmp__divider {\nheight: 1px; background: var(--c-border); margin: 4px 0; border: 0;\n}\n.fmstr-cmp-tmpl-cmp__list {\nmargin: 0; padding: 0; list-style: none;\ndisplay: flex; flex-direction: column; gap: 8px;\n}\n.fmstr-cmp-tmpl-cmp__item {\ndisplay: block; position: relative; padding-left: 26px;\nfont-size: 14px; line-height: 1.5; color: var(--c-fg-2);\n}\n.fmstr-cmp-tmpl-cmp__item::before {\ncontent: \"\\2713\";\nposition: absolute; left: 0; top: 0.05em;\ncolor: var(--c-good); font-weight: 700; line-height: 1.45;\n}\n.fmstr-cmp-tmpl-cmp__item--con::before { content: \"\\2717\"; color: var(--c-bad); position: absolute; left: 0; top: 0.05em; font-weight: 700; }\n.fmstr-cmp-tmpl-cmp__rules {\nmargin: 28px 0 0; padding: 18px 22px;\nbackground: var(--c-tint); border: 1px solid var(--c-edge);\nborder-radius: 12px;\ndisplay: flex; flex-direction: column; gap: 8px;\n}\n.fmstr-cmp-tmpl-cmp__rules-label {\nfont-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.08em !important;\ntext-transform: uppercase; color: var(--c-violet-700) !important; margin: 0 !important;\n}\n.fmstr-cmp-tmpl-cmp__rules-list {\nmargin: 0 !important; padding: 0 0 0 20px !important;\nfont-size: 14.5px; line-height: 1.6; color: var(--c-fg-1);\ndisplay: flex; flex-direction: column; gap: 6px;\n}\n\n@media (max-width: 920px) {\n.fmstr-cmp-tmpl-cmp__grid { grid-template-columns: 1fr; gap: 12px; }\n}\n@media (max-width: 540px) {\n.fmstr-cmp-tmpl-cmp { padding: 36px 0; }\n.fmstr-cmp-tmpl-cmp__card { padding: 18px 20px; }\n}\n\n\n\u002F* mobile-safety-v2 *\u002F\n.fmstr-cmp-tmpl-cmp img, .fmstr-cmp-tmpl-cmp table, .fmstr-cmp-tmpl-cmp pre, .fmstr-cmp-tmpl-cmp iframe, .fmstr-cmp-tmpl-cmp video { max-width: 100%; }\n.fmstr-cmp-tmpl-cmp > * { min-width: 0; }\n.fmstr-cmp-tmpl-cmp [class*='__grid'] > *, .fmstr-cmp-tmpl-cmp [class*='__list'] > *, .fmstr-cmp-tmpl-cmp [class*='__cards'] > * { min-width: 0; max-width: 100%; }\n@media (max-width: 540px) {\n  .fmstr-cmp-tmpl-cmp pre { overflow-x: auto; -webkit-overflow-scrolling: touch; }\n  .fmstr-cmp-tmpl-cmp table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }\n}\n\u003C\u002Fstyle>\n\n\u003Csection class=\"fmstr-cmp-tmpl-cmp\" aria-labelledby=\"fmstr-cmp-tmpl-cmp-h2\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-cmp__container\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-cmp__head\">\n\u003Ch2 class=\"fmstr-cmp-tmpl-cmp__h2\" id=\"fmstr-cmp-tmpl-cmp-h2\">Which method should you pick?\u003C\u002Fh2>\n\u003Cp class=\"fmstr-cmp-tmpl-cmp__intro\">Three free routes from form submission to a Google Sheet row. Match the method to where you already are.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"fmstr-cmp-tmpl-cmp__grid\">\n\n\u003Cdiv class=\"fmstr-cmp-tmpl-cmp__card\">\n\u003Cspan class=\"fmstr-cmp-tmpl-cmp__chip\">Method 1\u003C\u002Fspan>\n\u003Ch3 class=\"fmstr-cmp-tmpl-cmp__name\">Google Forms\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-cmp__best\">\u003Cstrong>Best for:\u003C\u002Fstrong> A form you do not need to embed on your own site.\u003C\u002Fp>\n\u003Chr class=\"fmstr-cmp-tmpl-cmp__divider\">\n\u003Cul class=\"fmstr-cmp-tmpl-cmp__list\">\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item\">2-minute setup, no code at all.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item\">Free with any Google account.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item\">Responses auto-link to a Sheet.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item fmstr-cmp-tmpl-cmp__item--con\">Lives on a Google URL, not your domain.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item fmstr-cmp-tmpl-cmp__item--con\">Limited design control.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fdiv>\n\n\u003Cdiv class=\"fmstr-cmp-tmpl-cmp__card\">\n\u003Cspan class=\"fmstr-cmp-tmpl-cmp__chip\">Method 2\u003C\u002Fspan>\n\u003Ch3 class=\"fmstr-cmp-tmpl-cmp__name\">Google Apps Script\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-cmp__best\">\u003Cstrong>Best for:\u003C\u002Fstrong> A custom HTML form you already have on your site.\u003C\u002Fp>\n\u003Chr class=\"fmstr-cmp-tmpl-cmp__divider\">\n\u003Cul class=\"fmstr-cmp-tmpl-cmp__list\">\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item\">Free forever, no usage cap on Sheets writes (within Google quotas).\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item\">Paste-ready code, no edits required.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item\">Stays on your domain, no third-party branding.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item fmstr-cmp-tmpl-cmp__item--con\">20-40 minute setup.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item fmstr-cmp-tmpl-cmp__item--con\">You maintain the script and the deployment.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fdiv>\n\n\u003Cdiv class=\"fmstr-cmp-tmpl-cmp__card fmstr-cmp-tmpl-cmp__card--featured\">\n\u003Cspan class=\"fmstr-cmp-tmpl-cmp__chip\">Method 3 &middot; No-code\u003C\u002Fspan>\n\u003Ch3 class=\"fmstr-cmp-tmpl-cmp__name\">Formester\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-cmp__best\">\u003Cstrong>Best for:\u003C\u002Fstrong> Embedding on any site with spam control, conditional logic, and Sheets sync.\u003C\u002Fp>\n\u003Chr class=\"fmstr-cmp-tmpl-cmp__divider\">\n\u003Cul class=\"fmstr-cmp-tmpl-cmp__list\">\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item\">5-minute setup, no code at all.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item\">Free plan includes unlimited responses.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item\">Native \u003Ca class=\"fmstr-cmp-tmpl-cmp__link\" href=\"https:\u002F\u002Fformester.com\u002Fintegrations\u002F\">Google Sheets integration\u003C\u002Fa>, OAuth, retries handled.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item\">Spam filtering, conditional logic, analytics built in.\u003C\u002Fli>\n\u003Cli class=\"fmstr-cmp-tmpl-cmp__item fmstr-cmp-tmpl-cmp__item--con\">Branded footer on the free plan.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdiv>\n\n\u003Cdiv class=\"fmstr-cmp-tmpl-cmp__rules\">\n\u003Cp class=\"fmstr-cmp-tmpl-cmp__rules-label\">Decision rule\u003C\u002Fp>\n\u003Cul class=\"fmstr-cmp-tmpl-cmp__rules-list\">\n\u003Cli>If the form already exists in HTML and you are fine maintaining a script, use Apps Script.\u003C\u002Fli>\n\u003Cli>If you do not need to embed the form on your own domain, use Google Forms.\u003C\u002Fli>\n\u003Cli>If you want zero maintenance, spam control, conditional logic, and Google Sheets sync in one place, use a no-code form builder like Formester.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\n\u003Cstyle>\n.fmstr-cmp-tmpl-steps a { text-decoration: none !important; }\n.fmstr-cmp-tmpl-steps a.fmstr-cmp-tmpl-steps__link { color: var(--c-violet-600) !important; font-weight: 600; }\n.fmstr-cmp-tmpl-steps a.fmstr-cmp-tmpl-steps__link:hover { text-decoration: underline !important; }\n.fmstr-cmp-tmpl-steps {\n--c-card: #ffffff;\n--c-fg-1: #101828; --c-fg-2: #475467; --c-fg-3: #697586;\n--c-violet-500: #7f56d9; --c-violet-600: #6941c6; --c-violet-700: #5b34b1;\n--c-tint: #f7f3ff; --c-edge: #e4d7ff;\n--c-border: #eaecf0;\n--c-code-bg: #0f172a; --c-code-fg: #e2e8f0;\n--c-shadow: 0 1px 3px rgba(16,24,40,.05);\nbackground: transparent;\npadding: 48px 0;\nfont-family: inherit;\ncolor: var(--c-fg-1);\ntext-align: left !important;\noverflow-x: hidden;\n}\n.fmstr-cmp-tmpl-steps *, .fmstr-cmp-tmpl-steps *::before, .fmstr-cmp-tmpl-steps *::after { box-sizing: border-box; }\n.fmstr-cmp-tmpl-steps > *, .fmstr-cmp-tmpl-steps > * > * { min-width: 0; }\n.fmstr-cmp-tmpl-steps__container { max-width: 1200px; margin: 0 auto; }\n.fmstr-cmp-tmpl-steps__head { margin: 0 0 28px !important; }\n.fmstr-cmp-tmpl-steps__h2 {\nfont-size: clamp(26px, 3vw, 36px) !important; font-weight: 700 !important; line-height: 1.15 !important;\nletter-spacing: -.02em !important; margin: 0 !important; color: var(--c-fg-1);\n}\n.fmstr-cmp-tmpl-steps__intro { color: var(--c-fg-3); font-size: 17px !important; line-height: 1.6 !important; margin: 14px 0 0 !important; }\n.fmstr-cmp-tmpl-steps__list {\ndisplay: flex; flex-direction: column; gap: 14px;\nmargin: 0; padding: 0; list-style: none;\n}\n.fmstr-cmp-tmpl-steps__item {\nbackground: var(--c-card);\nborder: 1px solid var(--c-border);\nborder-radius: 14px;\npadding: 22px 24px;\nbox-shadow: var(--c-shadow);\ndisplay: flex; gap: 12px;\nalign-items: flex-start;\nmin-width: 0;\n}\n.fmstr-cmp-tmpl-steps__num {\nflex-shrink: 0;\nwidth: 26px; line-height: 1; height: 26px; border-radius: 7px;\nbackground: var(--c-tint);\nborder: 1px solid var(--c-edge);\ncolor: var(--c-violet-700) !important;\nfont-weight: 800; font-size: 13px;\ndisplay: inline-flex; align-items: center; justify-content: center;\n}\n.fmstr-cmp-tmpl-steps__main { flex: 1; min-width: 0; }\n.fmstr-cmp-tmpl-steps__title {\nfont-size: 17px !important; font-weight: 700 !important; line-height: 1.3 !important;\ncolor: var(--c-fg-1); margin: 0 0 6px !important;\n}\n.fmstr-cmp-tmpl-steps__body {\nfont-size: 15px !important; line-height: 1.6 !important;\ncolor: var(--c-fg-2); margin: 0 0 10px !important;\n}\n.fmstr-cmp-tmpl-steps__body:last-child { margin-bottom: 0 !important; }\n.fmstr-cmp-tmpl-steps__body code {\nbackground: #f4f4f7; padding: 1px 6px; border-radius: 5px;\nfont-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\nfont-size: 13.5px; color: var(--c-violet-700);\nborder: 1px solid var(--c-border);\n}\n.fmstr-cmp-tmpl-steps__code {\nmargin: 12px 0 4px;\nbackground: var(--c-code-bg);\ncolor: var(--c-code-fg);\nborder-radius: 10px;\npadding: 16px 18px;\noverflow-x: auto;\nfont-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\nfont-size: 13px;\nline-height: 1.6;\nwhite-space: pre;\nmax-width: 100%;\n}\n.fmstr-cmp-tmpl-steps__code-label {\ndisplay: block; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\nfont-size: 11.5px; font-weight: 700; letter-spacing: 0.06em;\ntext-transform: uppercase; color: #94a3b8;\nmargin: 0 0 10px;\n}\n.fmstr-cmp-tmpl-steps__note {\nmargin: 12px 0 0 !important; padding: 12px 14px;\nbackground: var(--c-tint); border: 1px solid var(--c-edge);\nborder-radius: 10px;\nfont-size: 14px !important; line-height: 1.55 !important;\ncolor: var(--c-fg-1);\n}\n.fmstr-cmp-tmpl-steps__note strong { color: var(--c-violet-700); font-weight: 700; }\n\n@media (max-width: 540px) {\n.fmstr-cmp-tmpl-steps { padding: 36px 0; }\n.fmstr-cmp-tmpl-steps__item { padding: 18px 20px; gap: 14px; }\n.fmstr-cmp-tmpl-steps__num { width: 34px; height: 34px; font-size: 15px; }\n.fmstr-cmp-tmpl-steps__title { font-size: 16px !important; }\n.fmstr-cmp-tmpl-steps__body { font-size: 14.5px !important; }\n.fmstr-cmp-tmpl-steps__code { font-size: 12px; padding: 14px 16px; }\n}\n\n\n\u002F* mobile-safety-v2 *\u002F\n.fmstr-cmp-tmpl-steps img, .fmstr-cmp-tmpl-steps table, .fmstr-cmp-tmpl-steps pre, .fmstr-cmp-tmpl-steps iframe, .fmstr-cmp-tmpl-steps video { max-width: 100%; }\n.fmstr-cmp-tmpl-steps > * { min-width: 0; }\n.fmstr-cmp-tmpl-steps [class*='__grid'] > *, .fmstr-cmp-tmpl-steps [class*='__list'] > *, .fmstr-cmp-tmpl-steps [class*='__cards'] > * { min-width: 0; max-width: 100%; }\n@media (max-width: 540px) {\n  .fmstr-cmp-tmpl-steps pre { overflow-x: auto; -webkit-overflow-scrolling: touch; }\n  .fmstr-cmp-tmpl-steps table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }\n}\n\n\n\n\u002F* mobile-inline-num *\u002F\n@media (max-width: 540px) {\n  .fmstr-cmp-tmpl-steps__item { padding: 18px 16px; gap: 10px; flex-direction: row; align-items: flex-start; }\n  .fmstr-cmp-tmpl-steps__num { width: 28px; height: 28px; font-size: 13px; border-radius: 8px; }\n}\n\n\u002F* step-inline-num-restructure *\u002F\n.fmstr-cmp-tmpl-steps__item { display: block !important; }\n.fmstr-cmp-tmpl-steps__title { display: block; }\n.fmstr-cmp-tmpl-steps__num { display: inline-block !important; vertical-align: 2px; margin-right: 8px; padding: 2px 8px; width: auto !important; height: auto !important; border-radius: 6px; font-size: 12.5px !important; line-height: 1.3 !important; }\n@media (max-width: 540px) {\n  .fmstr-cmp-tmpl-steps__num { font-size: 11.5px !important; padding: 2px 7px; margin-right: 6px; }\n}\n\u003C\u002Fstyle>\n\n\u003Csection class=\"fmstr-cmp-tmpl-steps\" aria-labelledby=\"fmstr-cmp-tmpl-steps-h2\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-steps__container\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-steps__head\">\n\u003Ch2 class=\"fmstr-cmp-tmpl-steps__h2\" id=\"fmstr-cmp-tmpl-steps-h2\">Method 2: Google Apps Script, full working setup\u003C\u002Fh2>\n\u003Cp class=\"fmstr-cmp-tmpl-steps__intro\">\u003Cstrong>Method 1 is one click in Google Forms. Method 3 is a no-code toggle in Formester.\u003C\u002Fstrong> The only method that needs a real walkthrough is Method 2. Here it is, in full.\u003C\u002Fp>\n\u003Cp class=\"fmstr-cmp-tmpl-steps__intro\">Paste-ready code that handles any field name in your HTML form, sanitizes against \u003Ca class=\"fmstr-cmp-tmpl-steps__link\" href=\"https:\u002F\u002Fowasp.org\u002Fwww-community\u002Fattacks\u002FCSV_Injection\">CSV formula injection\u003C\u002Fa>, and works with both \u003Ccode>application\u002Fjson\u003C\u002Fcode> and standard form-encoded submissions.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Col class=\"fmstr-cmp-tmpl-steps__list\">\n\n\u003Cli class=\"fmstr-cmp-tmpl-steps__item\">\n\u003Ch3 class=\"fmstr-cmp-tmpl-steps__title\">\u003Cspan class=\"fmstr-cmp-tmpl-steps__num\" aria-hidden=\"true\">1\u003C\u002Fspan>Create the Sheet\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-steps__body\">Open \u003Ca class=\"fmstr-cmp-tmpl-steps__link\" href=\"https:\u002F\u002Fdocs.google.com\u002Fspreadsheets\u002F\">Google Sheets\u003C\u002Fa> and create a new spreadsheet. Name the tab \u003Ccode>Submissions\u003C\u002Fcode>. In row 1, add column headers that match the \u003Ccode>name\u003C\u002Fcode> attributes on your form inputs. Add \u003Ccode>timestamp\u003C\u002Fcode> as the first column. The script reads row 1 as the source of truth for column mapping, so a typo in a header is a typo in the data.\u003C\u002Fp>\n\u003Cp class=\"fmstr-cmp-tmpl-steps__body\">Example row 1: \u003Ccode>timestamp | name | email | message\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\n\u003Cli class=\"fmstr-cmp-tmpl-steps__item\">\n\u003Ch3 class=\"fmstr-cmp-tmpl-steps__title\">\u003Cspan class=\"fmstr-cmp-tmpl-steps__num\" aria-hidden=\"true\">2\u003C\u002Fspan>Open Apps Script and paste the code\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-steps__body\">Inside the Sheet, go to Extensions, then Apps Script. Delete the boilerplate and paste this:\u003C\u002Fp>\n\u003Cpre class=\"fmstr-cmp-tmpl-steps__code\">\u003Cspan class=\"fmstr-cmp-tmpl-steps__code-label\">Code.gs\u003C\u002Fspan>const SHEET_NAME = 'Submissions';\nconst SCRIPT_PROP = PropertiesService.getScriptProperties();\n\nfunction initialSetup() {\n  const activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();\n  SCRIPT_PROP.setProperty('key', activeSpreadsheet.getId());\n}\n\nfunction doPost(e) {\n  const lock = LockService.getScriptLock();\n  lock.tryLock(10000);\n\n  try {\n    const doc = SpreadsheetApp.openById(SCRIPT_PROP.getProperty('key'));\n    const sheet = doc.getSheetByName(SHEET_NAME);\n\n    const headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];\n    const nextRow = sheet.getLastRow() + 1;\n\n    \u002F\u002F Honeypot: if a hidden field named \"website\" is filled, drop the submission.\n    if (e.parameter.website) {\n      return ContentService.createTextOutput(JSON.stringify({ result: 'ignored' }))\n        .setMimeType(ContentService.MimeType.JSON);\n    }\n\n    const sanitize = (value) =&gt; {\n      if (typeof value !== 'string') return value;\n      \u002F\u002F Block CSV \u002F formula injection\n      return \u002F^[=+\\-@]\u002F.test(value) ? \"'\" + value : value;\n    };\n\n    const newRow = headers.map((header) =&gt; {\n      if (header === 'timestamp') return new Date();\n      return sanitize(e.parameter[header] || '');\n    });\n\n    sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow]);\n\n    return ContentService\n      .createTextOutput(JSON.stringify({ result: 'success', row: nextRow }))\n      .setMimeType(ContentService.MimeType.JSON);\n  } catch (err) {\n    return ContentService\n      .createTextOutput(JSON.stringify({ result: 'error', error: err.toString() }))\n      .setMimeType(ContentService.MimeType.JSON);\n  } finally {\n    lock.releaseLock();\n  }\n}\u003C\u002Fpre>\n\u003Cp class=\"fmstr-cmp-tmpl-steps__body\">Save the script. Then in the function dropdown at the top of the editor, pick \u003Ccode>initialSetup\u003C\u002Fcode> and click Run once. Approve the OAuth prompt when Google asks. You will only do this once.\u003C\u002Fp>\n\u003C\u002Fli>\n\n\u003Cli class=\"fmstr-cmp-tmpl-steps__item\">\n\u003Ch3 class=\"fmstr-cmp-tmpl-steps__title\">\u003Cspan class=\"fmstr-cmp-tmpl-steps__num\" aria-hidden=\"true\">3\u003C\u002Fspan>Deploy as a web app\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-steps__body\">Click Deploy, then New deployment. Pick Web app. Set Execute as: Me. Set Who has access: Anyone. Click Deploy. Copy the long URL that ends in \u003Ccode>\u002Fexec\u003C\u002Fcode>. That URL is your form endpoint.\u003C\u002Fp>\n\u003Cdiv class=\"fmstr-cmp-tmpl-steps__note\">\u003Cstrong>Heads-up:\u003C\u002Fstrong> every time you change the script, redeploy and grab the new URL. Old URLs keep working at the old script version, which is the most common cause of \"I updated my code and nothing changed\" complaints.\u003C\u002Fdiv>\n\u003C\u002Fli>\n\n\u003Cli class=\"fmstr-cmp-tmpl-steps__item\">\n\u003Ch3 class=\"fmstr-cmp-tmpl-steps__title\">\u003Cspan class=\"fmstr-cmp-tmpl-steps__num\" aria-hidden=\"true\">4\u003C\u002Fspan>Wire up your HTML form\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-steps__body\">Drop this into your page. Replace \u003Ccode>PASTE_YOUR_DEPLOYMENT_URL_HERE\u003C\u002Fcode> with the URL from step 3.\u003C\u002Fp>\n\u003Cpre class=\"fmstr-cmp-tmpl-steps__code\">\u003Cspan class=\"fmstr-cmp-tmpl-steps__code-label\">index.html\u003C\u002Fspan>&lt;form id=\"contact-form\"&gt;\n  &lt;input type=\"text\" name=\"name\" required placeholder=\"Name\" \u002F&gt;\n  &lt;input type=\"email\" name=\"email\" required placeholder=\"Email\" \u002F&gt;\n  &lt;textarea name=\"message\" required placeholder=\"Message\"&gt;&lt;\u002Ftextarea&gt;\n  &lt;!-- Honeypot: hidden from humans, filled by bots --&gt;\n  &lt;input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\" style=\"position:absolute;left:-9999px\" \u002F&gt;\n  &lt;button type=\"submit\"&gt;Send&lt;\u002Fbutton&gt;\n&lt;\u002Fform&gt;\n\n&lt;script&gt;\n  const form = document.getElementById('contact-form');\n  const endpoint = 'PASTE_YOUR_DEPLOYMENT_URL_HERE';\n\n  form.addEventListener('submit', async (e) =&gt; {\n    e.preventDefault();\n    const data = new FormData(form);\n    try {\n      await fetch(endpoint, { method: 'POST', body: data });\n      form.reset();\n      alert('Thanks. We will be in touch.');\n    } catch (err) {\n      alert('Something went wrong. Try again in a minute.');\n    }\n  });\n&lt;\u002Fscript&gt;\u003C\u002Fpre>\n\u003Cp class=\"fmstr-cmp-tmpl-steps__body\">Submit a test entry. The row should appear in your Sheet within a second.\u003C\u002Fp>\n\u003Cdiv class=\"fmstr-cmp-tmpl-steps__note\">\u003Cstrong>Rate limit to know about:\u003C\u002Fstrong> Google caps the Sheets-backed Apps Script at roughly \u003Ca class=\"fmstr-cmp-tmpl-steps__link\" href=\"https:\u002F\u002Fdevelopers.google.com\u002Fsheets\u002Fapi\u002Flimits\">100 requests per 100 seconds per user\u003C\u002Fa>, or one write per second. For a contact form that is plenty. If you expect bursts (a launch, a paid ad campaign), queue submissions or use a builder that handles retries.\u003C\u002Fdiv>\n\u003C\u002Fli>\n\n\u003C\u002Fol>\n\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\u003Cstyle>\n.fmstr-cmp-tmpl-midcta a { text-decoration: none !important; }\n.fmstr-cmp-tmpl-midcta { background: transparent; padding: 48px 0; font-family: inherit; color: #101828; overflow-x: hidden; }\n.fmstr-cmp-tmpl-midcta *, .fmstr-cmp-tmpl-midcta *::before, .fmstr-cmp-tmpl-midcta *::after { box-sizing: border-box; }\n.fmstr-cmp-tmpl-midcta__container { max-width: 1200px; margin: 0 auto; }\n.fmstr-cmp-tmpl-midcta__card { width: 100%; background: linear-gradient(135deg, #f7f3ff 0%, #faf7ff 100%); border: 1px solid #e4d7ff; border-radius: 18px; padding: 48px 32px; text-align: center; box-shadow: 0 4px 24px rgba(127, 86, 217, 0.08); }\n.fmstr-cmp-tmpl-midcta__inner { max-width: 760px; margin: 0 auto; }\n.fmstr-cmp-tmpl-midcta__eyebrow { display: inline-block; padding: 4px 12px; background: #ffffff; border: 1px solid #e4d7ff; border-radius: 9999px; color: #5b34b1 !important; font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: 0.06em !important; text-transform: uppercase; margin: 0 0 14px !important; }\n.fmstr-cmp-tmpl-midcta__h2 { font-size: clamp(22px, 3vw, 28px) !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: -0.02em !important; margin: 0 0 12px !important; color: #101828 !important; }\n.fmstr-cmp-tmpl-midcta__body { font-size: 16px !important; line-height: 1.55 !important; color: #475467 !important; margin: 0 0 22px !important; }\n.fmstr-cmp-tmpl-midcta__cta { display: inline-flex !important; align-items: center; gap: 8px; background: #7f56d9 !important; color: #ffffff !important; border: 1px solid #7f56d9 !important; padding: 12px 26px !important; border-radius: 9999px !important; font-size: 15px !important; font-weight: 600 !important; text-decoration: none !important; transition: background .15s ease, transform .15s ease; }\n.fmstr-cmp-tmpl-midcta__cta:hover { background: #6941c6 !important; border-color: #6941c6 !important; color: #ffffff !important; text-decoration: none !important; transform: translateY(-1px); }\n.fmstr-cmp-tmpl-midcta__cta::after { content: \"\\2192\"; transition: transform .15s ease; }\n.fmstr-cmp-tmpl-midcta__cta:hover::after { transform: translateX(2px); }\n.fmstr-cmp-tmpl-midcta__strip { font-size: 13px !important; color: #697586 !important; margin: 20px 0 0 !important; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 14px; width: 100%; }\n.fmstr-cmp-tmpl-midcta__strip span { color: #d6c2f7; }\n@media (max-width: 760px) {\n  .fmstr-cmp-tmpl-midcta__card { padding: 36px 22px; }\n}\n@media (max-width: 540px) {\n  .fmstr-cmp-tmpl-midcta { padding: 32px 0; }\n  .fmstr-cmp-tmpl-midcta__card { padding: 26px 16px; border-radius: 14px; }\n  .fmstr-cmp-tmpl-midcta__h2 { font-size: 20px !important; }\n  .fmstr-cmp-tmpl-midcta__body { font-size: 15px !important; }\n  .fmstr-cmp-tmpl-midcta__cta { padding: 11px 22px !important; font-size: 14.5px !important; width: 100%; justify-content: center; }\n  .fmstr-cmp-tmpl-midcta__strip { font-size: 12.5px !important; gap: 4px 10px; }\n}\n\u003C\u002Fstyle>\n\n\u003Csection class=\"fmstr-cmp-tmpl-midcta\" aria-labelledby=\"fmstr-cmp-tmpl-midcta-h2\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-midcta__container\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-midcta__card\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-midcta__inner\">\n\u003Cspan class=\"fmstr-cmp-tmpl-midcta__eyebrow\">No-code path\u003C\u002Fspan>\n\u003Ch2 class=\"fmstr-cmp-tmpl-midcta__h2\" id=\"fmstr-cmp-tmpl-midcta-h2\">Send HTML form data to Google Sheets, without writing a single line of code\u003C\u002Fh2>\n\u003Cp class=\"fmstr-cmp-tmpl-midcta__body\">Drop in a Formester form, connect Google Sheets, done. Two-way sync, free plan, no script to maintain.\u003C\u002Fp>\n\u003Ca class=\"fmstr-cmp-tmpl-midcta__cta\" href=\"https:\u002F\u002Fapp.formester.com\u002Fusers\u002Fsign_up\" style=\"background: #7f56d9 !important; color: #ffffff !important; border-color: #7f56d9 !important; text-decoration: none !important;\">Start free on Formester\u003C\u002Fa>\n\u003Cp class=\"fmstr-cmp-tmpl-midcta__strip\">Free forever plan\u003Cspan>&bull;\u003C\u002Fspan>No credit card\u003Cspan>&bull;\u003C\u002Fspan>Setup in 2 minutes\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\u003Cstyle>\n\u002F* host-link-override *\u002F\n.fmstr-cmp-tmpl-faq a { text-decoration: none !important; }\n.fmstr-cmp-tmpl-faq {\n--c-card: #ffffff;\n--c-fg-1: #101828; --c-fg-2: #475467; --c-fg-3: #697586;\n--c-violet-600: #6941c6;\n--c-tint: #f7f3ff; --c-edge: #e4d7ff;\n--c-border: #eaecf0; --c-chip-bg: #f4f4f7;\n--c-shadow: 0 1px 3px rgba(16,24,40,.05);\n\nbackground: transparent; padding: 56px 24px;\nfont-family: inherit;\ncolor: var(--c-fg-1);\ntext-align: left !important; overflow-x: hidden; -webkit-text-size-adjust: 100%;}\n.fmstr-cmp-tmpl-faq *, .fmstr-cmp-tmpl-faq *::before, .fmstr-cmp-tmpl-faq *::after { box-sizing: border-box; }\n.fmstr-cmp-tmpl-faq__container { max-width: 1200px; margin: 0 auto; }\n.fmstr-cmp-tmpl-faq__h2 { font-size: clamp(26px, 3vw, 36px) !important; font-weight: 700 !important; line-height: 1.15 !important; letter-spacing: -.02em !important; margin: 0 !important; color: var(--c-fg-1); text-align: left; }\n.fmstr-cmp-tmpl-faq__intro { color: var(--c-fg-3); font-size: 17px !important; line-height: 1.6 !important; margin: 14px 0 28px !important; text-align: left; }\n.fmstr-cmp-tmpl-faq__list { display: flex; flex-direction: column; gap: 12px; }\n.fmstr-cmp-tmpl-faq__item {\nbackground: var(--c-card); border: 1px solid var(--c-border);\nborder-radius: 14px; box-shadow: var(--c-shadow); overflow: hidden;\n}\n.fmstr-cmp-tmpl-faq__item > summary {\npadding: 18px 22px; cursor: pointer; font-weight: 600; font-size: 16.5px;\ncolor: var(--c-fg-1); display: flex; align-items: center; gap: 14px;\nlist-style: none;\n}\n.fmstr-cmp-tmpl-faq__item > summary::-webkit-details-marker { display: none; }\n.fmstr-cmp-tmpl-faq__item > summary::before {\ncontent: \"\"; width: 28px; height: 28px; border-radius: 8px; flex-shrink: 0;\nbackground-color: var(--c-chip-bg);\nbackground-image: url(\"data:image\u002Fsvg+xml,%3Csvg xmlns='http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg' width='14' height='14' viewBox='0 0 14 14' fill='none' stroke='%2375747f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5l4 4 4-4'\u002F%3E%3C\u002Fsvg%3E\");\nbackground-repeat: no-repeat; background-position: center;\ntransition: transform .15s ease, background-color .15s ease;\n}\n.fmstr-cmp-tmpl-faq__item[open] > summary::before { transform: rotate(180deg); background-color: var(--c-tint); }\n.fmstr-cmp-tmpl-faq__item[open] > summary { color: var(--c-violet-600) !important; }\n.fmstr-cmp-tmpl-faq__answer { padding: 0 22px 22px 64px; color: var(--c-fg-2); font-size: 15.5px; line-height: 1.7; }\n.fmstr-cmp-tmpl-faq__answer a { color: var(--c-violet-600) !important; text-decoration: none !important; font-weight: 600; }\n.fmstr-cmp-tmpl-faq__answer a:hover { text-decoration: underline !important; }\n.fmstr-cmp-tmpl-faq__answer code {\nbackground: var(--c-chip-bg); padding: 1px 6px; border-radius: 5px;\nfont-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\nfont-size: 13.5px; color: var(--c-violet-600);\nborder: 1px solid var(--c-border);\n}\n\n@media (max-width: 760px) {\n.fmstr-cmp-tmpl-faq { padding: 40px 16px; }\n.fmstr-cmp-tmpl-faq__intro { font-size: 15.5px !important; text-align: left; }\n.fmstr-cmp-tmpl-faq__item > summary { padding: 16px 16px; font-size: 15.5px; gap: 12px; }\n.fmstr-cmp-tmpl-faq__item > summary::before { width: 26px; height: 26px; }\n.fmstr-cmp-tmpl-faq__answer { padding: 0 16px 18px 16px; font-size: 15px; line-height: 1.65; }\n}\n\n\n\u002F* mobile-safety-v2 *\u002F\n.fmstr-cmp-tmpl-faq img, .fmstr-cmp-tmpl-faq table, .fmstr-cmp-tmpl-faq pre, .fmstr-cmp-tmpl-faq iframe, .fmstr-cmp-tmpl-faq video { max-width: 100%; }\n.fmstr-cmp-tmpl-faq > * { min-width: 0; }\n.fmstr-cmp-tmpl-faq [class*='__grid'] > *, .fmstr-cmp-tmpl-faq [class*='__list'] > *, .fmstr-cmp-tmpl-faq [class*='__cards'] > * { min-width: 0; max-width: 100%; }\n@media (max-width: 540px) {\n  .fmstr-cmp-tmpl-faq pre { overflow-x: auto; -webkit-overflow-scrolling: touch; }\n  .fmstr-cmp-tmpl-faq table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }\n}\n\u003C\u002Fstyle>\n\n\u003Csection class=\"fmstr-cmp-tmpl-faq\" aria-labelledby=\"fmstr-cmp-tmpl-faq-h2\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-faq__container\">\n\u003Ch2 class=\"fmstr-cmp-tmpl-faq__h2\" id=\"fmstr-cmp-tmpl-faq-h2\">Frequently asked questions\u003C\u002Fh2>\n\u003Cp class=\"fmstr-cmp-tmpl-faq__intro\">Common questions about routing HTML form data into Google Sheets for free.\u003C\u002Fp>\n\u003Cdiv class=\"fmstr-cmp-tmpl-faq__list\">\n\n\u003Cdetails class=\"fmstr-cmp-tmpl-faq__item\">\n\u003Csummary>Is it really free to send HTML form data to Google Sheets?\u003C\u002Fsummary>\n\u003Cdiv class=\"fmstr-cmp-tmpl-faq__answer\">Yes. Google Apps Script is free with any Google account, with the rate limit of one Sheets write per second per user. Google Forms is free. Formester's free plan includes unlimited submissions. You only start paying when your volume crosses Google's API quota or a builder's free-plan cap.\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails class=\"fmstr-cmp-tmpl-faq__item\">\n\u003Csummary>How secure is form data in Google Sheets?\u003C\u002Fsummary>\n\u003Cdiv class=\"fmstr-cmp-tmpl-faq__answer\">Google encrypts data at rest and in transit. The risk is in sharing and CSV injection, not the storage. Lock down sharing to specific accounts, do not share by link, neutralize formula characters on input (the script above does this), and never use a Sheet for payment data or passwords.\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails class=\"fmstr-cmp-tmpl-faq__item\">\n\u003Csummary>What is the rate limit on Apps Script writes to Sheets?\u003C\u002Fsummary>\n\u003Cdiv class=\"fmstr-cmp-tmpl-faq__answer\">Roughly 100 requests per 100 seconds per user, per Google's published quotas. For a contact form that allows a sustained one submission per second, with bursts handled by retries.\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails class=\"fmstr-cmp-tmpl-faq__item\">\n\u003Csummary>Can I send file uploads from the form into Google Sheets?\u003C\u002Fsummary>\n\u003Cdiv class=\"fmstr-cmp-tmpl-faq__answer\">Sheets cannot hold a file, but it can hold a link. With Apps Script, you can write the file to Google Drive and write the Drive URL into the cell. With a no-code builder, the \u003Ca href=\"https:\u002F\u002Fformester.com\u002Ffeatures\u002F\">file upload field in Formester\u003C\u002Fa> handles this and stores the file separately.\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails class=\"fmstr-cmp-tmpl-faq__item\">\n\u003Csummary>How do I add CAPTCHA or spam protection?\u003C\u002Fsummary>\n\u003Cdiv class=\"fmstr-cmp-tmpl-faq__answer\">The script above includes a honeypot field. For more, add Google reCAPTCHA v3 on the client and verify the token server-side before writing to the Sheet. Builders ship CAPTCHA, rate limiting, and IP blocks as a toggle.\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails class=\"fmstr-cmp-tmpl-faq__item\">\n\u003Csummary>How do I get an email when someone submits the form?\u003C\u002Fsummary>\n\u003Cdiv class=\"fmstr-cmp-tmpl-faq__answer\">Add \u003Ccode>MailApp.sendEmail({ to: 'you@example.com', subject: 'New form submission', body: JSON.stringify(e.parameter) })\u003C\u002Fcode> inside the \u003Ccode>doPost\u003C\u002Fcode> function in the script. Or use the \u003Ca href=\"https:\u002F\u002Fformester.com\u002Ffeatures\u002Fautoresponder-email\u002F\">autoresponder feature\u003C\u002Fa> in Formester and skip the code.\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails class=\"fmstr-cmp-tmpl-faq__item\">\n\u003Csummary>Can I use this on Netlify, Vercel, or any static site?\u003C\u002Fsummary>\n\u003Cdiv class=\"fmstr-cmp-tmpl-faq__answer\">Yes. The Apps Script deployment URL is just a \u003Ccode>fetch\u003C\u002Fcode> target. It works from any frontend, hosted anywhere, with no backend on your side.\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails class=\"fmstr-cmp-tmpl-faq__item\">\n\u003Csummary>Can I move from this setup to a database later?\u003C\u002Fsummary>\n\u003Cdiv class=\"fmstr-cmp-tmpl-faq__answer\">Easily. Sheets is a great starter store. When you cross a few hundred submissions a week, route the same form to a database or CRM in parallel with the Sheet. Most CRMs ship a Google Sheets sync, so you can keep the Sheet for the team and the CRM for the system of record.\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\n\u003Cstyle>\n\u002F* host-link-override *\u002F\n.fmstr-cmp-tmpl-rel a { text-decoration: none !important; }\n.fmstr-cmp-tmpl-rel {\n--c-card: #ffffff;\n--c-fg-1: #101828; --c-fg-2: #475467; --c-fg-3: #697586;\n--c-violet-500: #7f56d9; --c-violet-600: #6941c6;\n--c-tint: #f7f3ff; --c-edge: #e4d7ff;\n--c-border: #eaecf0;\n--c-shadow: 0 4px 20px rgba(16,24,40,.06);\n\nbackground: transparent;\npadding: 56px 24px;\nfont-family: inherit;\ncolor: var(--c-fg-1);\ntext-align: left !important; overflow-x: hidden; -webkit-text-size-adjust: 100%;}\n.fmstr-cmp-tmpl-rel *, .fmstr-cmp-tmpl-rel *::before, .fmstr-cmp-tmpl-rel *::after { box-sizing: border-box; }\n.fmstr-cmp-tmpl-rel__container { max-width: 1200px; margin: 0 auto; }\n.fmstr-cmp-tmpl-rel__head { margin: 0 0 28px !important; text-align: left; }\n.fmstr-cmp-tmpl-rel__h2 { font-size: clamp(26px, 3vw, 36px) !important; font-weight: 700 !important; line-height: 1.15 !important; letter-spacing: -.02em !important; margin: 0 !important; color: var(--c-fg-1); text-align: left; }\n.fmstr-cmp-tmpl-rel__intro { color: var(--c-fg-3); font-size: 17px !important; line-height: 1.6 !important; margin: 14px 0 0 !important; text-align: left; }\n\n.fmstr-cmp-tmpl-rel__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }\n.fmstr-cmp-tmpl-rel__card {\nbackground: var(--c-card); border: 1px solid var(--c-border);\nborder-radius: 14px; padding: 20px 22px; display: flex; flex-direction: column; gap: 8px;\ntext-decoration: none !important; color: inherit !important; transition: all .15s ease;\nposition: relative;\n}\n.fmstr-cmp-tmpl-rel__card:hover { border-color: var(--c-edge); box-shadow: var(--c-shadow); transform: translateY(-1px); }\n.fmstr-cmp-tmpl-rel__chip {\ndisplay: inline-block; padding: 3px 10px; border-radius: 9999px;\nbackground: var(--c-tint); border: 1px solid var(--c-edge);\ncolor: var(--c-violet-600); font-size: 11.5px; font-weight: 600; letter-spacing: .02em;\ntext-transform: uppercase; align-self: flex-start;\nmargin-bottom: 2px;\n}\n.fmstr-cmp-tmpl-rel__title {\nfont-size: 16px !important; font-weight: 700 !important; color: var(--c-fg-1); margin: 0 !important; line-height: 1.3 !important; text-align: left; }\n.fmstr-cmp-tmpl-rel__body { font-size: 14.5px !important; line-height: 1.55 !important; color: var(--c-fg-2); margin: 0 !important; }\n.fmstr-cmp-tmpl-rel__arrow {\nmargin-top: 6px; color: var(--c-violet-600); font-size: 14px; font-weight: 600;\ndisplay: inline-flex; align-items: center; gap: 6px;\n}\n.fmstr-cmp-tmpl-rel__arrow::after {\ncontent: \"\\2192\"; transition: transform .15s ease; display: inline-block;\n}\n.fmstr-cmp-tmpl-rel__card:hover .fmstr-cmp-tmpl-rel__arrow::after { transform: translateX(3px); }\n\n@media (max-width: 880px) { .fmstr-cmp-tmpl-rel__grid { grid-template-columns: 1fr 1fr; gap: 14px; } }\n@media (max-width: 540px) {\n.fmstr-cmp-tmpl-rel { padding: 40px 16px; }\n.fmstr-cmp-tmpl-rel__grid { grid-template-columns: 1fr; gap: 12px; }\n.fmstr-cmp-tmpl-rel__card { padding: 18px 20px; }\n}\n\n\n\u002F* mobile-safety-v2 *\u002F\n.fmstr-cmp-tmpl-rel img, .fmstr-cmp-tmpl-rel table, .fmstr-cmp-tmpl-rel pre, .fmstr-cmp-tmpl-rel iframe, .fmstr-cmp-tmpl-rel video { max-width: 100%; }\n.fmstr-cmp-tmpl-rel > * { min-width: 0; }\n.fmstr-cmp-tmpl-rel [class*='__grid'] > *, .fmstr-cmp-tmpl-rel [class*='__list'] > *, .fmstr-cmp-tmpl-rel [class*='__cards'] > * { min-width: 0; max-width: 100%; }\n@media (max-width: 540px) {\n  .fmstr-cmp-tmpl-rel pre { overflow-x: auto; -webkit-overflow-scrolling: touch; }\n  .fmstr-cmp-tmpl-rel table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }\n}\n\u003C\u002Fstyle>\n\n\u003Csection class=\"fmstr-cmp-tmpl-rel\" aria-labelledby=\"fmstr-cmp-tmpl-rel-h2\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-rel__container\">\n\u003Cdiv class=\"fmstr-cmp-tmpl-rel__head\">\n\u003Ch2 class=\"fmstr-cmp-tmpl-rel__h2\" id=\"fmstr-cmp-tmpl-rel-h2\">More on connecting forms to Google Sheets\u003C\u002Fh2>\n\u003Cp class=\"fmstr-cmp-tmpl-rel__intro\">More on connecting forms to Google Sheets, building APIs around them, and picking the right builder.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Cdiv class=\"fmstr-cmp-tmpl-rel__grid\">\n\n\u003Ca class=\"fmstr-cmp-tmpl-rel__card\" href=\"https:\u002F\u002Fformester.com\u002Fblog\u002Fbest-form-builders-compatible-with-google-sheets\u002F\">\n\u003Cspan class=\"fmstr-cmp-tmpl-rel__chip\">Listicle\u003C\u002Fspan>\n\u003Ch3 class=\"fmstr-cmp-tmpl-rel__title\">Best form builders compatible with Google Sheets\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-rel__body\">Side-by-side on price, sync mode, and field mapping.\u003C\u002Fp>\n\u003Cspan class=\"fmstr-cmp-tmpl-rel__arrow\">Read\u003C\u002Fspan>\n\u003C\u002Fa>\n\n\u003Ca class=\"fmstr-cmp-tmpl-rel__card\" href=\"https:\u002F\u002Fformester.com\u002Fblog\u002Fhow-to-link-google-sheets-to-google-forms\u002F\">\n\u003Cspan class=\"fmstr-cmp-tmpl-rel__chip\">How-to\u003C\u002Fspan>\n\u003Ch3 class=\"fmstr-cmp-tmpl-rel__title\">How to link Google Sheets to Google Forms\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-rel__body\">The 2-minute setup for the Google Forms route.\u003C\u002Fp>\n\u003Cspan class=\"fmstr-cmp-tmpl-rel__arrow\">Read\u003C\u002Fspan>\n\u003C\u002Fa>\n\n\u003Ca class=\"fmstr-cmp-tmpl-rel__card\" href=\"https:\u002F\u002Fformester.com\u002Fblog\u002Fhow-to-pre-fill-forms-using-google-sheets-and-formester\u002F\">\n\u003Cspan class=\"fmstr-cmp-tmpl-rel__chip\">How-to\u003C\u002Fspan>\n\u003Ch3 class=\"fmstr-cmp-tmpl-rel__title\">Pre-fill forms using Google Sheets and Formester\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-rel__body\">Reverse the flow: pull Sheet data into a form before it loads.\u003C\u002Fp>\n\u003Cspan class=\"fmstr-cmp-tmpl-rel__arrow\">Read\u003C\u002Fspan>\n\u003C\u002Fa>\n\n\u003Ca class=\"fmstr-cmp-tmpl-rel__card\" href=\"https:\u002F\u002Fformester.com\u002Fblog\u002Fhow-to-link-squarespace-forms-to-google-sheets\u002F\">\n\u003Cspan class=\"fmstr-cmp-tmpl-rel__chip\">How-to\u003C\u002Fspan>\n\u003Ch3 class=\"fmstr-cmp-tmpl-rel__title\">How to link Squarespace forms to Google Sheets\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-rel__body\">Same idea, scoped to a Squarespace site.\u003C\u002Fp>\n\u003Cspan class=\"fmstr-cmp-tmpl-rel__arrow\">Read\u003C\u002Fspan>\n\u003C\u002Fa>\n\n\u003Ca class=\"fmstr-cmp-tmpl-rel__card\" href=\"https:\u002F\u002Fformester.com\u002Fintegrations\u002F\">\n\u003Cspan class=\"fmstr-cmp-tmpl-rel__chip\">Formester\u003C\u002Fspan>\n\u003Ch3 class=\"fmstr-cmp-tmpl-rel__title\">Google Sheets integration\u003C\u002Fh3>\n\u003Cp class=\"fmstr-cmp-tmpl-rel__body\">Native sync with OAuth, header mapping, and retries handled.\u003C\u002Fp>\n\u003Cspan class=\"fmstr-cmp-tmpl-rel__arrow\">Open\u003C\u002Fspan>\n\u003C\u002Fa>\n\n\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\n","blog\u002Fblog\u002Fhow-to-send-contact-form-data-to-google-sheets-free.md",{"text":445},"9 min read",1789630286885]