Docs
Monitoring
Keep an eye on every client from one place — connection health, KPI goals, and alerts.
What Monitoring is for
Reports answer "how did this client do?"; Monitoring answers "how is my whole book doing right now, and does anything need me?" It lives under Monitoring in the left nav and has three tabs — Metrics overview, Goals and Alerts — that work across all your clients at once, so you don't have to open each report to spot a problem or track progress toward a target.
Metrics overview
The overview is a single table of every client with the data sources connected to them, each shown with its live status. A client reads as "All active" when every connected source is healthy, or "Needs attention" when one has an error or an expired token — with a link straight to that client's reports. It's the fastest way to confirm that the numbers feeding your reports are actually flowing before you send anything to a client.
Goals — tracking a KPI target
Goals let you set a target for a client and watch real progress toward it. On the Goals tab, click New goal, pick the client, give it a label (e.g. "Hit ROAS 5x"), choose the metric — ROAS, CPA, Conversions, Leads, Cost per lead, Clicks, Impressions, CTR or Spend — set the target and the period (this month, quarter or year). "Lower is better" is ticked for you on CPA and Cost per lead, where down is good. Anyone on your team can create and see goals.
The "current" value is real: it's computed from the same live ad data your reports use, blended across every connected paid-ads account of that client (Google Ads, Meta, Microsoft, Amazon, Reddit, ChatGPT and LinkedIn Ads) for the period so far, with exactly the calculation an "All channels" report widget uses: totals summed, rates recalculated from them, money only in the currency carrying the most spend, ROAS from only the accounts that report a conversion value (a ROAS goal says how many, as the widgets do), CPA and cost per lead from only the accounts that report conversions or leads (the same pairing rule; an account without leads, such as Amazon Ads, keeps its spend in a Spend goal but not in a cost-per-lead goal), and leads counted as described in the Reporting guide. Each goal shows a progress bar and an On track / At risk badge, plus when it was last updated. A total (Conversions, Leads, Clicks, Impressions, Spend) is judged against the share of its target due so far: the target pro-rated to the days of the period that had passed when the value was read, shown under the bar and marked on it. 33 conversions on day 10 of a 30-day month against a target of 100 is on track. The day in progress never counts against a goal: a higher-is-better total counts only the days already finished, and a lower-is-better one (a spend limit) may use today in full. A rate (ROAS, CPA, CTR, Cost per lead) is judged against the whole target. On track means at least 80 % of that target, or at or below it for a lower-is-better goal, so beating a target is always on track. In the first 3 full days of a period a total shows Too early to tell instead: its pro-rated target is still close to 0, and a day or two of ad data says little about the month (a target already reached is on track, a limit already exceeded at risk). A target must be above 0; an older goal with a target of 0 or below shows No valid target and never counts as at risk. The portfolio health on the AI Visibility overview, the MCP get_goals tool and client digests use this same rule. Values refresh automatically a few times a day; a brand-new goal is calculated the first time you open the page. If a client has no ad source for that metric yet, or one of its ad sources did not answer at the last refresh, the goal shows "—" rather than a made-up number or a total that quietly leaves a channel out. GA4 isn't part of goals: it carries no ad spend.
Alerts
The Alerts tab lists connections that need action — an errored source, an expired or revoked token — grouped by client, each with a "Fix" link that takes you to the Data page to reconnect. Each alert also offers Dismiss — it hides that alert for the current outage only and returns if the connection recovers and fails again — and Disconnect, which removes the source when you switched the account off on purpose. The bell in the top bar shows a dot for alerts you have not opened yet, not for alerts that merely exist; the sidebar badge counts open alerts and clears when they are fixed, dismissed or disconnected. When everything's healthy it simply says all systems are healthy. It's the same signal as the "Needs attention" card on Home and the overview's status column, gathered into one actionable list so a broken feed never quietly breaks a client's report.
Getting started Reporting Report templates Filtering, dimensions & comparisons Sharing & delivering reports White-label & branding Metrics glossary AI visibility Your own AI API keys Perception AI Shopping Visibility GEO Audit AI crawlers & crawlability Rank Tracker AI traffic from GA4 Signals & Automations Integrations Looker Studio Connect to Claude & ChatGPT (MCP) Connect Claude Connect Claude Code Connect ChatGPT Connect Cursor Connect VS Code REST API Webhooks Single sign-on (SSO) Account & billing Data, privacy & security The Crunch assistant Refer a friend FAQ