My Sites

Portfolio home with GSC property discovery, tags, favorites, hidden sites, and multi-metric cards.

GSC discoveryComplete

Polling watches recently linked Google accounts until `sites_fetched_at` is stamped and SiteTeams exist.

Data freshnessDaily

Search analytics refresh is queued per usable site with a first-fetch spinner for empty cards.

No-results stateClear filters

Search and tag filters can collapse the grid into a clear-filters empty state before showing connect prompts.

Combined Metrics

Shown when a tag filter is active; mirrors the My Sites grouped-metrics card.
Client Sites
Clicks
691k
+14.8%
Impressions
22.4m
+9.2%
CTR
3.1%
-0.2%
Position
7.8
-1.4

Branded Queries

Global branded filter applies to keyword-derived GSC panels and chart totals.
Clicks+18.4%
428k
GSC current period
Impressions+9.7%
12.8m
Search appearance total
CTR-0.3%
3.34%
Weighted click-through
Position-2.1
8.6
Lower is better

GSC performance chart

Current solid, comparison dashed, annotations on hover, daily / weekly / monthly granularity.
Apr 10Apr 14Apr 18Apr 22Apr 26Apr 30May 7

Branded vs Non-Branded Clicks

Driven by branded keyword settings.
128,420 total clicksBranded +22%
31%69%
Branded 39.8kNon-branded 88.6k

Query Counting

Position distribution histogram.
1-3
4-10
11-20
21-50
51+
GA4 linkedproperties/412908320Organic only
Unlinked stateProperty selector

When GA4 is missing, the app loads Analytics properties grouped by connected Google account email and dispatches a 420-day backfill after linking.

Sessions
188k
+12.5%
Engagement Rate
61.4%
+4.1%
Key Events
4,812
-2.7%

GA4 performance chart

Sessions, engagement rate, and key events with comparison tooltip.
Apr 10Apr 14Apr 18Apr 22Apr 26Apr 30May 7
Sitemap fetch status1 warning

GSC sitemap status is cached hourly; fetch errors surface before URL coverage so daily sitemap processing issues are visible.

Index coverage history

Cumulative bucket counts by last inspection date; filtered to the table below.
93.2% indexed

Pages

URL, clicks, impressions, position, coverage status, rich results, and inspection actions.
Pages at risk1,800/day cap
URLClicksImpr.PositionStatusLast crawlRich ResultsLast InspectionActions

Annotated performance

Chart notes are scoped to all pages, specific pages, or content groups.
Hover + creates note
Placeholder in source

Branded Keywords

Add chips used by the global branded/non-branded filter.
exploding topicsexplodingtopicset pro

Topic Clusters

Rule-based query groups with preview and cached membership pivot.
1,248 matches
406 matches
Preview samplesLive

best ai tools · ai software companies · startup ideas 2026

Content Groups

Rule-based URL groups; supports contains, does not contain, and equals.
842 pages
42 pages
Cached membershipQueued recompute

Saving busts dashboard cache and recomputes content group URL pivots.

Google Accounts

Connect, revoke, reconnect, and refetch GSC sites.
Google AccountNameSearch ConsoleAnalyticsStatusConnectedActions
ari@example.comAri CohenYesYesActive2 weeks ago
ops@example.comOps AccountYesNoRevoked1 month ago

About Google Account Access

Read-only Search Console and Analytics scopes, plus Google permissions revoke path.
Search Console readonly

Used for site discovery, GSC metrics, and URL Inspection.

Analytics readonly

Used for GA4 properties, sessions, engagement rate, and key events.

Revocation

Local revoke marks the account revoked; Google-side access can be removed externally.

My Profile

Tenant-scoped account page at `/{tenant}/account`.
Verified
Saved
Primary

Google sign-in

Login shortcut is separate from connected analytics accounts.
Linked
ari@example.comSign-in enabled

Disconnecting keeps the underlying GoogleAccount row so sites connected through it keep working.

NameEmailRoleSitesJoinedActions
Ari Cohenari@example.comOwnerAllMar 27
Maya Leemaya@example.comAdminAllApr 02
Jon Belljon@example.comContributor3Apr 18
Priya Shahpriya@example.comViewer2May 01

Permission matrix

Role boundaries from `UserRole` and `Permission` enums.
RoleSite accessDataAnnotationsSettingsAdmin guardrails
OwnerAll sitesView/exportCreate/edit/deleteManageCannot be demoted/removed
AdminAll sitesView/exportCreate/edit/deleteManageOwner-only admin changes
ContributorScopedView/exportCreate/editViewNo billing/team admin
ViewerScopedView onlyView onlyViewRead-only

Invitations

Pending invite tokens can be copied, resent, or canceled.
2 pending
EmailRoleSitesExpiresActions
sam@example.comContributor3 scoped sites6 days
jules@example.comViewer2 scoped sites2 days
Subscription
$29
Base Plan, monthly
Active
Monthly Breakdown
$29/mo
Plan line item and total from Stripe subscription.
Next billing May 29
AI Credits
162
100 monthly + rolling packs
Buy more

Billing actions

Source shows state-specific Filament header actions.

Credit buckets

Rendered billing page shows subscription and rolling balances; ledger is backend-only.
BucketBalanceBehaviorLast reset
Subscription Credits62Renew monthly with subscriptionMay 1
Rolling Credits100Purchased credits never expire