A social media report gathers what six platforms actually send: Instagram, Facebook, TikTok, YouTube, LinkedIn and Google Business. Each one returns some metrics and withholds others, so half the work is knowing which cell is empty because the post earned nothing and which one is empty because that network never reports it.
Six networks send numbers, not fourteen
Publishing and measuring do not cover the same map. You publish to fourteen networks and you measure six: Instagram, Facebook, TikTok, YouTube, LinkedIn and Google Business. The other eight accept the piece and tell you nothing afterwards, and that is worth saying on day one rather than in month two, when somebody asks how Telegram performed and the honest answer is that the network does not send it.
Coverage is not uniform inside those six either. Every platform decides what it exposes at post level, and the gaps are not a flaw in the dashboard, they are the API. This is the table worth having in front of you before you design a report template, because it decides which columns you can promise and which ones you will have to explain.
| Network | Not reported per post | Data lag |
|---|---|---|
| Clicks | Up to 48 hours | |
| Saves | Up to 48 hours | |
| TikTok | Impressions, reach, saves and clicks | No declared lag |
| YouTube | Impressions, reach, saves and clicks | Three days before it settles |
| Views and saves | No declared lag | |
| Google Business | Every post level metric | Two or three days |
An empty cell and a zero are not the same thing, and confusing them is the quickest way to sign off a false report. A zero says the piece earned nothing. A dash says the network never sent that figure. Printing "0 clicks" next to a real reach count reads as a measurement, and it is not one.
Google Business deserves a line of its own. Its numbers exist and they are useful, but they are not comparable with the rest: a business listing measures appearances in Maps and in Search, plus actions like calls, direction requests and clicks through to the website. Putting those in the same column as an Instagram post's impressions would offer an equivalence that does not exist, so they are read in that network's own section rather than in the shared table.
Four aggregation rules that change the answer
Around thirty metrics are documented with their aggregation rule beside them, and that rule is the difference between a report and a nice looking figure. There are four families and only one of them adds up.
- Sum. Counts of events: likes, comments, shares, views. Adding the days is exact and there is nothing to argue about.
- Unique. Reach and accounts engaged count people, not events. Somebody who saw you on Monday and on Tuesday is one person in the real total and two if you add the days. Only the platform can compute a period total, so when it does not supply one the dashboard reports a gap instead of inventing a sum.
- Latest value. Follower count is a running counter. A month's total is the last day's value, and adding thirty of them means nothing at all.
- Ratio. Engagement rate and average view duration are recomputed from their components, never averaged from the daily rates, which gives a different and worse number.
The unique rule is the one that has ruined the most reports, because it is the easiest to break without noticing: any spreadsheet will happily total a column. If a dashboard hands you a monthly reach and that number is the sum of thirty daily values, it is inflated, and the error always runs in the same direction, upwards. How to read that metric without fooling yourself is in the reach guide, and the rate formula, with its traps, is in the engagement rate guide.
What is measured about the account rather than the post
The daily follower series arrives from five of the six networks, all but Google Business, and it only exists from the day you connected the account. Platforms do not keep that history and Meta withdrew it from its insights API, so there is no way to fetch it backwards. Connecting an account a month before you need the figure is the only version of this that works.
Audience demographics exist on Instagram and YouTube and on no other network. Instagram gives age, gender, country and city, requires at least 100 followers and returns the top 45 values per dimension. YouTube gives age, gender and country, and only for signed in viewers. Facebook does not send it, however much everybody assumes it should. The two cannot be added together either, because they do not even measure the same unit: one counts accounts per bracket and the other returns a percentage of viewers.
Each network then adds its own. Instagram contributes accounts engaged, total interactions and taps on the profile link. YouTube contributes minutes watched, average view duration and subscriber movement. Google Business contributes impressions in Maps and in Search plus the actions taken from the listing. And there are three readings computed over your own history that usually settle more than any total: the best times to post, how a piece's engagement builds in the hours after it goes out, and posting frequency against engagement, broken down by network.
The monthly report is an agency feature
Two things get confused constantly and they are worth separating. Per network analytics are in all three workspace kinds: a creator running their own brands sees exactly the same dashboards an agency does. The monthly PDF report that prepares and sends itself is a different thing, and it belongs to agency workspaces, because it is a document sent to a third party and somebody running their own brands has nobody to send it to.
The mode lives on each brand rather than on the workspace, and there are three of them. Off generates nothing. Automatic prepares the report and sends it on the last working day of the month, Madrid time, without anybody touching it. Review writes the draft, notifies somebody on the team and sends nothing until that person says so. Keeping the mode on the brand is what lets one client receive the report on its own while another always goes through a review first.
Recipients are the client's contacts in their portal, plus any addresses you add by hand. If there are none, nothing is sent, rather than going out to a mailbox nobody watches. Every report is stored and downloads as a PDF exactly as the client received it, which is the evidence you want the day somebody asks what was sent in March. What that client can look at on their own, without waiting for month end, is covered in the client portal article.
Everything in this article happens in one place in GoFeed.
Try it freeWhat the reader actually decides
A monthly report is almost never read to find out how many likes there were. It is read to decide whether next month carries on the same way, changes format or loses budget, and that decision gets made with three or four figures rather than thirty.
Which is why the order matters more than the template. First what changed against last month and why, then the piece that worked best and what was different about it, and the big number last. A report that opens on a total impression count forces the reader to find the meaning by themselves, and what they usually find is an awkward question.
There is an asymmetry worth accepting up front: metrics that go up explain themselves and metrics that go down need a written sentence. A month with less reach and more saves is not a bad month, it is a different kind of month, and saying so before anybody asks is the difference between a report and a defence. How that conversation connects to the renewal is in the monthly report guide.
What a report cannot do for you
Three things, and none of them is a flaw in the tool.
It cannot rebuild what was never captured. Follower history starts on the day you connect the account, so if the contract begins in March and somebody wants the January figure, the honest answer is that the figure does not exist anywhere.
It cannot compare across networks what the networks do not define the same way. Each platform applies its own threshold to what counts as a view, and putting TikTok's next to YouTube's in the same bar implies an equivalence that is not there. You compare periods within one network, not networks against each other.
And it does not write the conclusion. The figures, the rules they aggregate under and the history are all in place; what they mean for this client in this quarter is put there by a person. How those metrics are assembled, network by network, is on the analytics and reports page.