
Once your export is in a spreadsheet, keep brand replies as thread context but exclude them from audience totals. Assign one primary operational topic to each comment, resolve ambiguous entries using a simple team codebook, and check whether repeated questions point to specific media assets or post copy that need updating. Follow the detailed steps below to set up your collection, build reliable classification rules, and turn raw Facebook data into sensible next steps.
Collecting Your Public Comment Data
The first step is getting your raw text out of the social network and into a format you can actually analyze. You can extract public post data into structured rows using the Chronometrica Facebook Comments Scraper, which retrieves comment text, unique identifiers, parent links, and timestamps.
How Content Collection Works
To start an export, you provide links to specific public posts, Reels, videos, photos, or shared links. The collector accepts between 1 and 100 known public content links per run. It cannot discover posts automatically from a general Page address, and it cannot access private Facebook Groups under any circumstances.
When the collection finishes, your CSV file or dataset includes the actual comment text, a unique string identifier for each comment, and parent or root links that show whether a row is a main post reply or a response inside a nested thread. The export also records a boolean reply flag, the collection time when your run fetched the row, and the original publication time whenever the platform interface exposes a reliable exact source timestamp.
Understanding Exact Dates and Missing Times
Marketers frequently ask how to save the exact time of a Facebook comment. Your export tool captures two distinct timestamps: the collection time when your run ran, and the publication time provided by the platform interface.
Publication dates can sometimes be missing from public data depending on how a post was shared or rendered. If a timestamp is missing, the collection time is not a substitute for when the comment was originally written—it only records when your export tool collected the row. If you apply a date filter during setup, rows with missing publication dates might be left out of your final file entirely.
Limits, Caps, and Exclusions
No scraper or dataset can guarantee that it collected 100% of all existing comments on a public post. Platform limits, network timeouts, and interface changes mean you should always evaluate your file as a collection of observed rows rather than an absolute total.
Setting a row cap limits how many items the collector pulls per post. Because nested replies count directly toward your per-post row cap, a heated debate with dozens of sub-replies can consume your limit quickly. Sorting options like newest, all, or most relevant change the order in which rows are collected, but they do not remove your numeric cap. Always check your run summary, which details the observed status, limits reached, and any excluded rows.
Separating Collecting Text from Understanding Meaning
Once you have your CSV file open, you must transform unstructured text into clear metrics. Scraping Facebook comments from public pages gathers raw text, but it does not tell you what that text actually means.
Sentiment Analysis Versus Topic Classification
Many marketers try to run automated sentiment analysis right away, hoping to split comments into positive, neutral, and negative buckets. In practice, basic automated tools often get confused by sarcasm, slang, industry terms, or short questions like "Is this still available?"
Instead of relying solely on sentiment analysis, start with topic classification. Topic asks what subject a person is addressing, while sentiment measures their apparent emotional tone. A customer asking when an item will ship is bringing up a delivery topic, regardless of whether they sound angry, excited, or neutral.
Why Public Comments Are Not a Customer Survey
Public commenters are individuals who chose to leave a public message on a social media post. They do not represent a verified, random survey of all your customers or account holders.
In 2019, Meta outlined how public comment ranking works to highlight active conversations (see Meta 2019 ranking overview). While platform algorithms change over time, public feeds naturally reward back-and-forth discussions. That means twenty comments under one post might be written by just three people arguing with each other. Treating public social comments as an unbiased representation of your entire customer base will mislead your strategy.
Building a Simple Topic Codebook
To classify your data accurately, you need a topic codebook. A codebook is a set of simple, clear rules that explains how to tag each comment so that everyone on your team categorizes rows consistently.
Core Categorization Rules
Assigning exactly one primary topic to each audience comment keeps your math clean and straightforward. When a user message contains multiple ideas, such as a positive remark paired with a clear delivery question ("Love the design! Will this ship to Canada by Friday?"), assign the row to the actionable operational topic—in this case, delivery. The compliment is pleasant context, but the delivery question represents the specific inquiry your business must address.
Your codebook must include clear inclusion and exclusion rules alongside an explicit bucket for unclear or off-topic entries. An emoji or short phrase is only placed in the unclear bucket when its meaning lacks sufficient context within the thread. If a user leaves a shipping box emoji directly under a post announcing a new fulfillment center, that symbol clearly maps to delivery. Conversely, isolated or ambiguous emojis without context belong in the unclear category rather than being forced into a topic.
Your own team members will frequently respond to public questions within comment threads. Having your export retain these brand replies through the Chronometrica Facebook Comments Scraper provides vital thread context when reading customer conversations. However, brand replies should be flagged and excluded from your audience totals so you do not count your own employees as customer feedback. Because author profile details can occasionally be missing in public data exports, review flagged brand lists manually to ensure proper filtering.
Review Process and Testing
If you use automated tools to suggest initial topic tags, treat those outputs strictly as draft proposals. To maintain quality control, establish a systematic human review process before finalizing your numbers.
Have a second reviewer independently tag a small, mixed sample of the exact same comments using your written rules. Compare the results between both reviewers to catch vague definitions, clarify edge cases, and refine your category descriptions. Once both reviewers achieve consistent alignment on the test sample, apply those finalized rules across the remainder of your dataset.
Fictional Example Codebook Structure
| Topic Label | Inclusion Criteria | Exclusion Criteria | Fictional Example Comment |
|---|---|---|---|
| Delivery / Availability | Questions or claims about shipping times, out-of-stock items, or geographic availability. | Complaints about product price or subscription fees. | "When will the blue version ship to Canada?" |
| Price | Remarks about cost, currency rates, discounts, or payment options. | General statements about product quality or shipping speed. | "Is there an annual discount for this plan?" |
| Product Use | Questions about how the product works, setup steps, or technical compatibility. | Reports that an item arrived physically damaged. | "Does this app sync directly with Google Calendar?" |
| Praise | Positive remarks complimenting the brand, product, or team without an attached operational question. | Sarcastic comments that mock a feature or compliments attached to a specific question. | "Love this update! Best feature you've built yet." |
| Unclear / Other | Comments that lack context, contain ambiguous single emojis without thread meaning, or cover unrelated topics. | Specific questions or clear contextual emojis that fit core categories above. | "Check this out @friend" or an isolated "maybe..." |
Using Public Counts to Contextualize Your Data
Before jumping into your comment analysis, it helps to know how much public activity occurred on the posts overall. You can collect available public metric counters, such as overall reaction counts, share counts, and comment totals for those same posts, using the Chronometrica Facebook Metrics Scraper.
Metric counters show overall engagement events, not distinct individuals. Five hundred reactions and fifty comments do not mean five hundred unique people reacted and fifty unique people commented, because a single user can post multiple comments or share a post multiple times. Comparing total comments to total reactions provides useful context on engagement style, but it does not reveal total reach, tell you what silent readers thought, or prove that a post's wording caused a specific reaction.
A Fictional Worked Example
Consider a fictional retail company, Brightwood Goods, that published 5 promotional posts on their public Facebook page over a two-week period.
The team exports their post data, applies their topic codebook rules, and separates internal team responses from customer text. Across the 5 posts, the collector observed 100 total rows. Twenty of those rows were brand replies written by Brightwood's support staff; these 20 rows are retained to preserve thread context but are excluded from audience feedback calculations. The remaining dataset consists of exactly 80 top-level audience comments.
Classification Summary
Applying the single-topic codebook rules across the 80 top-level audience comments yields the following distribution:
| Topic Category | Top-Level Audience Comments | Percentage of Total |
|---|---|---|
| Delivery / Availability | 30 | 37.5% |
| Price | 20 | 25.0% |
| Product Use | 15 | 18.75% |
| Praise | 10 | 12.5% |
| Unclear / Other | 5 | 6.25% |
| Total Top-Level Comments | 80 | 100.0% |
Analyzing Pattern Concentration
When the team reviews the 30 top-level delivery comments, they notice that 24 of those delivery questions occurred under Post #3, which was a short video showcasing a new jacket release. The remaining 6 delivery questions were spread thinly across the other four posts.
This concentrated pattern points directly to what the team should read and check next. The marketing team needs to inspect Post #3's video audio, caption text, and store link to see whether shipping or availability details were omitted or unclear.
However, this pattern does not reveal a definitive cause or represent a customer-wide statistic. The concentration on Post #3 does not prove that caption wording caused the questions, nor does it prove that 37.5% of all Brightwood customers experienced a delivery issue. It simply shows that Post #3 is the specific location where top-level delivery inquiries clustered, making it the primary starting point for an internal review.
Turning Findings Into Decisions and Next Checks
A concentrated pattern in your comment export is a signal to conduct targeted checks rather than a final verdict.
Practical Analysis Checklist
- Extract raw post rows, unique comment identifiers, and timestamps into a clean dataset.
- Filter out brand responses to review as thread context while keeping your audience counts clean.
- Apply a single primary topic label to each audience comment using a clear codebook.
- Have a second reviewer test a small mixed sample to ensure tagging rules are applied consistently.
- Check whether topic counts cluster under specific posts to identify where to investigate further.
- Inspect post copy, media assets, and linked landing pages whenever topic spikes suggest missing information.
Conditional Actions and Repeat Monitoring
If an internal review confirms that essential information was missing—such as Post #3 failing to mention regional pre-order restrictions—that finding supports updating the post caption, pinning a helpful FAQ comment, or clarifying the destination page. If the review shows the copy was already clear, the team might instead check whether external factors, like a shared link on a regional forum, drove the sudden influx of location questions.
When you perform repeat collections over time, manage your dataset identifiers carefully:
- Comment Identifier Alone: Use the unique comment identifier string to deduplicate rows across repeated exports so you do not double-count the same comment.
- Comment Identifier Plus Collection Time: Combine the comment identifier with the collection timestamp to preserve historical snapshot records, allowing you to track when new comments appeared over time.
Neither identifier method proves that commenters are verified customers. They are administrative tools for maintaining clean data history.
When monitoring post updates, measure fresh activity using a new, equal-length observation window (such as comparing the first 48 hours after launch against a fresh 48-hour post-update window). Never assume a drop in questions proves your change caused the fix. A later time window might show fewer comments due to differing posting times, shifting platform distribution, or changing audience interest. Treat comment exports as an ongoing tool for structured listening and practical refinement.
Sources & further reading
By Chronometrica · Updated
Back to top ↑

