DOMA
DOMA Dashboard
Organic acquisition · SEO & Blog

Organic clicks (Search Console) vs sessions (GA4)

Things to look at

Average position and clicks per day

Top search queries (last 180 days, independent of the range above)

QueryClicksImpressionsCTRPosition

Clicks by country (last 180 days, independent of the range above)

CountryClicksImpressionsCTRPosition

Clicks by device (last 180 days, independent of the range above)

DeviceClicksImpressionsCTRPosition

Index coverage (pages + recent posts, checked via Search Console URL Inspection)

URLStatusIndexingLast crawled

Content gap opportunities (queries with real search demand, weak ranking - independent of the range above)

QueryBest-ranking pagePositionImpressionsClicks

On-page SEO audit (title, meta description, headings, alt text, schema - independent of the range above)

PageIssues found

Page speed (mobile) (homepage + top-traffic pages, via Google PageSpeed Insights)

PagePerformanceLCPCLSAccessibilityTop opportunity

How to read this tab

Two views of the competition, from two different free data sources - no paid API, no Ahrefs (still blocked, see below). Ranking share-of-voice answers "for the searches DOMA already cares about, which real businesses out-rank us, and by how much" - built from live search results, filtered to exclude generic platforms (Facebook, LinkedIn, YouTube, etc) that show up for almost any search and aren't real competitors. New competitor content answers "what did AADOM/Dental A Team just publish" - a small, hand-picked watchlist, not auto-discovered.

Ranking share-of-voice (real businesses that out-rank DOMA on our own target searches - live snapshot, not a purchased authority score)

DomainShows up onAvg. positionBest positionBeats DOMA on

Recently updated competitor content (most recently updated/published pages per competitor, by their own sitemap dates - currently AADOM and Dental A Team)

CompetitorPageUpdated

Competitor marketing stack (detected live from each competitor's own public homepage - same technique as a Wappalyzer-style checker)

CompetitorTools detected

Site activity · Wayback Machine (how often each competitor's homepage has been archived - a rough proxy for how actively they maintain it, not traffic or revenue)

CompetitorTotal snapshotsLast snapshotLast 90 days

Ad Spy · paid ads intelligence (manually researched from Meta/Google/TikTok/LinkedIn ad libraries - no public API for any of them, see README.md "Ad Spy")

CompetitorPlatformFoundFormatHookOfferCTAHypothesis

Waiting on Ahrefs (blocked account-side, not fixable from here - see README.md "Ahrefs")

Ahrefs API access isn't working yet for this account (every request returns Unauthorized, tested with 4 different keys, confirmed on their end). Once that's resolved and scripts/sync_ahrefs.py runs, the two panels below will show domain rating / organic traffic & keywords / backlinks per competitor, and Ahrefs' own Site Audit issue list.

DOMA vs. competitors (domain rating, organic traffic & keywords, backlinks - via Ahrefs, competitors auto-discovered)

DomainDomain RatingOrganic trafficOrganic keywordsBacklinksReferring domains

Site Audit issues (Ahrefs crawl of dentalofficemanagers.com - separate from this dashboard's own on-page audit above)

IssueSeverityAffected pagesChange

Sessions per day

Recent posts (latest published - hover a row for more detail)

PostPublishedSessionsClicks

Traffic source

ChannelSessions

Top pages (hover a row for more detail)

PageSessionsBounce rate

Audience details (country, device, gender & age)

Visitors by country (last 180 days, independent of the range above)

CountryActive usersSessions

Sessions by device (last 180 days, independent of the range above)

DeviceActive usersSessionsShare

Audience · gender & age (requires Google Signals - not retroactive, may take a day to populate)

GenderActive usersShare
AgeActive usersShare

Content Suggestions

Pulls together signals already in other tabs - SEO content gaps, top-performing ebooks/posts (GA4), and best posting times (Social) - so planning what to write or promote next doesn't mean hopping between tabs.

Content gap opportunities (real searches, weak current ranking - see SEO tab)

Search queryBest-ranking pagePositionImpressions

Top-performing ebooks (GA4 sessions)

EbookSessionsViews

Top-performing blog posts (GA4 sessions)

PostSessionsViews

Best time to publish/post (Instagram engagement by day & time, UTC - see Social tab)

DayAvg. engagementPosts
Time of dayAvg. engagementPosts

Suggested topics (from Content Suggestions - click to prefill the form below)

Person
Type
Status

Sun
Mon
Tue
Wed
Thu
Fri
Sat

DOMA Free Community (GHL has no public API for this - member count updated by hand from the GHL Communities panel)

members

New leads per day

Leads by source

SourceLeads

ActiveCampaign newsletter sends

GoHighLevel (numbers copied by hand from the GHL Reporting screen - no public API for this)

Followers over time

Top posts (last 20 per platform, independent of the range above)

PlatformPostPublishedReachLikesCommentsShares

Instagram audience · gender

GenderFollowersShare

Instagram audience · top countries

CountryFollowersShare

Best time to post · Instagram (avg. engagement per post, by when it was published - all times UTC, based on this account's own post history)

Day of weekAvg. engagementPosts
Time of day (UTC)Avg. engagementPosts
Person
Subject
Status
Date

Weekly Recap

Every logged meeting (see Team & Meetings), grouped by the Monday-Sunday week it fell in - most recent week first.

Person
Subject

To Do 0

In Progress 0

Completed 0