Clients

Manage your client roster

Meta
GHL
Sheets
Select a client from the Clients tab and click "View report" to load their data.
Select a client from the sidebar or Clients tab, then click "Credentials" to manage their API keys.

Global integration setup

These are agency-level credentials used across all clients. Per-client overrides can be set on the Credentials tab.

Meta ads — global system user token

This single token covers all ad accounts assigned to your AgencyReporting system user. You do not need a separate token per client.

GHL agency API key

GHL's API blocks direct browser requests (CORS). To pull live GHL data automatically you need a small proxy server. The simplest option is a free Cloudflare Worker or Railway app — ask me to generate the proxy code and I'll build it for you in under 5 minutes. Alternatively, leave this blank and enter leads and appointments manually per client using the manual override fields on each client's Credentials tab.

Google Sheets API

To get a Google API key: Google Cloud Console → APIs & Services → Credentials → Create API key → restrict to Sheets API.
The Sheet ID is the string between /d/ and /edit in your sheet URL.

Sheet structure confirmation

How data is pulled

META — Leads are contacts in GHL tagged with source "Facebook" or "Meta". Spend is pulled from the Meta Marketing API using the ad account ID stored per client.
GHL — Appointments are all calendar events within the date range for the client's sub-account, regardless of status. Leads are contacts created within the range whose source is Meta/Facebook.
SHEETS — The call log sheet is read by matching the current month tab name (e.g. "March 2025") and finding the row where the client name column matches the stored client name.