Run client social reviews from one Hootsuite dashboard
Pick a client and a date range to see organic trends, paid campaigns and every post ranked best to worst, then generate the client report.
I run social media for several clients and I want one dashboard I can open live in a client call, instead of wrestling Hootsuite's built-in reports into shape every month. Build me an app where I pick a client and a date range and everything about that client's performance is on one screen: organic trends, the paid campaign numbers for the same period, and a ranked list of the posts that actually ran.
Client groups. A client is a saved, named group of Hootsuite social profiles. Use Hootsuite's Retrieve Social Profiles to list every profile I can access, and let me put them into groups (for example Acme Corp is these four profiles). Store the groups in the app's own database so they persist and everyone on the team sees the same ones, and let me rename, edit or delete a group later. A client picker at the top of the dashboard switches between them and everything below reloads.
Date range. A date range picker with presets for last 7 days, last 30 days, this month, last month and last quarter, plus a custom range. Hootsuite analytics does not serve data older than two years, so clamp the earliest selectable date to two years ago and explain that inline rather than letting a request fail.
Organic panel. A handler calls Hootsuite's List Profiles and Metrics to pull daily organic numbers for every profile in the selected client group over the chosen range. Show summary tiles for the period (followers gained, total impressions, total engagement, engagement rate) and below them trend charts for followers, impressions and engagement over time, with one line per social profile plus a combined total, and a legend I can click to isolate a network.
Paid panel. A handler calls Hootsuite's List Paid Metrics for campaign, ad set and ad performance over the same period, and it sits directly beside the organic panel so paid and organic are finally on one screen. Show spend, impressions, clicks, conversions and cost per result, with a drilldown from campaign to ad set to ad. Plenty of my clients do not run ads at all: when there is no paid data, the paid panel should quietly collapse to a small line saying there was no paid activity in this period. It must never show an error.
Post leaderboard. A handler calls Hootsuite's List Posts and Metrics for the posts published in the range across the client's profiles, rendered as a ranked, sortable table. Default to best performing first, with a toggle to flip to worst first. Each row shows the post text or excerpt, thumbnail, network, publish date, and its impressions, engagement, engagement rate and clicks, and links out to the live post so I can point at it during the call.
Comparison toggle. A 'Compare to previous period' switch that fetches the immediately preceding window of equal length and shows it alongside the current one: previous value and percentage change on every summary tile, on the paid numbers and on the leaderboard totals, coloured for up or down, plus a dashed comparison series on each trend chart.
Batching and limits. Hootsuite's analytics endpoints accept at most 10 social profile ids or 10 ad accounts per request, so handlers must split a client group into chunks of 10, run them, and stitch the results back into one dataset before the UI sees it. Analytics pagination uses a different cursor shape from the rest of the Hootsuite API: follow metadata.collectionInfo.next.cursor and request the maximum limit of 100 per page. Hootsuite allows 20 requests per second, so throttle the chunked calls to stay under that.
Access empty state. Reading these numbers requires the analytics:read scope, which is off by default and depends on the Hootsuite Advanced Analytics add-on. If that access has not been granted, the dashboard should show a clear explanatory empty state saying the Advanced Analytics add-on is required and what to do about it, rather than surfacing a raw API failure.
Write the client report. Put a 'Write the client report' button on the dashboard that kicks off a background agent for the currently selected client and date range. The agent pulls the same organic, paid and per-post numbers, compares them to the immediately prior period, and works out the story: what moved and by how much, which specific posts drove the change, how paid and organic interacted, and what to do differently next month. It then creates a new document with Google Docs Create Document titled with the client name and period, and fills it in with Batch Update Document as a formatted, client-ready report: headline summary, a results table, organic trends by profile, paid performance, top and bottom posts with commentary on each, and clear recommendations. Use real heading styles, bold, bullet lists and tables so the doc looks finished and needs no reformatting before it goes to the client.
Report history. Save each generated report's document link, client, period and generation date in the app's database, and show them in a Reports list on the dashboard so the whole team can find past reports later. While the agent is running, show its progress on the dashboard, and surface the document link the moment it finishes.
Styling: dense but legible, built to be read off a shared screen on a video call. Charts should be large enough to read at a glance and numbers should be easy to point at. Loading each panel independently is fine, so the organic charts can appear before the paid numbers finish.
What does this prompt do?
- Group your social profiles into named clients once, then switch between them with one click and pull up any date range going back two years.
- See follower, impression and engagement trends for every profile next to the paid campaign numbers for the same period, so organic and paid finally sit on one screen.
- Rank every post that actually ran, best and worst first, so you can point at exactly what worked while the client is watching.
- Flip on comparison to show the previous period beside the current one, with the percentage change on every number.
- Press one button and a background assistant writes the whole client report into a formatted Google Doc, linked back on the dashboard for the rest of the team.
What do I need to use this?
- A Hootsuite account with the Advanced Analytics add-on, which is what unlocks the performance numbers this dashboard reads.
- The social profiles for each client already connected in Hootsuite.
- A Google account so the generated client reports can be saved as Google Docs.
- Paid campaigns are optional: clients who do not run ads simply see the paid section collapse.
How can I customize it?
- Change which numbers lead the summary tiles, for example putting engagement rate ahead of raw impressions.
- Adjust the date presets to match how you bill, whether that is monthly, quarterly or per campaign flight.
- Rewrite the structure and tone the assistant uses, so the finished Google Doc matches your agency's report template.
FAQs
Do I need the Hootsuite Advanced Analytics add-on?
How far back can I report on?
What happens for clients who do not run paid ads?
Can one client have more than ten social profiles?
Where do the generated reports end up?
Does this replace Hootsuite's own reports?
Related templates
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Pick creators from your saved list and see their best and worst Instagram posts side by side, so your brief is built on what actually lands.
See every employee by department with pay, tenure and time since their last raise, model increases live, then apply only what you approve back to Gusto.
See every Hacker News story and comment that mentions your product or your competitors, mark each one new, needs reply or handled, and stop losing threads.
Search every job in the monthly Hacker News hiring threads, track your applications, and let an agent research any company before you apply.
Stop rebuilding the same client report every month.
Open one dashboard in the call, and let the write-up build itself afterwards.