Reports and data

Automatic client reports sent before the client asks for them

Data from Google Analytics 4, Google Ads, Meta Ads and LinkedIn Campaign Manager lands in BigQuery or Google Sheets on its own. From there the report builds itself in the client template, with charts and room for the commentary, exports to PDF and goes out on the agreed date: weekly, monthly or when the campaign ends. Nobody logs into a platform to produce it.

Diagram: a single AI agent wired at once into the systems a company already runs - Campaign data sources, Database, Report and template, Delivery and alerts, CRM and tasks, Automation layer. The agent reads them as one whole instead of moving data between them by hand. AI agent Campaigndata sources Database Report andtemplate Delivery andalerts CRM and tasks Automation layer
  • 60 percentof occupations have at least 30 percent of activities that can be automated with technology already available, and collecting and processing data sit at the top of that list. McKinsey Global Institute, 2017
  • 5 sourcesGA4, Google Ads, Meta Ads, LinkedIn Campaign Manager and Search Console in one report, pulled over the API with no login to any panel
  • 2 to 6 weeksfrom the workshop to the first report that reached a client on schedule, with no manual work behind it

The problem

Why does the client report always sit at the back of the queue?

First week of the month. An analyst logs into Google Ads, then Meta Business Suite, then GA4 and LinkedIn Campaign Manager. Numbers get copied into a spreadsheet, formatting gets fixed, a deck gets assembled, and then somebody checks whether the spreadsheet total agrees with the panel. With twelve clients that is several days of work, and halfway through it client thirteen calls about an urgent campaign. The report slips to Friday, then to Monday.

This is not one person being slow, it is how the process is built. Every ad platform has its own panel, its own metric names and its own export, while the client wants one table and one conclusion. The more clients and sources, the more manual gluing, and every glue joint is a place for a mistake: the wrong date range, last month currency, a campaign from another account. When the analyst is on holiday, the report does not go out at all.

The scale of this work has been measured. McKinsey Global Institute, in A future that works (2017), found that in around 60 percent of occupations at least 30 percent of activities can be automated with technology already available, and listed collecting and processing data among the activities with the highest potential. A client report is made almost entirely of those two.

  • Several days of an analyst month go on copying numbers rather than writing conclusions
  • The report lands in the second week of the month and the client asks about it in the first
  • A wrong date range or the wrong currency reaches the client and puts the rest of the report in doubt
  • One person on holiday, or leaving, stops the reports for every client at once

Why now

What changed, so the report can be built without an analyst?

Every platform you copy numbers from today has an API: Google Analytics 4, Google Ads, Meta Ads, LinkedIn Campaign Manager, Search Console. Make or n8n pull from each of them on a fixed cycle, usually once a day, and write the result into one place: BigQuery at larger scale, Google Sheets with a handful of clients. Nobody has to log in and nobody has to remember.

From one base the report assembles itself. Looker Studio refreshes the charts and sends the PDF on a schedule, and a template in Google Docs or Google Slides fills up with the client numbers, the client logo, the client currency and the client language. One workflow serves twelve clients, because what differs between them is configuration, not process.

The third change is an AI agent. A report answers the questions you asked a month ago, when you designed the template. The question which client has the highest cost per conversion this week goes to BOND, our company AI agent, which answers in a plain sentence from the same base in 5 to 10 seconds. The analyst is left with what the workflow will not do: the commentary the client actually reads. Process first. Tools second.

What changes

What does the agency get, and what does its client get?

  • The report goes out on time, with no reminder

    A schedule triggers the build and the send: weekly, monthly or once the campaign ends. The client gets the PDF on the first working day of the month, whoever happens to be in the office that week.

    Same day and same hour for every client, agreed once in the workshop

  • No logging into five panels

    Make or n8n pull data over the API from GA4, Google Ads, Meta Ads, LinkedIn Campaign Manager and Search Console and write it into BigQuery or Google Sheets. The analyst opens none of those panels to produce the report.

    5 sources in one table, refreshed daily with the previous day data

  • Every client in their own template and language

    One workflow serves all of them. The differences, meaning the logo, the KPI set, the currency, the language and the recipient list, live in configuration rather than in a separate process. A new client is a new configuration row, not a new project.

    Adding a client takes hours of configuration, not a week of building from scratch

  • The same numbers in the PDF, on the dashboard and in conversation

    The report, the Looker Studio dashboard and the AI agent answer all read from one base. The argument about why the PDF shows a different figure than the Google Ads panel disappears, because date range, time zone and currency are settled once.

    One source of truth, BigQuery or Google Sheets, with history and every number traceable

  • The analyst writes the conclusion instead of copying the table

    Numbers, charts and the comparison against the previous period are ready before the analyst sits down. What is left is the commentary and the recommendation, which is the part a client pays an agency for. If you want it, a language model drafts the commentary and a person approves it.

    The manual part of the report shrinks to the commentary, and even that you can hand over

  • Questions about results in a plain sentence

    Which client is down on conversions this month, how much did we spend on Meta in August in total, whose cost per lead went over target. The AI agent answers from the same base, with no need to open the report.

    An answer in 5 to 10 seconds, in English or Polish, for the whole client service team

