Back to Blog Home

Automate Client Reports Without Losing the Note Clients Read: When Each Platform's Numbers Settle, a One-Page Layout and a Monday Run in Slack

A Kipwise page that pulls items from Google Drive, Figma, Airtable and Trello into one place

Automated client reporting fails in two places. The numbers are pulled before they settle, so the report sent on Tuesday disagrees with the dashboard the client opens on Friday. And the short note that explains them, the part many clients read, gets automated away with everything else.

The short answer

  1. Automate the pull: spend, clicks, conversions, sessions and search numbers, each with its date range, drafted into an internal channel on a schedule.
  2. Freeze the period before the slowest source has settled, and mark any Google Ads conversions that are still arriving.
  3. Keep the note with the account lead: what changed, why, what happens next, what you need from the client.
  4. Lead the note with money in against money out. Keep every per-channel number in an appendix.
  5. Buy a reporting tool when you have many clients, need client portals, or report ad platforms the agent does not read.

Agency owners describe the same pain on Reddit. One PPC practitioner spent eight hours one weekend on reports for seven clients because they try to put thought into each one.

Why the numbers move after you send the report

The three sources finish their numbers at different times, which is why a report sent early gets contradicted later.

SourceWhat Google's help pages sayWhat it means for a report
GA4Processing can take 24 to 48 hours, and data in reports may change during that timeLeave two full days after the period ends before you read sessions and key events
Search ConsoleCollected data should normally be available in 2 to 3 days, and each day is labelled in California timeLeave three days, and expect the edges of a day to differ from GA4 if the client is in another time zone
Google AdsThe main conversion columns are calculated by the time of the click, not the time of the conversionSpend is reported in full, but conversions for recent days keep rising

The Google Ads row catches agencies. A click from last Tuesday that becomes a booking this Thursday is reported against last Tuesday. As the days-to-conversion report explains, spend is fully reported while some clickers have not converted yet, so recent days can show fewer conversions and a higher cost per conversion than they will end up with. Conversions can be reported up to 90 days after the click, depending on the conversion window you chose, and the same page suggests a date range that ended at least 30 days ago, or longer with a longer conversion window, for complete conversion data.

How long is long enough depends on the account. A dental practice where most people book within a day behaves differently from a software buyer who takes three weeks. Segment the client's conversion columns by days to conversion once, and write down how many days most conversions take to arrive. That is the settling time for that client.

The internal version of this problem, automating weekly KPI reports in Slack, already argues for fixing the period and waiting for the slowest source. This article is about the report a client reads.

A freeze rule for weekly and monthly reports

Everything in this section is a recommendation built from the table above, not a Google rule. Adjust the days to the settling time you found for each client.

Weekly report. Run the pull on Monday morning for the seven days that ended the previous Thursday, Friday to Thursday. By Monday, Thursday is four days old, which clears GA4's two days and Search Console's three. The account lead writes the note on Monday and sends it by Tuesday. If your clients expect calendar weeks, run the pull on Wednesday for the Monday to Sunday week instead: Sunday is then three days old.

Monthly report. Run the pull on the 4th for the previous calendar month, and send by the 5th or 6th. The last day of the month is four days old on the 4th.

Conversions inside the window. For both cadences, mark Google Ads conversions from the last days of the period as still arriving, using the settling time you found for the client. Spend needs no label.

The rule trades a little freshness for a report that does not change.

The one-page layout

A client report works as a note on top of an appendix. The note fits on one page and has four parts, in this order:

  1. Money in and money out. What the client spent with you or on ads, and what came back: leads, bookings, sales or revenue, whichever the client counts as money. Two or three lines.
  2. What changed and why. The one or two movements that matter, with the reason. This is the part only a person who knows the account can write.
  3. What happens next. The change you will make or the test you will run, and when the client will see the result.
  4. What we need from the client. The approval, the asset, the access or the decision that is blocking you. If there is nothing, say so in one line.

Behind it sits the appendix: per-channel numbers for Google Ads, GA4 and Search Console, each with its date range and the label for any figure that is still settling. The client report template is a copyable version of this layout. The client review template is a different document, for the quarterly relationship review.

Practitioners in an r/PPC thread say reports go unread for months while results are good, and in another they say clients mostly care about money in against money out. In the first thread, one agency says it added tracking to its reports and saw exactly that. So the note leads with money and carries the reason in a sentence.

Which numbers go in the note and which go in the appendix

Put one money line in the client note and keep every channel figure, including GA4 sessions and Search Console clicks, in the appendix, because each extra number in the note is another question the client brings back.

Sessions, rankings and click-through rates feel like proof of work, and clients do ask for them. There are two reasons. The channel figures settle at different times, so every one you put in the note is one more figure a dashboard can contradict later. And the same r/PPC threads describe clients who paste the report into ChatGPT or Claude and come back with questions. A model asked about a page of metrics can find something odd in each of them. A model asked about a money line and three sentences has less to find.

This is a recommendation, not a measured result. To test it, count for two cycles how many client questions are about a number in the note and how many are about one only in the appendix. If the client keeps asking about one appendix figure, move that one into the note.

