Agencies do not fail at reporting because they lack another dashboard. They fail because the stack is GA4 + Looker + a PDF plugin + a login they share in a password manager, and none of it agrees. SiteLine is a worse "enterprise portal" and a better warehouse of Search Console plus on-site counts.
Read this as constraints, not a pitch deck.
What you actually get
- One billed customer. Plans: $4.99 / $19.99 / $99.99.
- Unlimited Search Console properties and unlimited analytics-enabled domains on that subscription. Event quota is a shared pool of pageviews + custom events across all those domains, per billing period. Starter 1M, Growth 10M, Scale metered at $2.99 per extra 1M after $99.99.
- GSC: 16-month backfill, up to 25,000 rows/day per report, kept while you subscribe, CSV on Search Console reports.
- Analytics: cookieless pageviews, custom events, goals, funnels, Live (~30 minutes).
- MCP access for agents that can read the data. Not a formatted client PDF.
What you do not get (yet)
Multi-member teams exist in the codebase. They are off by default. Do not tell a client you will "invite them to the workspace." Terms: a subscription is billed to one customer; each user has a personal team that owns their sites; do not share your login. If SiteLine enables collaboration for a workspace, that is an exception, not the default agency workflow.
There is no white-label domain, no scheduled email report, no per-client role that can see only their property. The Domains list is your list. You are the operator.
If the client must log in themselves, they need their own SiteLine account and their own Google connection. That is a second subscription, not a seat on yours.
A reporting loop that fits the product
-
One login, many domains. Add each client host on the Domains list. Connect GSC when they grant the read-only Google scope to your connected Google account (the account that has access to their Search Console). Analytics: Enable analytics / Add analytics, then send them the script or React snippet with their public site id. Do not reuse site ids across clients.
-
Separate the two clocks in the deck. GSC is ~2 days behind and revises the last week. Analytics Live is today. Never put "clicks today" from GSC next to "pageviews today" from SiteLine as if they were the same instrument.
-
Export GSC as CSV from the report toolbar when the client wants a spreadsheet. Query and page tables are the visible head (25k/day cap, plus Google's anonymized-query hole). Site totals are the headline clicks. Do not sum the query table and call it the site.
-
On-site: one goal, maybe one funnel. Path
/thanksor eventlead_submitted. Funnels are sequences of those steps. They do not emit extra events. Do not build a 12-step agency template that includesOutbound Linkauto-events unless you turned that flag on and budgeted quota. -
Watch the shared pool. A viral client on custom events can hide post-cap data for every domain on Starter/Growth until you upgrade. Scale does not hide on volume; it bills overage. Usage nudges appear around 80% and 100%. Trial visibility is capped around 50,000 events in 7 days — do not onboard five busy sites on one trial and call it a methodology.
-
Ad blockers. If a client's pageviews look "too clean" versus their ads platform, say so. A first-party proxy reduces loss. SiteLine will not CNAME it for you. You or their engineer reverse-proxies
/js/script.jsandPOST /api/analytics/event.
What to write in the monthly email
- Search: clicks, impressions, top queries, top pages, notable position moves (weighted correctly — do not average daily position).
- On-site: pageviews, visitors (daily identities, not people), goal conversions, funnel drop.
- Instrumentation: snippet present, allowlist includes
www, proxy yes/no. - Explicitly: these will not match GA4.
If they ask for unique users over 30 days as humans, you cannot give them that number honestly. The hash rotates daily. Count pageviews and same-day goals instead.
Billing the work, not the login
You can run 40 brochure sites on Starter if they are quiet. You cannot run 40 content sites with outbound tracking on Starter and pretend quota is per site. Quote the pool. Billing. Register is one user.
When a client leaves, remove their analytics site and stop GSC tracking. Stopping GSC deletes imported history in the background. That is irreversible. Export CSV first if you still owe them a dump.
FAQ
Can the client have view-only access?
Not on the default product. One user per subscription. Multi-member teams are off unless SiteLine enables them. Do not share the password.
Is quota per client site?
No. Unlimited domains, one event pool on the billable owner. Goals and funnel definitions are free of extra events; pageviews and custom events are not.
Can I white-label the dashboard as ours?
No. Proxying the tracker is first-party collection on the client's site. The SiteLine UI stays SiteLine.