status.health logo status.health logo status.health

Google Forms Newsletter Setup Guide

Google Forms Newsletter Setup Guide

Why Google Forms?

Setup Steps (10 minutes)

1. Create the Google Form

  1. Go to forms.google.com
  2. Click “Blank form”
  3. Name it: “status.health® Blog Newsletter”

2. Add Form Fields

Add these fields in order:

Field 1: Email Address

Field 3: Timestamp (Hidden)

Field 4: Source (Hidden)

3. Set Up Email Notifications

  1. Click the three dots menu (top right) → “Script editor”
  2. Replace the code with:
function onFormSubmit(e) {
  // Get form responses
  var responses = e.response.getItemResponses();
  var email = responses[0].getResponse();
  var consent = responses[1].getResponse();
  var timestamp = new Date().toString();
  var source = responses[3].getResponse() || 'blog.status.health';
  
  // Send email notification
  var subject = 'New Newsletter Subscription - blog.status.health';
  var body = 'New newsletter subscription received:\n\n' +
             'Email: ' + email + '\n' +
             'Consent: ' + consent + '\n' +
             'Time: ' + timestamp + '\n' +
             'Source: ' + source + '\n\n' +
             'View all subscribers: ' + SpreadsheetApp.getActiveSpreadsheet().getUrl();
  
  MailApp.sendEmail({
    to: 'newsletter@status.health',
    subject: subject,
    body: body
  });
}
  1. Click “Save” (name it “Newsletter Notifications”)
  2. Click “Triggers” (clock icon)
  3. Click “Add Trigger”:
    • Function: onFormSubmit
    • Event type: On form submit
    • Click “Save”
  4. Authorize the script when prompted

4. Get Form IDs for Integration

  1. Click “Send” button (top right)
  2. Click the link icon
  3. Copy the form URL (like: https://forms.gle/abc123)
  4. Click “Cancel”
  5. Now click the three dots → “Get pre-filled link”
  6. Fill in dummy data:
    • Email: test@example.com
    • Check the consent box
    • Timestamp: TEST_TIME
    • Source: TEST_SOURCE
  7. Click “Get link”
  8. Copy the URL - it contains all the entry IDs

The URL will look like:

https://docs.google.com/forms/d/e/1FAIpQLSd.../viewform?usp=pp_url&entry.123456789=test@example.com&entry.987654321=Yes&entry.456789123=TEST_TIME&entry.789456123=TEST_SOURCE

Extract these IDs:

5. Update the Blog Integration

Update /assets/js/newsletter-google-forms.js:

const GOOGLE_FORM_ACTION = 'https://docs.google.com/forms/d/e/YOUR_FORM_ID/formResponse';
const EMAIL_FIELD = 'entry.123456789'; // Your actual email field ID
const CONSENT_FIELD = 'entry.987654321'; // Your actual consent field ID
const TIMESTAMP_FIELD = 'entry.456789123'; // Your actual timestamp field ID
const SOURCE_FIELD = 'entry.789456123'; // Your actual source field ID
  1. In your form, click “Responses” tab
  2. Click the Sheets icon (Create spreadsheet)
  3. Choose “Create a new spreadsheet”
  4. Name it: “Blog Newsletter Subscribers”

Now you have:

Testing

  1. Go to your blog
  2. Submit a test email
  3. Check:
    • ✅ Email received at newsletter@status.health
    • ✅ Entry appears in Google Sheets
    • ✅ Timestamp is recorded
    • ✅ Consent is marked

GDPR Compliance with Google Forms

Data Storage

Privacy Policy Addition

Add to your privacy policy:

Newsletter subscriptions are processed through Google Forms 
and stored in Google Sheets. Data is used solely for sending 
blog updates and is never shared with third parties.

Comparison: Web3Forms vs Google Forms

Feature Web3Forms Google Forms
Setup Time 2 minutes 10 minutes
Free Tier 250/month Unlimited
Email Notifications
Spreadsheet
API Access ✅ (via Apps Script)
Custom Branding
GDPR Tools Basic Full
Analytics Basic Full

Quick Decision Guide

Use Web3Forms if:

Use Google Forms if:

Next Steps

Option 1: Stay with Web3Forms (Already configured!)

Option 2: Switch to Google Forms

  1. Create the form following steps above
  2. Send me the entry IDs
  3. I’ll update the JavaScript
  4. Get unlimited free subscriptions

What would you like to do?