Google Forms Newsletter Setup Guide
Google Forms Newsletter Setup Guide
Why Google Forms?
- ✅ Completely free - unlimited submissions
- ✅ Email notifications - instant alerts to newsletter@status.health
- ✅ Google Sheets - automatic spreadsheet of subscribers
- ✅ No API limits - works forever
- ✅ GDPR compliant - with proper setup
Setup Steps (10 minutes)
1. Create the Google Form
- Go to forms.google.com
- Click “Blank form”
- Name it: “status.health® Blog Newsletter”
2. Add Form Fields
Add these fields in order:
Field 1: Email Address
- Click “Untitled Question”
- Question: “Email Address”
- Type: Short answer
- Click the three dots → “Response validation”
- Choose “Text” → “Email address”
- Toggle “Required” ON
Field 2: Privacy Consent
- Click ”+” to add new question
- Question: “I agree to receive newsletters and accept the Privacy Policy”
- Type: Checkboxes
- Add one option: “Yes, I consent”
- Toggle “Required” ON
Field 3: Timestamp (Hidden)
- Add new question
- Question: “Subscription Time”
- Type: Short answer
- Click three dots → “Description”
- Add: “Automatically filled”
- We’ll pre-fill this with JavaScript
Field 4: Source (Hidden)
- Add new question
- Question: “Source”
- Type: Short answer
- Description: “Where subscriber came from”
- We’ll pre-fill with “blog.status.health”
3. Set Up Email Notifications
- Click the three dots menu (top right) → “Script editor”
- 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
});
}
- Click “Save” (name it “Newsletter Notifications”)
- Click “Triggers” (clock icon)
- Click “Add Trigger”:
- Function:
onFormSubmit
- Event type:
On form submit
- Click “Save”
- Function:
- Authorize the script when prompted
4. Get Form IDs for Integration
- Click “Send” button (top right)
- Click the link icon
- Copy the form URL (like:
https://forms.gle/abc123
) - Click “Cancel”
- Now click the three dots → “Get pre-filled link”
- Fill in dummy data:
- Email: test@example.com
- Check the consent box
- Timestamp: TEST_TIME
- Source: TEST_SOURCE
- Click “Get link”
- 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:
- Form ID:
1FAIpQLSd...
(the long string after/e/
) - Email field:
entry.123456789
- Consent field:
entry.987654321
- Timestamp field:
entry.456789123
- Source field:
entry.789456123
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
6. Link to Google Sheets
- In your form, click “Responses” tab
- Click the Sheets icon (Create spreadsheet)
- Choose “Create a new spreadsheet”
- Name it: “Blog Newsletter Subscribers”
Now you have:
- Automatic email notifications
- Spreadsheet of all subscribers
- Timestamp tracking
- GDPR consent records
Testing
- Go to your blog
- Submit a test email
- 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
- ✅ All data stored in your Google account
- ✅ Consent checkbox required
- ✅ Timestamp automatically recorded
- ✅ Can export/delete data anytime
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:
- You want the simplest setup ✅
- 250 subscribers/month is enough
- You don’t need a spreadsheet
Use Google Forms if:
- You want unlimited submissions ✅
- You like Google Sheets for data
- You want detailed analytics
- You’re already using Google Workspace
Next Steps
Option 1: Stay with Web3Forms (Already configured!)
- Just push your code and it works
- Emails will go to newsletter@status.health
Option 2: Switch to Google Forms
- Create the form following steps above
- Send me the entry IDs
- I’ll update the JavaScript
- Get unlimited free subscriptions
What would you like to do?