Back to Dashboard
GMBMantra Documentation Icon

GMBMantra

Documentation

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_response and 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 Impressionsimpressions.total, sum of every time your listing was shown in Google Search or Maps.
  • Action Ratemetrics.actionRate, expressed as a percentage.
  • Total Actionsactions.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 Clicksactions.websiteClicks
  • Phone Callsactions.callClicks
  • Directionsactions.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.actionRate over 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: heavy mobileMaps slice = drive-by foot traffic; heavy desktopSearch = 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

Click the info icons (ℹ️) next to any metric for detailed explanations in-context.

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.