Instagram reporting
Reach, Reels, Stories and what followed
Accounts reached split by followers and non-followers, Reels plays against watch time, Stories frame by frame, saves, profile taps and follower flows — scoped to one client. Sign in to open the report workspace, or preview what’s inside.
Instagram reporting
Instagram Insights answers most questions with a single number and no way to get underneath it. This report keeps one client's Instagram account in one structure — accounts reached split into followers and non-followers, Reels plays against watch time, a Story reported frame by frame, and the profile actions that followed — so an account team can move from a scorecard into the content that produced it.

Instagram publishes accounts reached as a single figure, and that figure hides the question an agency actually needs answered: how much of the reach landed on people who already follow. The Reach tab splits every post's accounts-reached number into followers and non-followers, stacks the two together in one bar per post, and rolls the same split up by format. A carousel that reached thirty thousand people who nearly all already follow is a retention result. A reel that reached the same thirty thousand with two thirds of them outside the following is an acquisition result. Both are worth reporting, and they ask for very different work in the month that follows.
That split travels through the rest of the report rather than sitting in one panel. The format filter at the top re-bases the scorecards, the trend chart, the reach mix and all eight tabs, so isolating Reels or Stories is one click instead of a second saved view. Non-follower reach is available as a trend metric in its own right, which turns did this account get in front of new people into a line on a chart instead of an argument in a meeting. Average reach per post sits beside the totals, so a month with fewer posts is never read as a month whose content reached fewer people.
Reels are the one Instagram format that routinely travels past the existing following, and they are also the format a plain engagement rate describes worst. The Reels tab reports plays — opened views with replays included — beside accounts reached, so the distance between the two is visible instead of buried in one number. Every reel card carries its own length in seconds, the average watch time measured against that length, the watched-through share, the replay count and how much of its reach fell outside the following. A fourteen-second reel with an eleven-second average is a different outcome from a forty-five-second reel with the same average, and only one of the two is a hook problem.
The table beneath the cards ranks every reel by plays and keeps saves and shares in the same row, because a reel that travels has usually earned both. Average watch time is always reported against the reel's own length rather than against a cross-account figure, which is the only honest way to read it: there is no universal number of seconds that makes a reel good, and quoting one to a client invites a comparison the data cannot support. Set the format filter to something other than Reels and the tab says so with a written empty state, rather than showing an empty panel that reads like a loading failure.
A Story is a sequence, and reporting it as one impressions figure throws away the only thing worth knowing: which frame lost the audience. The Stories tab breaks the Story into its frames, distributes the impressions across them so the frames add up to the Story total exactly, and reports each frame's reach, exits, replies, taps forward, taps back and sticker taps in a single table. A drop-off funnel above the table draws the same shape as a row of bars, and the completion figure is derived as the last frame's reach over the first frame's, so the number on screen always has a derivation somebody can point at.
Frame-level detail moves the conversation from Stories did fine to frame three is where they left. A tap back is a compliment — somebody went to re-read a slide — while a run of taps forward on a text-heavy frame usually means that frame asked for too much reading. Replies and sticker taps are counted on their own because they are the two things a Story can earn that a feed post cannot. The tab also states in writing that frame reach counts the accounts that saw that individual frame, so it sits under the Story's own accounts-reached figure, which counts anyone who saw any frame at all.
The profile is the only place a business account can actually be contacted, which makes the actions taken there the closest thing organic Instagram has to a conversion. The Profile activity tab reports profile visits beside website taps, email taps, call taps, direction taps and follows from the profile, each as a count and as a share of the visits that produced it. Reading contact taps against profile visits rather than against reach is a deliberate choice: somebody has to open the profile before they can tap anything at all, and dividing by reach quietly makes every account look worse than it is.
The action cards make the funnel legible at a glance — how many people opened the profile, how many went to the link, how many made contact, how many followed. Follows from the profile are reported as part of the account's follows for the period rather than as an extra pool stacked on top, so this tab and the Growth tab can be read together without a reconciliation step in between. For a client with a physical location, direction taps and call taps are frequently the two lines that justify the retainer, which is exactly why they are reported instead of folded into an other actions total.
The Growth tab reports follows and unfollows as separate daily series with the net between them, a churn rate measured against the follower level, and a day-by-day ledger listing follows, unfollows, net change and the follower count for every day in the window. Keeping the two flows apart matters because a net figure on its own cannot tell a quiet month from a loud one that shed almost as many followers as it won. The tab also states that follower flows are account-level — Instagram does not attribute a follow to a single post — so the format filter narrows the content on screen and never the audience behind it.
Beside the flows, a follower-activity heat map lays out seven days against twenty-four hours for this account's own followers, with the busiest slot named in words underneath so the chart is not the only way to read it. The Audience tab carries the same shape as the three busiest hours for each weekday, next to age bands split by the account's gender mix, the cities the following is concentrated in, and the country breakdown. Between them they answer the two questions a publishing calendar rests on: who this audience actually is, and when they are likely to be looking at their phone.
Accounts reached counts the unique accounts that saw the content. Impressions count the views themselves, so one account can produce several. Dividing impressions by reach gives frequency — how many times the average person saw a post — and the report shows both as scorecards with frequency printed under impressions. A rising impression count on flat reach means the same people are seeing more, not that more people were reached.
Reels are distributed largely through recommendation surfaces, so they get served to people who do not follow the account, while feed posts and Stories are shown mostly to the existing following. The Reach tab reports the follower and non-follower split for every post and rolls it up by format, so the difference shows up as a number in your own client's report rather than as a claim about how the platform behaves.
Accounts reached with its follower and non-follower split, impressions, engagement rate on reach, saves and shares, follows against unfollows, and profile visits with the taps that came out of them. The eight scorecards in this report cover exactly those, and the tabs underneath hold the post, Reel, Story, profile activity and audience detail sitting behind each one.
Frame by frame. A Story's impressions are reported across its frames, each frame carries its own reach, exits, replies, taps forward, taps back and sticker taps, and completion is derived from the last frame's reach against the first frame's. Reporting a Story as one total hides the frame where the sequence lost people, and that frame is the only part of it a content plan can act on.
No. This one is organic Instagram only — content published from the account and the audience it reached. Paid Instagram placements are bought through Meta and belong in the Meta Ads report, which covers objectives, ad sets, placements, creative and spend. Keeping the two reports apart is what stops paid reach being read as organic performance in a client recap. Connecting each account is a separate setup step.