Skip to content
TechEmulsion logo
TechEmulsion
Services
Industries
Case StudiesInsightsContact Us

Custom client reporting dashboards for agencies, owned by you.

One data model and one set of metric definitions across every client and every tool, with a branded dashboard on top. Your account leads review a report instead of building one. It is for agencies that have outgrown per-client SaaS pricing, report on sources the big tools skip, or want to own the platform their clients see.

Last updated October 2026

Why does agency reporting still take a week?

Because the data lands in five to twelve places and every client defines the numbers differently. Account managers pull each platform into a sheet, then a slide deck, then a Loom. The fix most agencies buy is a connector tool. It moves the data and stops there.

The part that saves the time is the middle layer: one data model and one set of metric definitions across every client and every tool. That layer is custom either way, and you should own it. The rest of this page shows how we build it, what we connect to, and how we handle your clients' data. For the week-to-week view, see client reporting automation for agencies.

How we build it

How is a custom client reporting dashboard built?

In five layers. Raw data at the bottom, a standard model and metric code in the middle, the dashboard and the AI on top. Each layer has one job, and every number can be traced back down the stack to the row it came from.

  1. 05

    AI on top

    Claude, through the API, does three jobs. It suggests mappings for unmatched names, flags numbers that break pattern, and drafts the plain-language summary of what changed and why.

    A person approves the uncertain mappings. The account lead edits the summary. Every number comes from the code. A person approves before anything reaches a client.

  2. 04

    Dashboards and reports

    A branded dashboard on your domain, one login per client, plus a scheduled PDF or link report with the account lead's commentary block.

    If your team already lives in Power BI, Looker or Tableau, we feed that tool the clean model and you keep the tool.

  3. 03

    Metric definitions in code

    CPL, MQL rate, pipeline sourced, placement tier, engagement rate. Each has one formula and one owner.

    Every number traces back to a source row. The same question gives the same answer no matter who asks or which client it is about.

  4. 02

    Standard model

    One set of entities, defined once: client, account, campaign, channel, content asset, placement, contact (hashed), funnel stage.

    Every source maps into these tables. One vocabulary. A HubSpot "Sales Qualified Lead" and a Salesforce "SQL" both become the stage sql. Campaign names are parsed by a naming convention the agency enforces from now on, with a mapping table for the old names.

  5. 01

    Raw layer

    Scheduled pulls from each source, per client, each with its own read-only credential.

    Rows land exactly as they came, timestamped and tagged with their source. Nothing is cleaned on the way in. Things that change get a daily snapshot, like CRM stages and 6sense buying stages. Ad platform data is pulled again for the trailing 30 days, because platforms restate numbers for days after the fact.

Aggregation is plumbing. Standardization is the product.

Every number is calculated by code and traces back to its source. AI handles the mapping and the write-up, and a person approves it.

We used this same split on AutoCar Intelligence, where the upstream API was too weak to trust, so every metric was recalculated in code from raw rows.

Why we have a mapping layer

What makes marketing data standardization hard?

Four things, and each one has a rule in the model. A connector tool handles none of them, which is why reports still differ by account lead after an agency buys one.

Definitions

Every client defines an MQL differently. The model holds the client's definition and the agency's definition side by side, so both numbers are right and both are labelled.

Identity

The same company is a domain in 6sense, a company name in LinkedIn and an account record in the CRM. Domain is the join key. A manual match table catches the rest.

Time

Time zones, week boundaries, currency and attribution windows. One rule for each, written down, applied to every source the same way.

Drift

Campaign names mutate, APIs change and new sources arrive. The mapping layer has an owner and a review loop, so the model stays true after launch.

Custom vs. off-the-shelf

When should an agency choose a custom build over AgencyAnalytics?

Past about 40 to 50 client accounts, or when the report needs a source the tool does not connect to. Below that size, off-the-shelf is usually the better call and we say so. The table is the short version.

