More Remodels OS
Private Command Center
Supabase connection
Create allowed users in Supabase Auth. Do not enable open public signup for this private tracker.
Custom range
Executive Dashboard
High-level overview of agency performance.
Gross Revenue
$791
Setup fees + appointments
Gross Profit
$429
Revenue − all ad spend
Profit Margin
54.2%
Profit ÷ Revenue
Active Clients
3
Out of 3 total
Avg Rev/Client
$264
Revenue ÷ active clients
Revenue Growth
Net Whop revenue · All Time
Clients Signed
New clients by Client Since date · All Time
Gross Profit Trend
Revenue minus B2B + B2C ad spend · All Time
Revenue vs Total Ad Spend
Gross revenue compared with all ad spend · All Time
BROAD
AD SPEND
$362
LEADS
22
BOOKED
15
SHOWED
6
CLOSED
0
BOOKING RATE
68.2%
Booked ÷ Leads
SHOW RATE
40%
Showed ÷ Booked
CLOSE RATE
0%
Closed ÷ Showed
COST PER LEAD
$16.45
Spend ÷ Leads
COST PER BOOKING
$24.13
Spend ÷ Booked
COST PER SHOW
$60.32
Spend ÷ Showed
COST PER CLOSE (CAC)
$0.00
Spend ÷ Closed
Ad-Level Breakdown
Performance of each individual ad in this ad set.
Ad NameStatusSpendLeadsBookedShowedClosedCPLCPBACPSACAC
A5 (Selfie Video) $287.38 17 11 4 0 $16.90 $26.13 $71.84
A4 (Person Marker) $23.77 0 0 0 0
A6 (UGC Video) $42.89 5 4 2 0 $8.58 $10.72 $21.45
A3 (Testimonial) $0.48 0 0 0 0
A2 (Graphic Designer) $3.13 0 0 0 0
A1 (Tombstone) $4.29 0 0 0 0
Agency Leads
B2B setter queue, lead stages, follow-ups, and sales notes.
Ready Now
0
Ready to call
Later Today
0
Scheduled later
Calls Today
0
Call attempts logged
Past Due
0
Missed scheduled work
Booked Appointments0 active
Current TaskAgency Queue
Remaining Tasks0
Client Fulfillment
B2C campaign performance across all active clients.
Appointment Revenue
$0
From showed appointments
Total B2C Spend
$0
Across all B2C campaigns
Delivery Profit
$0
B2C Revenue - B2C Spend
Delivery Profit Margin
0%
Delivery Profit ÷ Delivery Revenue
Total Showed Appointments
0
$0.00 Average Cost Per Show
Active Clients 3
ClientStatusClient SinceShowsRevenueB2C SpendProfitMarginDetails
Melvin Morales
Countertops · Boston, Massachusetts
Onboarding Jun 19, 2026 $00 $0 $0 Details
Jo&Je Kitchens and Countertops LLC
Countertops · Milwaukee, Wisconsin
Onboarding Jun 19, 2026 $00 $0 $0 Details
Granite Men LLC
Countertops · Denver, Colorado
Onboarding Jun 19, 2026 $00 $0 $0 Details
Past Clients 0
ClientStatusClient SinceShowsRevenueB2C SpendProfitMarginDetails
No past clients yet.
Client Leads
B2C setter queue, lead stages, and appointment follow-up.
Ready Now
0
Ready to call
Later Today
0
Scheduled later
Calls Today
0
Call attempts logged
Past Due
0
Missed scheduled work
Current TaskSmart Queue
Remaining Tasks0
Transactions
Recent payments and revenue history.
Total Volume
$0
Maximum
Successful Payments
0
Cleared via Whop
Failed Payments
0
Declined or unsuccessful
Refunds
0
$0 returned
DateClientTypeAmountStatus
Architecture & Data
How your data flows from Meta, GHL, Whop, and Make into this dashboard.
Data Flow
📘 Meta Ads ⚡ Make.com ⛁ Supabase ▲ This App
📗 GoHighLevel ⚡ Make.com ⛁ Supabase
💳 Whop ⚡ Make.com ⛁ Supabase
Supabase is the single source of truth. The app only ever reads from Supabase — so a Meta or GHL outage never breaks your dashboard. Make.com keeps Supabase fed on a schedule and via real-time webhooks.
Database Tables
How Data Gets In
1
Meta ad data → meta_metrics
Make.com pulls spend, leads, impressions, CPL per campaign & ad set every few hours and writes to meta_metrics \u2014 split by B2B (acquisition) and B2C (fulfillment) account.
2
GHL appointments → appointments / leads
When a contact books or shows in GHL, a webhook → Make → writes to appointments and leads, so booked/showed counts stay current.
3
Revenue → transactions (dated)
Each cleared Whop payment writes one dated row to transactions (client_id, type, amount, created_at). Appointment payments build each client's revenue ledger; setup fees count toward Executive revenue only.
4
You add clients by hand
Anything not auto-synced (a new client, a negotiated setup fee) you add on the Clients page. It saves straight to Supabase.
5
Date range filter
Every figure carries a date (transaction created_at, meta_metrics date). The top-bar picker (Maximum / 24h / 7d / 30d / Custom) filters the whole tracker to that window. Clients & Pipeline show current state and ignore the range.
Settings
Manage refresh, confirm billing rules, and wire Meta/GHL/Whop data.
Notifications
Turn on phone alerts for setter queue work on this device. The first version alerts subscribed users when lead tasks become due.
Checking this device...
1. Connect Supabase
Find these in Supabase → Project Settings → API. Never paste a service-role or secret key here. Add Supabase Auth before hosting this tracker publicly.
Make Refresh Connection
Paste the custom webhook URL for the Make refresh scenario. The top-right Refresh Data button will trigger it on demand.
Not configured
Geoapify Maps
Used for lead address autocomplete, distance checks, and static service-area map images.
Using built-in key
2. Run this SQL
Paste into Supabase → SQL Editor → Run. Creates all tables.
3. What I need from you
4. Data map