How paid media, calls, and form leads land in one place. Today everything aggregates in Google Sheets for clean company-level attribution. The data warehouse is the next chapter.
Owner
Growth Team
Date
May 6, 2026
Current Sink
Google Sheets
Future Sink
Marketing Data Warehouse
Marketing Sources
Capture Layer
Aggregation
Destination
Paid Search
Google Ads
Clicks, GCLID, campaign and keyword data on every form fill or call.
Paid Search
Microsoft Ads
Bing inventory. MSCLKID and campaign metadata flow with the lead.
Paid Social
Meta Ads
Facebook and Instagram. FBCLID, ad set, creative, placement.
Call Tracking
CallRail Numbers
Dynamic numbers per source. Every ring is tagged to its origin channel.
Form Capture
GoHighLevel
Every web form, landing page, and chat lead lands here as a contact.
Postgres for ops, ClickHouse for analytics, Power BI on top. Same Coupler pipes, cleaner joins, location-level views.
Closing the Loop
Revenue back to the lead, so we can compute true ROAS
Production revenue lives in each practice's DPMS. We export it, push it into GoHighLevel, and match it to the originating contact on name and phone. From there it rides the same Coupler pipeline into the sheet.
Step 1
Practice DPMS
Dentrix, Eaglesoft, Open Dental
›
Step 2
Revenue Export
Patient + production by visit
›
Step 3
Upload to GoHighLevel
Attached to existing contact
match on name + phone
›
Step 4
Coupler → Sheet
Revenue rides the same pipe
Why This Works Today
One sheet, every channel, real attribution
GHL holds the click IDs and UTMs from the moment a lead arrives. Coupler keeps the sheet fresh. We can already answer "what did Google Ads return last month" at a company level.
The Tradeoff
Sheets are flat, joins are manual
Per-location and per-procedure cuts get fragile in a workbook. Name and phone matching is good, not perfect. We accept that for the speed of getting clean ROAS now.
What Comes Next
Same flow, warehouse destination
When the warehouse goes live, Coupler points at Postgres and ClickHouse instead of Sheets. Power BI replaces the pivots. Nothing upstream changes.
Google AdsMicrosoft AdsMeta AdsCallRailGoHighLevelCoupler.ioGoogle Sheets (today)Data Warehouse (next)