Dashboard Overview
The dashboard is your central hub. Each card surfaces a specific slice of your Google Business Profile performance, sourced directly from Google's data. Here's what every card shows and how to read it.
The Dashboard, Card by Card
The dashboard renders top-to-bottom in this order, scoped to the location and date range selected in the top bar (default: last 30 days). The cards listed below are exactly what the page renders today — if the dashboard changes, this doc should change with it.
Page header & quick stats bar
Above all cards, a compact bar shows the selected location's title, Profile Status (Complete vs. Needs Attention, based on profile completeness ≥ 80%), This Month views and actions counters, an "Updated Xm ago" timestamp, and a View on Maps link out to the public Google listing. The top bar itself holds the location picker, the date range selector (7d / 30d / 90d / YTD / custom), the alerts bell, and the manual Refresh button.
Sync Status Indicator
Surfaces only on first-time sign-in or when you manually trigger a sync — auto-hides when sync completes. Polls every 3 seconds and refreshes the rest of the dashboard when done. If you never see this card, sync is idle and your data is already fresh.
Review Performance
The hero card on the left half of the first row. Shows:
- Average Rating — large display value, computed as the mean of every review's star rating for the selected location.
- Total Reviews — count of all reviews ever pulled from Google for this location.
- Response Rate — percentage of reviews that have a reply posted.
- Pending — reviews with no reply yet. Click this tile to jump
straight to
/reviews?tab=reviews&filter=no_responseand start replying.
The small trend hints (↗ +12%, ↘ -5%) compare the current period to the
previous one of the same length.
Visibility Impact
The compact panel on the right half of the first row, fed by your selected
date range from LocationPerformance (Mongoose, daily_performance
collection):
- Total Impressions —
impressions.total, sum of every time your listing was shown in Google Search or Maps. - Action Rate —
metrics.actionRate, expressed as a percentage. - Total Actions —
actions.total, sum of every customer interaction Google reports.
If Google hasn't reported data yet for this location, this card shows a "Performance data is being synced" pending state instead of numbers.
Customer Actions Breakdown
A three-tile row showing the three biggest action subtypes:
- Website Clicks —
actions.websiteClicks - Phone Calls —
actions.callClicks - Directions —
actions.directionRequests
The other action subtypes (messages, bookings, foodOrders,
foodMenuClicks) still roll up into actions.total on the Visibility Impact
card, but aren't broken out individually here.
Charts row 1: Impressions & Actions Over Time
Two side-by-side time-series charts driven by the daily docs in
daily_performance:
- Impressions Over Time — line chart, daily
impressions.total. - Actions Over Time — bar chart, daily
actions.total.
Use these to spot day-of-week patterns, post-launch lift, or sudden drops (profile suspended, hours wrong, photo removed).
Charts row 2: Action Rate Trend & Impression Sources
- Action Rate Trend — line chart of
metrics.actionRateover the period. A flat-or-falling line while impressions rise = visibility is up but the listing isn't converting browsers into doers; usually a photos/categories problem. - Impression Sources — doughnut chart of the four
impressions.*subtypes:desktopMaps,desktopSearch,mobileMaps,mobileSearch. Customer-mix tell: heavymobileMapsslice = drive-by foot traffic; heavydesktopSearch= research-mode customers.
Monthly Search Comparison
Compares the current month's top search queries to the previous month's so you can see which terms are gaining or losing traction. Pulled from the same Google Search-terms feed used by the search-terms widget below.
Search Terms
The actual queries customers typed into Google before clicking your listing, ranked by impressions for the selected period. This is the closest the data gets to "what is my listing actually known for."
Data Freshness
Shows when your last Google sync ran for impressions, actions, reviews, posts, and search terms — separately, because Google's APIs return them on different cadences. The nightly sync covers most surfaces; performance for active accounts can refresh more often. If a row says "stale", the manual Refresh button in the header re-runs that location's sync immediately.
AI Recommendations
A panel of high-priority recommendations generated from your data — review volume, response rate, action rate, search-term coverage. High-priority items render in red, lower-priority in green. Clicking a "Review Responses Needed" recommendation jumps to the unanswered reviews queue.
The longer-form narrative version of this card lives at /insights, rebuilt
by a daily cron.
Weekly Wins
A summary of what changed in the last 7 days: AI replies sent, reviews received, visibility change, and competitor positions gained. This is the "what got better this week" card; pair it with Urgent Actions for "what still needs attention."
Urgent Actions
A prioritized list of the things that most urgently need your attention.
Auto-populated from your data — e.g. pending reviews above a threshold
(critical at 5+, high at 3+), low visibility score (< 50), and so on. Each
row has a CTA button that deep-links to the right surface (/reviews,
/heatmap, etc.).
Key Concepts
Impressions
impressions.total is the sum of every time your business profile appeared
in a Google search or on Google Maps over the period — that's
impressions.desktopMaps + impressions.desktopSearch +
impressions.mobileMaps + impressions.mobileSearch. It is not clicks,
calls, or visits; it's "Google showed your listing to a human." Impressions
go up when your visibility (rankings, photos, posts, review velocity)
improves, and they're the leading indicator that everything else follows.
Actions
actions.total aggregates every customer interaction Google reports:
actions.callClicks (taps on your phone number), actions.directionRequests,
actions.websiteClicks, actions.messages, actions.bookings,
actions.foodOrders, and actions.foodMenuClicks. It's the closest thing to
"people who actually wanted to do something with this listing."
Action rate
metrics.actionRate is actions.total / impressions.total (stored as a
percentage). It's the conversion metric — a low rate means people are seeing
you but not engaging, which usually points at photos, reviews, or category
mismatch.
Pending reviews
A pending review is any review with no reply yet — nobody on your team or your AI has replied yet. The Pending tile on the Review Performance card is the count of these for the selected location.
Data freshness
Performance, reviews, posts, and search terms each have their own sync cadence. The default is a nightly sync that pulls everything from Google; high-activity accounts get more frequent performance refreshes. The Data Freshness widget shows the per-surface "last updated" timestamp, and the header Refresh button forces a manual sync at any time.
Pro Tip
Frequently Asked
Related
Managing Reviews
Reply to, filter, and track every review across your locations — manually or with AI.
Heatmap Analytics
See where you actually rank for "near me" searches around your business — not just at your front door.
Insights & Alerts
The longer-form AI narrative on what's changing, plus custom alerts for rating drops and velocity changes.
Solo Owner FAQ
Day-to-day answers for owners running one or a few locations themselves.