The split:

  • In the note: money out (spend), money in (the client's own revenue or lead value where you have it), and a comparison with the previous period of the same length.
  • In the appendix: spend, clicks and conversions by campaign, GA4 sessions and key events, Search Console clicks and impressions, each with its date range and any still-settling label.
  • In neither: a figure the client cannot connect to money and you cannot explain in a sentence.

Where the money-in figure comes from is a real limit. The agent reads Google Ads, GA4 and Search Console. If the client's sales sit in their own CRM or books, the account lead types that one figure in or asks the client for it.

A Monday run in Slack

Example: a 12-person agency we will call Fernwood Digital runs paid search and SEO for a client we will call Lakeside Dental. Every name and number below is made up to show the shape of the run.

On Monday at 9, a scheduled request in the internal channel for the client posts a draft. The account lead set it up once and approved it once. It asks the Kipwise agent to pull, for the seven days that ended last Thursday: Google Ads spend, clicks and conversions by campaign; GA4 sessions and key events; Search Console clicks and impressions. The agent reads GA4 and Search Console read-only and states the date range next to every figure. It pulls campaign performance from Google Ads. The request also tells it to mark conversions from clicks less than seven days old as still arriving, because Fernwood checked the days-to-conversion report for Lakeside and found most bookings arrive within seven days of the click. On Monday those are the clicks from Tuesday to Thursday.

The draft in the channel reads like this:

LineExample figure
Google Ads spend, Friday to Thursday$1,050
Conversions, Friday to Monday9 (settled)
Conversions, Tuesday to Thursday6 (still arriving)
GA4 key events from search traffic31
Search Console clicks412, impressions 9,800

The account lead reads the draft, checks the one campaign that moved, and writes the why: a new offer on the implants campaign brought more calls. The next step is to test a shorter booking form. The ask for the client is the booking-system export for the week. The lead pastes the money line and three sentences into the client email, attaches the appendix, and sends it. The agent sends nothing to the client.

The agent changes nothing in Google Ads in this flow. If the lead decides to pause a campaign or change its daily budget (one not shared with other campaigns), they name the campaign in the thread and ask for it, and the agent shows an Approve card that only the lead can use. The card expires after 30 minutes, and a denied or expired card means the change does not run.

Each person connects their own Google accounts, so the account lead needs access to the client's Google Ads, GA4 and Search Console to run this for that client.

Failure handling and what stays with a person

A source returns nothing or fails. Tell the request to name any source that did not return and the dates, and never to fill the gap. The lead decides whether to wait a day. A zero that was really a failed read is how a report ends up saying traffic collapsed.

The numbers move after you send. A Google Ads conversion count is final only once its conversion window has closed, so print last period's number again, updated, in the next report instead of treating the sent figure as final. Late conversions are credited back to the click date, so the update normally goes up. A one-line correction such as "the earlier 31 is now 37" is easier to explain than a silent difference.

The note is wrong. The agent drafts figures and the lead writes the reasons. A reason you did not confirm with the account is a guess.

Clients using AI on the report. Write the note so it still makes sense when pasted without the appendix: state the period and the comparison in the sentence itself.

Access drops. If the lead's Google connection lapses, the Monday draft cannot pull that client's numbers. Reconnect before you write the note.

When a dashboard or reporting tool is the better buy

The Slack approach suits a lead who reports on a handful of clients and wants to write the note personally. It is the wrong tool in four situations.

  • You have many clients. If one lead owns dozens of accounts, one scheduled request per client stops being a saving. A reporting tool with templates and connectors across clients handles the volume better.
  • Clients want a login. The agent does not build white-label dashboards or client portals. If clients expect to open a live page, buy a dashboard product.
  • You report Meta or LinkedIn ads. The agent does not read that data. If the report has to put Google and Meta spend side by side, the pull has to come from something that reads both.
  • You need the send to be automatic. The agent drafts into the internal channel and does not send reports to clients on its own.

If you already pay for a reporting tool, the layout and the freeze rule still apply: use the tool for the appendix and write the note by hand.

Verify it works

Run the Monday request for one client for four weeks first.

  1. After each send, compare the report's figures with the dashboards a week later. GA4, Search Console and the non-conversion Google Ads numbers should not have changed. If they did, lengthen the freeze.
  2. Compare Google Ads conversions with the labelled ones. If the figures marked still arriving rose after the send, the label was right. If settled figures rose, your settling time for that client is too short.
  3. Count the client's questions that quote a number from the note, and the ones about the appendix. That is the test from the money-line rule.
  4. Time the lead from draft to send. The saved time should go into the note.

What to do next

For the one client who costs you the most report time, connect Google Ads, GA4 and Search Console in Slack and ask the agent for the previous month's numbers with their date ranges. Compare them with the report you sent. Then segment that account's conversions by days to conversion, write down how many days most of them take, and set that as the label rule. The Kipwise agent costs $10 per user per month with a minimum of three users, on the pricing page. For the client channel itself, see how to use Slack with clients.

Topics

Related posts

Put an AI teammate in your Slack

Free trial on install: $2 of AI credit for 7 days on the fast model, or $10 for 14 days with all models on a paid Slack plan or for existing Kipwise customers.