Back to BlogAutomation

Track Donors in Google Sheets Without Expensive CRM Software

Save 600 hours/year and stop losing donors—automate your nonprofit’s CRM in Google Sheets for free with 50 lines of code.

December 26, 2025
4 min read

Stop Wasting $500/Month: Build Your Nonprofit’s Donor CRM in Google Sheets for Free

Your team spends 12 hours a week copying donation data, sending receipts, and fixing mistakes. Last quarter, 1 in 5 donors weren’t thanked—and two major donors vanished. You don’t need Salesforce. You need 50 lines of code that runs the second a donation comes in.


Why Manual Tracking Is Costing You Donors

  • 600+ hours/year lost to copy-pasting form responses, drafting emails, attaching receipts by hand.
  • Silent errors pile up: Wrong names, missing tax receipts, duplicate entries. One EIN typo triggers IRS flags.
  • No smart segmentation: Can’t find lapsed monthly donors or major gift prospects—data is stuck in flat rows.
  • Delayed gratitude kills generosity: 40% of nonprofits take over 48 hours to thank donors. Those who get instant replies give 40% more next time.

A mid-size arts nonprofit paid $600/month for Bloomerang. Two people used it. They switched to Google Sheets in a weekend. Now the whole team uses it. Donors get receipts in seconds.


The Fix: A Self-Running Donor System for $0

Turn Google Sheets into a full donor CRM. Google Form collects donations. Apps Script—free automation in every Google account—triggers on submission. It generates a PDF receipt, emails the donor, logs the interaction, and updates donor segments. No per-user fees. No training.

Runs within free limits: 100-1,500 emails/day (depends on account) and 6 minutes runtime per execution Source. Handles 1,000+ daily donations for most nonprofits.


Core Code: Auto-Generate PDFs & Send Emails

// Pseudo code for the application 
FUNCTION sendDonorReceipt(submissionEvent)
  GET Sheets: 'Donations', 'CommsLog'
  IF any missing THEN SKIP
  
  EXTRACT [Name, Email, Amount, Date, ID, Status] from submission row
  
  IF Status is 'Sent' THEN RETURN (Idempotency Check)
  
  TRY
    LOAD Receipt HTML Template
    INJECT [Name, Amount, Date, ID] into Template
    
    GENERATE PDF from Template
      NAME: "Receipt_{ID}.pdf"
      
    SEND Email to Donor
      SUBJECT: "Thank you, {Name}"
      BODY: "Receipt attached..."
      ATTACHMENT: Generated PDF
      
    LOG interaction to 'CommsLog'
      DATA: [Name, Email, 'Thank-you', Date, 'Sent', ID]
      
    UPDATE 'Donations' row Status to 'Sent'
    
  CATCH Error
    LOG Error to 'CommsLog'
    NOTIFY Admin via Email
END FUNCTION

OAuth scopes required: https://www.googleapis.com/auth/gmail.send, https://www.googleapis.com/auth/spreadsheets, https://www.googleapis.com/auth/drive


How It Works: From Donation to Receipt in <60 Seconds


Setup in Under 2 Hours

  1. Create donation form: Google Form (Name, Email, Amount, Payment Method, Recurring?). Link to "Donations" sheet.

  2. Set up tabs:

    • Donations: Form responses + Status column (F)
    • CommsLog: Contact tracking (Name, Email, Type, Date, Status, ID)
    • ReceiptTemplate.html: HTML file in Apps Script editor with branding and EIN
  3. Deploy script: Open Apps Script (Extensions > Apps Script). Paste code. Create ReceiptTemplate.html with CSS-styled receipt.

  4. Authorize triggers: Add trigger: sendDonorReceipt → On form submit. Approve Gmail, Sheets, Drive.

  5. Add segmentation: Use QUERY():

    =QUERY(Donations!A:F, "WHERE C >= 1000 AND F = 'Sent'", 1) // Major donors
  6. Test with $1 donation: Submit test. Verify email, PDF, logs. Check executions (View > Executions).

  7. Monitor weekly: Scan CommsLog for errors. Stay under Gmail quotas—upgrade to Workspace or batch if over 1,000/day.


Build vs. Buy: The Real Numbers

Feature DIY Google Sheets CRM Paid CRM ($500/mo)
Setup Time 2-4 hours 2-6 weeks
Annual Cost $0 $6,000
Customization Full control Limited by vendor
Learning Curve Moderate (copy-paste code) Low (but training needed)
Scalability ~1,000 donations/day Unlimited (at higher cost)
Data Ownership 100% yours Vendor-dependent
Support Community + Docs Phone support

Most nonprofits never hit the free limits.

Build it yourself (code above)
Or book a call, running by Friday. 30-day warranty.

Related Industry Guides

Automate donation tracking with Google Workspace. Record donations, generate receipts, and create financial reports automatically.
Automate donor management with Google Workspace. Track donations, send thank-you letters, and manage donor communications efficiently.
Automate event management with Google Workspace. Handle registrations, send reminders, and track attendance automatically.

Need a Custom Automation Solution?

We specialize in building tailored Google Workspace automations for businesses of all sizes. Let us help you eliminate repetitive tasks and streamline your workflows.

nonprofit automationGoogle SheetsGoogle Apps Scriptworkflow automationemail automationdocument automationmanual task eliminationtime savings