CategoryOff-the-shelf toolsCustom-built by TechEmulsionEdge
What you getA connector tool. It moves data from each platform into a template and stops there.A data model with one set of metric definitions across every client and every tool, plus the dashboard on top.Custom-built
OwnershipYou rent a vendor's platform. Cancel the plan and the reports go with it.You own the dashboard, the code, the data model and the pipeline.Custom-built
Cost as you scalePrice grows with every client you add. The 50th client costs as much as the 1st.Flat cost once it is built. The 50th client costs no more than the 5th.Custom-built
Under 40 to 50 clientsCheaper and faster to set up. The right call at this size.Hard to justify the build cost. We say so on the call.Off-the-shelf
AI-search visibilityA rankings widget. No view of AI Overview, ChatGPT or Perplexity mentions.AI-search mentions and citations next to rankings, from captures and the tools you already pay for.Custom-built
Data sourcesOnly what the vendor has built a connector for.Any source with an API, export or database, including the client's CRM and the PR tools.Custom-built
SupportA ticket queue with a vendor who does not know your business.A direct line to the team that built it and knows your setup.Custom-built

For the full neutral breakdown, with the math on when off-the-shelf tools are cheaper, see our AgencyAnalytics vs. custom-built reporting comparison, the build vs. buy framework for agency reporting, and our Whatagraph alternatives roundup.

Data sources

What do you connect to?

Anything with an API, an export or a database. API first. Scheduled exports second. Browser capture last, with permission.

CRM and marketing automation
HubSpot, Salesforce, Marketo, Pardot, Eloqua
ABM and intent
6sense, Demandbase, RollWorks
Paid and programmatic
Google Ads, Microsoft Ads, LinkedIn Ads, Meta, TikTok, Reddit Ads, StackAdapt, DV360, The Trade Desk
Web and SEO
GA4, Google Tag Manager, Search Console, Semrush, Ahrefs, Hotjar, Microsoft Clarity
AI search visibility
Scheduled AI Overview captures, Profound, Peec, Scrunch, Nightwatch
Social
Sprout Social, Hootsuite, Metricool, LinkedIn Page analytics, Meta Graph API
PR
Muck Rack, Cision, Meltwater
Content and CMS
WordPress, HubSpot CMS, Webflow, Google Docs
Project management and time
Asana, Monday, ClickUp, Teamwork, Harvest, Everhour
Call tracking and email
CallRail, Klaviyo, Mailchimp
Data connectors, when the long tail of ad platforms is cheaper to buy than to build
Supermetrics, Funnel, Improvado, Windsor.ai, Fivetran, Airbyte

MCP servers

As of October 2026, Google Ads, Google Analytics, Meta Ads, HubSpot, Salesforce, Semrush, Ahrefs, Supermetrics, Improvado, Meltwater and 6sense each publish an official MCP server. LinkedIn Ads, Google Search Console, Cision, Muck Rack and Sprout Social do not, as far as we have found, and run on their APIs. None of this changes how the pipeline runs. It changes what our engineers and your team can ask in chat.

For AI search, we keep a fixed list of tracked queries per client and capture the Google AI Overview for each one on a schedule. For ChatGPT and Perplexity we pull from the tracking tools you already pay for. The content side of that work is covered under programmatic SEO for agencies.

What we build with

What is the tech stack behind the dashboard?

Next.js, Supabase and Claude. Here is what each one does. It is the same stack behind our website development and SaaS development work.A note on Data Studio (formerly Looker Studio): many agencies ask because it is where they stitch reports together today. We do not run final client reports through it. A custom build gives you a branded interface that is yours. If your team already lives in Power BI, Looker or Tableau, we feed that tool the clean model and you keep the tool.

Dashboard

Next.js on your domain

The branded dashboard your clients log into is built in Next.js and hosted on your domain. Your logo, your colors, one login per client.

Pipeline and storage

Supabase (Postgres)

The raw layer, the standard model, the metric code and the scheduled reports run on Supabase in your cloud account. It is the same backend we run our own products on.

AI layer

Claude through the API

Suggests field mappings, flags numbers that break pattern, and drafts the commentary. A person approves each one. It never holds write credentials.

Security and data handling

How do you handle our clients' data?

