A Facebook Page comments export is the cheapest brand monitoring dataset you can build. Every complaint, question and compliment a brand receives in public sits in the comments under its posts, in the customer’s own words, timestamped, and usually unanswered. Paste a post link, download the comments to Excel, and you hold a file most brands never look at about themselves. The first 100 comments on any post are free with no signup. This guide is about turning a stack of those files into a monitoring routine that a person can maintain in an hour a week.
The complaint that lives in a comment, not a ticket
Support tools see the customers who bothered to find the contact form. Comments catch everyone else. A traveller who paid in full and waited a month for a refund does not open a ticket; they write it under the brand’s next Reel where other travellers will see it. A property owner frustrated with the platform posts it in French under a post about summer deals. That is where reputation is actually formed, and it is the one channel where the brand’s own analytics tools are weakest, because Meta’s Page Insights reports counts of comments, not their content.
Exporting the comments moves them into a spreadsheet where you can count, tag and track them. The rest of this article assumes you have a Page in mind: your own, a client’s, or a competitor’s.
Build the Page’s post list first
The exporter works one post at a time, so the first job is deciding which posts. Open the Page in a browser, scroll the feed, and for each post you want to cover, click the timestamp or the share arrow and copy the link. Reels and videos count as posts here; their links work the same way.
You do not need everything. Comments concentrate. On a typical brand Page the top three posts of the month hold more than half the comments, and the posts that draw complaints are predictable: price changes, launches, outages and anything with the word "sorry" in it. Start with the ten to twenty posts with the highest comment counts and add the rest only if you find you need them. Keep the links in a sheet with the post date and a one-line description, because the export file will not contain the post text itself.
Export each post, one paste at a time
Paste each link into the Facebook comment exporter. It counts the comments, shows a preview, and lets you download Excel, CSV or JSON. Choose Excel for this workflow: it keeps emoji and non-Latin scripts intact, and you will be filtering by hand.
Two things to expect. The count will be lower than the number under the post, because that number includes comments that have since been deleted or hidden and those cannot be read by anyone. And the count will sometimes be higher than what you see by scrolling, because Facebook’s "most relevant" ordering suppresses short comments, new accounts and most replies, while an unfiltered export reads past that. Both are normal. A twenty-post batch takes about half an hour of pasting and waiting, less if you run two tabs.
One workbook for a whole quarter
Each export is a separate file. Before combining them, add a post_url column to each and fill it down, then stack the sheets into one table. Every row carries a comment id, so if you re-export a post next week and stack again, a remove-duplicates on that column keeps only the new comments.
The columns you will lean on:
- author — the display name. The Page’s own replies carry the Page name here, which is how you spot them.
- text — the comment. Tagged friends appear as plain names without an @ sign.
- likes and replies — agreement and conversation. A complaint with 40 likes is a different object from one with none.
- created_at — sort on this and the quarter reads as a timeline.
- language — detected from the text.
- reply_to_id — empty for a top-level comment, otherwise the id of the parent. This is the column that makes thread analysis possible.
Tagging complaints by type in a spreadsheet
Add a type column and fill it in two passes. The first pass is formulas. A comment containing refund, cancel, waiting, charged, scam, or their equivalents in the Page’s main languages is a complaint until proven otherwise. A comment ending in a question mark with none of those words is a question. Anything from the Page itself is a reply. In practice this handles two thirds of the rows.
The second pass is reading the rest. It sounds slow and it is not: a few hundred untagged rows take twenty minutes, and it is the twenty minutes where you learn what the customers are actually angry about. A team we watched do this on a travel brand’s six Reels found the same three complaints, refund delay, listing not matching photos, and no way to reach a human, in five languages. Nobody at the brand had the number of times each was said. After tagging, they did.
Once tagged, a pivot table on type by post date is your monitoring chart. A second pivot on type by language tells you which markets are unhappy about what.
Languages: a brand Page’s comments are never in one language
A Page run from one country receives comments from wherever its customers are. The travel brand above posted from Poland and got Portuguese, French, Dutch, Hebrew and English complaints on the same Reel. Sort by the language column and the file splits into markets. Translate by group rather than row by row: paste a language block into a translation tool or a language model with the instruction to keep the row order, then paste the result into a new column. Do not translate before tagging; the complaint keywords are easier to list per language than to guess after translation flattens them.
Track response gaps with reply_to_id
This is the analysis brands are least comfortable seeing and most need. Filter to rows where type is complaint and reply_to_id is empty. Those are the public complaints. Now, for each of those rows, check whether any row in the file has that comment’s id in its own reply_to_id with the Page as author. A COUNTIFS against the author and reply_to_id columns does it in one formula. Complaints with a count of zero were never answered by the brand.
On most brand Pages that number is uncomfortably close to all of them. Customers answer each other, usually to agree, and the brand stays silent. Research on service recovery is consistent that a public response to a public complaint improves how observers, not just the complainant, perceive the brand; the Harvard Business Review study of airline complaints on Twitter is the usual reference. A response-gap table built from an export is the clearest way to show a client that gap in their own comments.
Competitor Pages are public too
Everything above works on a competitor’s Page, because public comments are public. The same export on a rival’s launch post tells you what their customers are asking for and what they are complaining about, in a form you can put next to your own file. Keep the two workbooks separate and label them clearly; the temptation to quote a competitor’s customer by name in a deck is real and it is exactly the use to avoid.
Public groups are a third source when the brand has a community around it. The Facebook group comments guide covers what is and is not reachable there.
Where these numbers come from
We operate the exporter, and the workflow in this article is one we watched a customer run this week rather than one we designed. In a single session they exported 31 posts from one travel brand across Facebook, TikTok, Instagram and YouTube, six of them Facebook Reels, and the comments were almost entirely customer complaints and support requests in five languages. That session showed us two things about Facebook specifically: the ranked comment view on Reels was hiding a third of the top-level comments, which is why Reel exports are moving to the unfiltered ordering, and the number under a post was running two to three times the number of comments anyone could still read. Both facts are in this guide because we measured them, not because we read them somewhere.
The column names are the live export columns. Pricing is not quoted here on purpose; the pricing page has the current numbers and there is no subscription. For what Meta lets Page owners see natively, the Meta Business Help Center on Page Insights is the reference, and for why the official API does not solve this for Pages you do not own, the Graph API comments reference lists the permissions required.
Privacy and the line
The comments are public; the file you build from them is a dataset about identifiable people. Treat it that way. Keep it for monitoring and analysis, restrict who can open it, and delete it on a schedule. Do not message commenters from the author column, do not publish quotes with names, and if you are in the EU or handling EU customers, treat the file as personal data under the GDPR with a written purpose. Meta’s Pages, Groups and Events Policies govern the brand’s side of the conversation; nothing in an export changes those obligations.
Download Facebook Page comments free →
Related reading: how to analyze Facebook comments, export Facebook comments to Excel, Facebook Reel comments download.
