Client SEO portfolio dashboard for your whole agency

By General Input

See every client's rankings, traffic, backlinks and site health on one screen, then build their monthly report in a click.

Integrations

  • Ahrefs
  • Google Docs
  • Slack Bot

Type

App

Categories

  • Marketing
  • Operations

I run an SEO agency and I want one screen that shows how every client is doing, instead of opening Ahrefs project by project. Build me an interactive client SEO portfolio dashboard. The home screen is a board with one row per client, where each client is a Rank Tracker project pulled from Ahrefs List Rank Tracker Projects.

Each client row shows Domain Rating (Get Domain Rating), tracked keyword movement since last month plus the share of tracked keywords sitting in the top three and the top ten (Get Rank Tracker Overview), organic traffic and traffic value (Get Metrics, with Get Metrics History for the month over month change), referring domain count (Get Backlinks Stats), and site health score (Get Site Audit Health Score). For every metric show the current value and the change since last month side by side, because the change is what I look at first.

Be careful with Ahrefs API units. The Rank Tracker, Management and Site Audit project endpoints are in the free category and do not consume units, so load those immediately for every client whenever the board opens. The Site Explorer metrics (Get Domain Rating, Get Metrics, Get Metrics History, Get Backlinks Stats, List Top Pages) do consume units, so fetch them per client on demand rather than on every page load. Store the last fetched values with a timestamp, show me when each row was last refreshed, and give me a refresh button on each row plus a refresh all button on the board.

Color code the board so accounts that slipped jump out. A client whose keyword movement, traffic, or top ten share fell since last month reads red, flat reads neutral, and improvement reads green. Let me set the threshold for what counts as a slip and default it to a drop of more than five percent. Sort the board worst first by default so the accounts that need attention sit at the top.

Let me tag each client with their account manager and store that in the app. The app should know who is signed in, so I can flip the board to just my accounts with one toggle and have it remember my choice. Let me also pin the three or four metrics my agency actually reports on so the table matches what our retainers promise, keeping the remaining columns available behind a show all columns control. Pinned columns are an agency wide setting that anyone can change. Per client, also store which Slack channel their reports go to (let me pick it from Slackbot List Channels) and which Ahrefs Site Audit project maps to them.

Clicking a client opens their detail view. It shows keyword winners and losers for the month, meaning the biggest position gains and the biggest drops with the keyword, its old position and its new position (Get Rank Tracker Overview, with List Project Keywords for keyword tags and locations). It shows a competitor position comparison of where the client sits against each tracked competitor (Get Rank Tracker Competitor Overview) and which competitor pages are taking those keywords (Get Rank Tracker Competitor Pages). It also shows the client's top traffic pages (List Top Pages).

Put a Build monthly report button on the client detail view. It creates a formatted Google Doc using Google Docs Create Document and then Batch Update Document to lay out the content, titled with the client name and the month. The doc contains a headline summary, a table of this month's numbers against last month's, the biggest keyword wins and losses, competitor movement, top traffic pages, and a written summary in plain client facing language explaining what changed and why, connecting the numbers to each other rather than restating them. Use real headings, bold labels and a table so I can hand it to a client without reformatting it.

Once the doc exists, show it to me in the app so I can read it before anything goes out, then let me post the link into that client's Slack channel with Slackbot Send a Message, along with a short message naming the client, the month, and a two line headline of how the month went. Keep a history of every report built for each client with the month, the build date and the doc link, and list those past reports on the client view.

If a client has no Site Audit project connected, leave the health score blank rather than failing the row. If any single metric fetch fails for one client, that must not break the rest of the board.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seats