Google Sheets Integration
Automatically log WarmySender campaign events to Google Sheets for reporting and analysis.
What This Integration Does:
- Append a new row to a Google Sheet every time a prospect replies, opens, clicks, bounces, or unsubscribes.
- Build custom dashboards and reports from live campaign data.
- Share campaign performance with team members who don't have WarmySender access.
Setup via Zapier (Recommended — No Code):
Step 1: Create your Google Sheet
• Create a new Google Sheet with column headers:
Timestamp | Event Type | Prospect Email | Campaign ID | Step Index | URL Clicked | Details
Step 2: Create a Zap
• Trigger: Webhooks by Zapier > Catch Hook.
• Copy the Zapier webhook URL.
Step 3: Register in WarmySender
• Settings > Webhooks > Create Webhook.
• Paste Zapier URL, subscribe to all events you want to log.
• Send a test event.
Step 4: Configure the Google Sheets action
• Action: Google Sheets > Create Spreadsheet Row.
• Select your spreadsheet and worksheet.
• Map fields:
- Timestamp → data.openedAt / data.clickedAt / data.receivedAt (use Zapier formatter for consistent dates)
- Event Type → type
- Prospect Email → data.prospectEmail
- Campaign ID → data.campaignId
- Step Index → data.stepIndex (for opens/clicks)
- URL Clicked → data.url (for email.clicked events)
- Details → Full JSON payload (optional)
Setup via Make:
- Webhook module → Google Sheets 'Add a Row' module.
- Use Make's router to format different event types into consistent columns.
Setup via Apps Script (Advanced):
Deploy a Google Apps Script web app as your webhook endpoint:
1) Open your Sheet > Extensions > Apps Script.
2) Write a doPost(e) function that parses the webhook JSON and appends a row.
3) Deploy as web app (accessible to 'Anyone').
4) Use the deployment URL as your WarmySender webhook endpoint.
Reporting Ideas:
- Pivot table by campaign to compare reply rates.
- Chart daily opens/clicks over time.
- Filter by prospect email to see full engagement history.
- Use COUNTIF formulas to calculate per-campaign metrics.
Best Practices:
- Create separate sheets (tabs) for different event types if volume is high.
- Add data validation to prevent sheet corruption.
- Set up automatic archiving — move rows older than 30 days to an archive sheet.
- Use Google Sheets API quotas wisely — batch operations if volume exceeds 60 events/minute.