Proof

Do you collect your own campaign data this way?

Yes. The agency our founders run feeds its data warehouse and reviews its ad accounts with an AI agent, the same one behind the figures on our AI for business page. Below is the scale of that work, together with what the number does NOT prove.

Built for ourselves. These are not client deployments but implementations inside the founders' own companies. We say so plainly, because proof you cannot verify is not proof.

  • JustBotJustBottheir agent

    JustIdea Agency, a performance marketing agency of around 30 people

    23
    people from the company work with the agent
    38
    systems wired in permanently
    112
    processes run without a human
    475
    thousand lines of the agent’s code

    The agent is wired into Google Ads, Meta, Analytics, Search Console, the CRM, the task system and the data warehouse. First commit on 1 March 2026, and 23 people use it today.

    8 of 38 systems it works in

    • Google Ads
    • Meta Ads
    • HubSpot
    • ActiveCollab
    • Ahrefs
    • GA4
    • Search Console
    • BigQuery
    Before
    Loading the warehouse and reviewing the ad accounts depended on somebody having time to start them and read the output. That time competed with live client work.
    After
    The agent loads the warehouse and reviews the ad accounts on its own, on a cycle. The team gets a result instead of a task, and asks about campaign data in a plain sentence.

    3,506 data warehouse load operations and 2,225 ad account reviews in 30 days, with no person involved

And in your company

What if every one of our clients has a different report?

Four sentences we hear from agencies most often, and what we answer to each. This page is about the report that leaves your company and lands with your client. The internal document your own board reads on Monday is the automatic weekly report, and pipeline on its own is the automatic sales report.

  • We have four clients, the reports take us half a day.

    Then automation solves a problem you do not have yet, and we will say so on the consultation. It makes more sense to set up one Looker Studio dashboard and come back to this at around ten clients, or when the report goes out late two months running.

  • Every client has a different template and different KPIs.

    That is the norm, not the exception. In the workshop we write the KPIs down client by client, and it usually turns out that 3 to 4 templates cover everyone: e-commerce, lead generation, brand campaign. The differences in logo, currency, language and recipients live in configuration, not in a separate workflow.

  • The client pays for the analyst commentary, not for charts.

    And that is how it should stay. The workflow delivers the numbers, the charts and the comparison against the previous period on the first day of the month, and the analyst writes only the commentary, which is the part the client pays for. If you want it, a language model drafts that commentary and a person corrects and approves it.

  • We are afraid the workflow will send a client the wrong numbers.

    That is why a check sits between building and sending. The workflow verifies that every source answered and that the data covers the full period, and the finished PDF goes first to the account manager on Slack or by email. It reaches the client after their approval, or automatically after an agreed delay if nobody objected. A missing source stops the report and raises an alert instead of sending a PDF with an empty section.

Campaign data sources
Google Analytics 4, Google Ads, Meta Ads, LinkedIn Campaign Manager, Google Search Console
Database
BigQuery, Google Sheets, SQL databases
Report and template
Looker Studio, Google Docs, Google Slides, PDF export
Delivery and alerts
Gmail and Google Workspace, Microsoft 365, Slack
CRM and tasks
HubSpot, Pipedrive, ClickUp, Asana, Notion
Automation layer
Make, n8n, custom integrations over the API

Data sources in the report and what we take from each

The set a client report is most often built from at a marketing agency. Which sources go into the first rollout is settled in the workshop, because each one has its own data delay and its own metric names that have to be reconciled.

