LeadSheet for Google Sheets
KEEP LEAD ATTRIBUTION IN YOUR SHEET
LeadSheet turns any Google Sheet into a CRM that captures UTMs, GCLIDs, FBCLIDs, and session data from every lead — and sends offline conversions back to Google Ads automatically when a deal closes.
ATTRIBUTION BREAKS AFTER THE FORM
Why CRM data goes stale
Attribution usually breaks after the form, not at the ad platform. LeadSheet is built for the point where Google Sheets actually needs the source trail: the moment a lead submits a form, calls, or walks in — and the moment they convert, weeks or months later.
Built for production conditions
- Form submissions arrive without UTMs because the landing page cached before the click.
- Walk-in and phone leads have no digital attribution at all — they need a manual entry path.
- The same person submits multiple forms across sessions — duplicates pollute the pipeline.
- Operators overwrite source data by accident — attribution is gone before the deal closes.
- Google Ads needs a conversion signal 90 days after the click — CRM data must persist that long.
CAPTURE, SYNC, PIPELINE, AND EXPORT
LeadSheet is organized around the surfaces operators actually use: event capture, CRM pipeline, Google Ads export, and historical import. Each can be adopted in phases.
Raw tab
Every lead event writes one row to the Raw tab. Rows are never modified or deleted. 47 columns capture timestamps, UTMs, GCLID, fbclid, device, page path, known contact data, and sha256 hashes for identity resolution.
CRM tab
30 columns organized into four groups: system data (locked), identity (editable), tracking attribution (locked), and operator pipeline (editable). Operators work in the green columns — stage, value, owner, follow-up date, notes.
Google Ads export
When an operator moves a lead to the conversion stage, an onEdit trigger writes a row to ExportQueue. A composite queue_id prevents double-uploads. The Python worker reads ExportQueue and calls the offline conversion API.
Dashboard
Four KPI cards (active leads, clients, follow-ups today, leads this week), a pipeline funnel bar chart, a leads-by-source pie chart, and a today's follow-up list that auto-updates as the CRM changes.
Import & archive
Paste historical lead data into an Import tab and run importHistoricalLeads(). Phone and email deduplication prevents collisions with live data. Cold leads move to CRM_Arquivo on the first of each month.
QUESTIONS TO SETTLE BEFORE YOU INSTALL
Start here