It stays in your cloud, under your logins, and we pull aggregates wherever we can. Five promises, then the detail behind them.

  1. 01

    Your data stays in your cloud, under your logins.

    The database, cloud accounts and secrets vault sit in your organization. Our engineers are invited members you can remove in one click.

  2. 02

    We pull aggregates wherever we can and hash anything personal at the door.

    A report never needs a person's name. We keep a hashed contact ID, company, stage, dates and source fields, and drop names, emails and phone numbers. We never pull notes, email bodies, call recordings or attachments.

  3. 03

    Two or three named engineers, read-only, every access logged.

    One credential per client per source, least scope, revocable on its own. Named accounts with MFA. Production and development are separated, and development runs on masked data. Audit logs are kept 12 months.

  4. 04

    Claude never sees a contact row.

    The model gets aggregates and anonymized tables. It drafts commentary and proposes field mappings. A person approves. It holds no write credentials. Anthropic does not train on API inputs and outputs by default.

  5. 05

    We sign your NDA and a data processing agreement.

    The agreement names every sub-processor, including any connector vendor in the pipeline. We tell you plainly which certifications we hold and which we do not.

The detail behind the promises

Four data tiers
Aggregate metrics. Company-level data. Contact-level personal data, avoided or hashed. Credentials and commercials, held in a secrets manager.
Where it lives
US data residency with remote access from our team. No production data on laptops. Encryption in transit and at rest, with column-level encryption for the sensitive tier.
Retention, written down
Raw rows for 13 months. Aggregates for as long as you want them. Full deletion within 30 days of a client leaving, with written confirmation.
Incidents
An incident runbook with a named contact at your agency, so your own 72-hour notification duties can be met. Standard Contractual Clauses if EU contacts are in scope.
What we do not do
We do not enrich or profile individuals. We do not pool data across your clients into benchmarks without written consent.
Certifications
We do not hold SOC 2, ISO 27001 or HIPAA certification. We provide written policies for access, retention and incidents, completed security questionnaires, and a pen test on the dashboard before launch on request.

What is included, and how long does it take?

Scope drives time, and we quote a ship date after Discovery. The first step is NDA, access and a written scope with a fixed price. The first working slice runs on real data before the full build. Then a test run on three pilot clients, fixes, handover docs and training. Access is the critical path, so pilot clients and credentials get settled first. Here is what every build includes.

  • A raw layer with scheduled pulls per client, per source, each on its own read-only credential

  • A standard data model and metric definitions in code, with a mapping table for old campaign names

  • A branded dashboard on your domain, one login per client

  • Monthly PDF or link report from the same data, with your account lead's commentary block

  • AI-search visibility panel: tracked queries, citation share, week-over-week change

  • Failed-pull alerts to your team, and a trailing 30-day re-pull for ad platforms that restate numbers

  • Client-level rules: custom KPIs, targets, and which metrics each client can see

  • Handover docs, a staging copy, and training for the person who owns the mapping layer

Who this is not for

  • Agencies under about 40 to 50 client accounts. AgencyAnalytics or Whatagraph is cheaper at that size. The comparison page shows the math.
  • Agencies that only need a weekly Data Studio link. That is a template, and a build would be overkill.
  • Agencies that cannot give us read-only API access to their ad, analytics and CRM accounts.

Proof

Which reporting platforms have we already built?

AutoCar Intelligence, where nine-plus auto repair shops were unified into one source of truth, is the best proof for the standardization layer. BillboardIQ cut reporting time 80 percent for a multi-country outdoor media operator. Both write-ups show the stack and the numbers. The Charlotte work is current and not yet written up.

Also see

  • AI automation for marketing agencies: the full overview
  • Agency AI automation services
  • White label AI development partner
  • Build vs. buy for agency reporting
  • Whatagraph alternatives
  • See every industry we build reporting and automation for

Questions agencies ask before building

Let's scope your reporting dashboard.

30 minutes. We map your data sources, client count and reporting needs. Then we tell you if a custom build makes sense, or if an off-the-shelf tool is still the better fit at your size.

Other agency services

B2B agency reporting

One report per client across PR, ABM, paid, content and social.

AI chatbot for agency client portals

Answers "why did this number change" from the same data the dashboard holds.

Agency AI automation services

Reporting, lead follow-up, content, GEO and AEO, and support systems.