SourceWhat we pullHow often, and with what delay
Google Analytics 4sessions, users, conversions, revenue, traffic sourcesdaily, the previous day data
Google Adscost, clicks, conversions, conversion value, per campaigndaily, the previous day data
Meta Adsspend, reach, clicks, results per ad setdaily, the previous day data
LinkedIn Campaign Managerspend, impressions, clicks, leads from formsdaily or weekly, depending on the budget
Google Search Consoleclicks, impressions, average position, queriesdaily, with a 2 to 3 day delay on the Google side
CRM: HubSpot, Pipedriveleads and opportunities attributed to campaigns, closed salesweekly, or ahead of the monthly report
Team spreadsheetmonthly targets, budget, analyst commentaryat the moment the report is generated

The first rollout usually covers 3 to 4 sources. We add the rest when a client asks for them, because every source is one more thing that can fail to answer.

How we do it

Five steps from a manual report to a scheduled send

Each step ends with something you can judge before you decide on the next one.

  1. Workshop

    We take today report apart: where each number comes from, who copies it, how long that takes and where the mistakes appear. We write down the clients, their KPIs, their templates and their deadlines. We check which platform access you already hold and whether it can be granted to a technical account.

  2. Report and source design

    We settle which sources go into the first rollout, how metrics are named consistently across platforms and where the base sits: BigQuery or Google Sheets. We pick the tool: Make, n8n or a custom integration over the API. We design 3 to 4 templates instead of twelve.

  3. Data pipeline and template

    We build a daily pull from every source with a completeness check. We wire in the Looker Studio or Google Docs template that fills up with client data. The first report is generated for one client on their real data from the last 2 months.

  4. Parallel sending

    For 1 to 2 cycles the automatic report is produced next to the manual one and you compare the numbers. Gaps usually come from the date range, the time zone or the attribution model, and this is the moment to settle them once. Only then does the report go to the client.

  5. Switch and observation

    We switch sending to production with error monitoring and alerts for missing data. Account managers learn to add a client, change a KPI and move a deadline themselves. After 30 and 90 days we check whether the reports go out on time and how much manual work is really left.

Before and after

How the first week of the month changes at an agency

Before

  • The analyst logs into five panels and copies numbers into a spreadsheet, client by client
  • The report goes out in the second week and the client writes in the first: is there anything for August?
  • A wrong date range surfaces in the meeting, when the client compares the PDF with their own panel
  • The analyst going on holiday means every client report waits until they are back

After

  • The previous day data is in the base by morning, with nobody logging in anywhere
  • The PDF is with the client on the first working day of the month, at the same hour as always
  • Date range, time zone and currency are settled once, so the PDF and the panel say the same thing
  • The analyst writes the commentary and the AI agent answers questions about numbers in 5 to 10 seconds

You see the first automatic report 2 to 3 weeks after the workshop, on the real data of one client. Punctuality and the amount of manual work left are judged after 30 and 90 days.

For the person signing this off

What the agency owner gets out of it

The report stops being the thing a client reminds you about and you then remind the team about. It goes out on its own, on the same day, in the same layout, and you know its numbers come from one source that can be checked. The risk that one person leaving takes the knowledge of how it is assembled with them disappears too.

The second point matters more in a conversation about margin. The analyst hours that go on copying today come back to the work a client sees and pays for: conclusions and recommendations. The same team serves more clients without a new hire, and you see that in the time records rather than in a declaration.

  • The report on the same day for every client, with no dependency on one person
  • One source of numbers for the PDF, the dashboard and the AI agent answer
  • Parallel sending, so the old report keeps working until the tests are done
  • A new client and new KPIs added by your own team, with no ticket to us

What it costs

The workshop has a published price, the rollout is quoted after it

The process workshop costs EUR 3,500 net per week. For client reports one week is usually enough, because the process is repeatable and easy to see: everyone in the agency knows where their numbers come from. We quote the rollout after the workshop, once it is clear how many clients, how many sources and how many templates are in play.

