Almost everyone "analyzes" YouTube comments the same way: scroll for two minutes, read whatever the algorithm surfaced, form an impression, act on it. That is not analysis — it is sampling from a ranked list you did not choose, then trusting a memory of it. It is also how a channel ends up chasing one loud complaint from a handful of people while missing the thing four hundred people asked for.
This guide lays out a framework that fits in an hour and survives being shown to someone else: define the question, export, clean, count themes, score sentiment inside those themes, and write a decision. It works for a creator planning the next video, a brand auditing a sponsored placement, and an agency writing a campaign report.
Why the default view misleads you
Four structural biases sit between you and the comment section:
- Ranking bias. "Top comments" ranks by an engagement signal, not by representativeness. Jokes and hot takes climb; a hundred people quietly asking the same practical question do not.
- Recency bias. Switch to "Newest first" and you get the opposite problem — the most recent arrivals, disproportionately from whoever the algorithm is currently pushing the video to.
- Volume collapse. Nobody scrolls past a few hundred comments. On a video with twelve thousand, you have seen two per cent and cannot say which two per cent.
- No counting. The single most important question — "how many people said this?" — is unanswerable in the UI. You are left with an impression of frequency, and impressions of frequency are dominated by whatever you read most recently.
Every one of those disappears the moment the comments are in a file you can sort and count. That is the entire technical requirement for this framework; everything else is method.
Step 1: Write down the question before you look
The most common failure in comment analysis is starting with the data. You end up with a word cloud, a sentiment percentage and no decision. Pick one:
- What should the next video be about? → you care about questions and requests
- Why did this video underperform? → you care about complaints, confusion, and where in the runtime people reacted
- Is this creator safe to sponsor? → you care about the audience's tone, spam density and how they treat previous sponsorships
- Does anyone actually want this product? → you care about buying-intent language and objections
Write it at the top of the sheet. It determines which columns matter and which comments are noise, and it is what stops the analysis sprawling into a report nobody reads.
Step 2: Export the comment section
Paste the video URL into the YouTube comment exporter and download with replies enabled. The columns that carry the analysis:
text— what was saidlikes— how many people silently agreed, which is the closest thing to a vote a comment section hasreplies— how much argument it caused, a very different signal from agreementcreated_at— when, which lets you separate launch-day reaction from the long taillanguage— which audience segment it came fromusername— for repeat-commenter and bot detectionid/reply_to_id— for reconstructing threads
Import it into Sheets or Excel — the mechanics are in exporting YouTube comments to Google Sheets. If you are comparing several videos, or the same creator over time, export them all now and stack them in one sheet with a video column. Comparison is where most of the insight lives, and it costs nothing extra at export time.
Step 3: Clean before you count
Skipping this step is what produces confidently wrong numbers. Three buckets to remove or quarantine:
Spam and self-promotion
Filter for rows containing http, t.me, @ handles pointing elsewhere, and the perennial crypto and "DM this trader" patterns. YouTube's own spam and deceptive practices policy describes the categories; your filter only has to be good enough to keep them out of a count.
Bot and engagement-pod comments
The tells are structural rather than semantic: identical or near-identical text across multiple accounts, a burst of generic praise within minutes of upload, and comments that could apply to any video ever made. Sort by created_at, look at the first ten minutes after publish, and the pattern is usually obvious at a glance. Our guide to spotting fake comments covers the same signals in more depth; they transfer to YouTube almost unchanged.
Low-information rows
Emoji-only comments, single words, and timestamp comments ("2:14 🔥") carry sentiment but no theme. Do not delete them — move them to their own bucket. A video where 30% of comments are timestamps is telling you something real about how it is being watched.
Record how many rows each bucket removed. "We analysed 4,100 comments after removing 380 spam rows" is a sentence that makes a report credible; a bare "we analysed 4,480 comments" does not.
Step 4: Count themes, weighted by likes
This is the heart of the analysis, and it is a counting exercise, not a sentiment exercise.
Start with an open read. Sort by likes descending and read the top 100 rows properly. Write down every distinct thing people are talking about as you go. You will almost always end with between five and nine recurring themes — comment sections converge fast.
Then count them. For each theme, pick two or three characteristic keywords and count matches:
=COUNTIF(D:D, "*price*") + COUNTIF(D:D, "*expensive*") + COUNTIF(D:D, "*cost*")
Crude, and good enough. Keyword counting will miss paraphrases and catch a few false positives, and neither materially changes the ranking of themes — which is all you need. If you want precision, hand the cleaned CSV to an AI model and ask it to tag each row with one of your themes; the built-in AI comment analysis does this in one pass and returns themes with counts and example quotes attached.
Weight by likes. This is the step that separates useful analysis from a raw tally. Sum the likes on the comments in each theme alongside the count. A theme with 40 comments and 9,000 likes is a much stronger signal than one with 90 comments and 200 likes — the first has thousands of silent agreers behind it, the second is 90 people talking past each other. Report both numbers.
Note the argument. Sum replies per theme too. High replies with mixed sentiment means the audience is split, and a split audience is a genuinely different situation from a hostile or a happy one. It is also, usually, the most interesting thing in the dataset.
Step 5: Score sentiment inside each theme, never across the video
An overall sentiment percentage for a video is nearly useless. "78% positive" survives happily alongside a shipping-complaint theme that is 95% negative and represents your entire churn problem. Blending them hides exactly the thing you needed to find.
Score sentiment within each theme instead. Three ways, in increasing order of effort:
- Manual, on the top 30 per theme. Fast, accurate, and completely sufficient for one video. Ten minutes of tagging beats an hour of tooling.
- A lexicon model. Tools like VADER, built specifically for social media text, handle emoji, capitalisation and intensifiers better than general-purpose sentiment models. Still weak on sarcasm — nothing rule-based is not.
- An LLM over the exported file. The most accurate option on informal text, because it can use the surrounding thread as context. Ask for a label plus a one-line justification per row, and spot-check the justifications rather than the labels — that is where mistakes are visible.
Whatever you use, sanity-check it. Pull 30 random scored rows and read them against their labels. If more than a handful are wrong, the number is not reportable, and reporting it anyway is how analysis loses credibility with the people who have to act on it.
What automated sentiment reliably gets wrong on YouTube
- Sarcasm and irony — "great, another sponsored one" reads positive to most classifiers.
- Negation across clauses — "I wouldn't say it's bad" lands wherever the model feels like.
- Emoji-only comments — 💀 means something very specific and no lexicon captures it.
- Community in-jokes — a running gag on a channel scores as confusion or hostility.
- Code-switched comments — mixed-language rows get classified on whichever half the model recognised.
Step 6: Look at time and audience
Two cuts that consistently earn their keep:
The decay curve
Pivot comment count by day from created_at. Most videos collapse within 72 hours. The ones that do not — steady comments a month later — are being served by search or suggested rather than by the subscriber feed, and they are the format worth making more of. This one chart often changes a content calendar more than any sentiment number.
The language split
Pivot on language. Channels routinely discover that a third of their comment section is in a language nobody on the team reads, which means a third of the feedback has never been read at all. Translate it and analyse it as its own segment — the same themes rarely rank in the same order across markets. The mechanics are in bulk comment translation.
If you are evaluating a creator rather than your own channel, add the repeat-commenter cut: pivot on username across several of their videos. A healthy channel has a visible core of people who show up repeatedly. A channel whose comments come almost entirely from accounts that appear once is a channel with a reach problem, an authenticity problem, or both — a signal covered further in vetting influencers with comment data.
Step 7: Write the decision, not the report
Finish with three lines, each carrying its own evidence:
Theme 1 — "where do I buy it" (312 comments, 8,400 likes, positive). Purchase intent is unserved: there is no link in the description. Add one, pin a comment with it.
Theme 2 — "audio is too quiet" (188 comments, 2,100 likes, negative). Concentrated in the first 24 hours, so it is this video, not the channel. Fix in the next edit; no back-catalogue action needed.
Theme 3 — "do the X version next" (140 comments, 5,600 likes, positive). Highest like-weight per comment in the dataset. This is the next video.
Notice what is absent: an overall sentiment score, a word cloud, and a chart of comment volume with no interpretation. Those are artefacts of tooling, not findings. Everything above is a thing someone can do on Monday, with a number attached to justify doing it.
Doing this repeatedly
Comment analysis compounds. The second video you analyse is worth more than the first, because you can compare — and by the tenth you have a baseline that makes anomalies obvious without any modelling at all.
A workable cadence for a channel: export every video a week after publish, append to one master sheet with a video column, and re-run the theme counts monthly. Themes that persist across videos are structural — they are about your product, your format or your audience, not about one upload. Themes that appear once are noise. You cannot tell the two apart from a single video, which is the real argument for keeping the exports rather than reading and discarding.
For agencies, the same discipline applied across a client's competitors is a standing intelligence feed. The competitor comment analysis playbook transfers directly, and because the export columns are identical across TikTok, Instagram, Facebook and YouTube, one sheet can hold all of it without reshaping a thing.
One last habit: keep the raw exports. Comments get deleted, channels get taken down, and creators clean up their sections before a sponsorship. The file you pulled today is the only version of that comment section that will still exist in six months, and a copy in your own drive costs nothing.
Related reading
- Export YouTube comments to Google Sheets — the mechanics behind step 2
- The same framework applied to TikTok
- Analyzing Instagram comments
- Building a social listening report from real comments
- YouTube Comment Exporter — 3 free exports a day, no signup