You pay the running cost directly to the vendors: Make or n8n for the workflows, Google for BigQuery if you go past the free tier, or nothing at all when Google Sheets and Looker Studio are enough. If a language model drafts the commentary, its queries cost the vendor EUR 0.005 to 0.07 each. No commission from us on any of it.

  • Process workshop

    EUR 3,500 net

    per week, on client reports usually one week

    A self-contained piece of work. It ends with a written map of the reports: clients, KPIs, sources, templates, deadlines and a plan you can execute without us.

    • Map of the reporting process today and the points where it loses time
    • KPI list per client and one metric dictionary shared across every platform
    • Tool recommendation: Looker Studio, Make, n8n, BigQuery or Google Sheets
    • Rollout order and the metrics to measure after 30 days
    Start with the workshop
  • Most popular

    Workshop and report rollout

    Quoted after the workshop

    scope follows from the number of clients, sources and templates

    The option most agencies choose. Reports going out on schedule 2 to 6 weeks after the workshop, tested in parallel with the manual ones.

    • Everything in the workshop
    • A data pipeline in Make, n8n or over the API into BigQuery or Google Sheets
    • Report templates in Looker Studio or Google Docs, with PDF export
    • Completeness checks, approval before sending, alerts on failures
    • Parallel sending, the switch and training for the team
    Talk about a rollout
  • Reports and an AI agent for the agency

    Quoted after the workshop

    for teams that ask about client results a dozen times a day

    Everything in the rollout plus BOND, which answers questions about campaign data in a plain sentence, from the same base as the reports.

    • Everything in the report rollout
    • An AI agent wired into the base: which client is down, what we spent, whose cost per lead went over target
    • Alerts on deviations between reports, rather than in the PDF at the end of the month
    • Access for account managers and the board, in English and Polish
    Ask about the agent

The workshop ends with a document that stands without us: a map of the reports, a metric dictionary and a rollout plan. If it turns out one Looker Studio dashboard is enough, we say so and show you how to set it up. The matter ends at the workshop rather than at a rollout you do not need.

Frequently asked questions

What are automatic client reports?

It is a process in which data from ad and analytics platforms is pulled over the API on a fixed cycle, written into one base and assembled into a report following the client template, with the finished PDF emailed on a schedule. A person adds the commentary or approves the send, but nobody copies numbers. For an agency with twelve clients that means twelve reports out of one workflow.

How long does a client report rollout take?

One week of workshop and 2 to 6 weeks of build, depending on the number of sources and templates. The first report for one client on real data usually appears after 2 to 3 weeks, and the other clients follow, because what differs between them is configuration rather than process. For 1 to 2 cycles the automatic report runs next to the manual one.

Which data sources can the report use?

Most often Google Analytics 4, Google Ads, Meta Ads, LinkedIn Campaign Manager and Google Search Console. On top of that a CRM such as HubSpot or Pipedrive, when the client wants to see leads and sales next to campaign cost, and the team spreadsheet with the monthly targets and budget. Every source has its own data delay, so we set the send date late enough for all of them to be complete.

Can each client have a different template and a different language?

Yes, and that is the normal situation. The template, the logo, the KPI set, the currency, the language and the recipient list live in the client configuration, while the workflow stays single. In practice 3 to 4 templates cover most agencies: e-commerce, lead generation and brand campaign, each in an English and a Polish version.

What happens when an ad platform API fails to answer?

The workflow checks data completeness before it builds the report. A missing answer from one source stops the report and sends an alert to the account manager, rather than shipping a PDF with an empty section. Once the pull succeeds the report continues. The same applies to API changes the platforms announce in advance: monitoring shows them on day one, not in the client PDF.

Does the client get a PDF or a link to a dashboard?

One, the other, or both. A PDF by email on a schedule is the standard, because the client gets it without logging in and can forward it. We add a Looker Studio dashboard with live data for clients who want to look between reports. Both read from the same base, so they show the same numbers.

Do we need BigQuery, or is Google Sheets enough?

With a handful of clients and a handful of sources Google Sheets is enough: the spreadsheet as the base, Looker Studio as the report. BigQuery makes sense when there is a lot of data, when you want to keep years of history rather than months, or when an AI agent is going to read from it. We take that decision in the workshop, and moving from a spreadsheet to BigQuery does not require rebuilding the templates.

Who writes the commentary on the numbers in the report?

By default the analyst or the account manager, because that is the part of the report a client pays an agency for. The workflow hands them finished numbers, charts and the comparison against the previous period, so the commentary is written on top of something rather than from scratch. On request a language model drafts it and a person corrects and approves it before the send.

Let us count how many hours a month go on reports at your agency

The free consultation takes 30 minutes. You tell us how many clients you have, which platforms you copy numbers from and when the report last went out late. We show you which sources can be wired in straight away and which ones need the access tidied up first. You do not have to share any account at this stage.

We run at most two rollouts at a time, so that someone is actually sitting on each of them.

Book a free consultation

PS. If a client asked you this month whether the report is coming before they got it, that is exactly this problem. A report that depends on one person having time always loses to something more urgent. A workflow has nothing more urgent, so it goes out on the date.

Tell us your challenge

You write directly to Paweł. No spam.