Social listening

LinkedIn comment tracking for sales teams: the workflow

LinkedIn comment tracking that survives past month one: the identity model, what context to keep, how to avoid double contact, and what to measure per source.

Comment tracking is a records problem before it is a prospecting problem. One person can appear in four threads in a week, so the unit you store has to be the person, with each comment as an event against them. Get that wrong and you contact the same buyer four times.

Disclosure: Signl is ours. This article is about the workflow, not about which tool to buy; if you want the comparison, including the cheaper per-engager options, that is LinkedIn engagement tracking tools. Product behaviours named below were checked against our code on 24 October 2026.

Key facts

  • Key records on the normalised LinkedIn profile URL, not on name or email.
  • Store the comment text. Everything downstream, from qualification to the opening line, depends on it.
  • A second engagement from the same person is worth more than a first, and most setups cannot see it.
  • Suppression has to be global, not per campaign, or an objection leaks back in through another source.
  • Measure per source, over 30 days, on qualified people and replies. Never on engagement volume.

Why exports stop working in week three

The common starting point is an export: open a post, run an extension or a scraper, get a CSV of commenters. It is a reasonable first step and it fails in a specific, predictable way.

An export is keyed to a post. It answers "who commented here". The question you need answered by week three is "who are the people my sources keep surfacing, which of them have I already written to, and what did they actually say", and that question cannot be answered by a folder of CSVs. Nothing in the export knows that row 14 of post A and row 3 of post C are the same person, and nothing records that you emailed her on the 9th.

So the useful artefact is not an export. It is a small database with one row per person.

The identity model

Key on the normalised LinkedIn profile URL. Strip the query string, strip the trailing slash, lowercase the slug. It is the only identifier present on every single engagement, it survives a job change, and unlike a name it does not collide.

Do not key on email. It arrives later, it is sometimes missing entirely, it changes when someone moves company, and on some engagements you will never have one. Store it, and treat it as an attribute of the person rather than the thing that identifies them.

Three cases the model has to handle, and they come up immediately.

The same person commented and reacted on one post. Keep the comment. It carries words, which the reaction does not. Signl collapses the pair to one person and keeps the comment.

The same person engaged with two of your sources. One person, two events, and the second event is the interesting one. See the next section.

A person with no LinkedIn URL at all. On X, you have a handle and no LinkedIn profile. That is a legitimately separate identity space, and pretending otherwise creates false merges. Signl keeps X people as their own records and does not run them through the LinkedIn work-email path, which means they reach you through the agent, a CSV or a webhook rather than an email sequence.

What to store per engagement

FieldWhy it mattersWhat breaks without it
Comment text, verbatimIt is the whole asset: the problem, the stage, the vocabularyEvery opening line becomes a template
Which source found themDecides what your message may referenceCompetitor-sourced people get messaged with the competitor's name in the line
Source relationshipOwn, competitor, creator or topic. This is the permission modelThe same mistake, systematically
Engagement typeComment, reaction, repost, replyReactions get treated as strong signals
TimestampFreshness, and ordering within an accountStale signals look live
Qualification verdict and its reason, in wordsLets you audit a wrong call and fix the causeYou cannot tell a bad filter from a bad source
Contacted and replied stateStops double contact and measures the sourceBoth of those, immediately

The second and third rows are the ones people leave out, and they are the ones that cause the embarrassing failure. In Signl the relationship is set when the source is added and cannot be edited afterwards, because it governs what a drafted opener is allowed to say. Changing it means removing the source and adding it again.

The second signal

A person who engages twice in a month has told you something a single comment cannot: that this is a theme for them, not a passing scroll.

Most setups cannot see it. A CSV-per-post workflow has no way to notice, and plenty of tools treat each collection as a fresh list. If your records are keyed on the person, it is a query.

Two things to do with it. First, raise the priority rather than the volume: one better-informed message, not two. Second, look sideways at the company. Several people from one account engaging with one topic inside a month reads as an internal conversation, and the right recipient may be the person who said nothing. Signl can group the inbox by company, with each company's engaged people, their roles, and the roles your ICP sells to that nobody there holds yet.

Suppression, objections and the rules that must be global

Three states have to live on the person, not on a campaign, or they leak.

Contacted. Per campaign is fine for sequencing, but you also need a person-level view, or two autopilot rules will both find the same good match. Signl never sends the same person to the same campaign twice, and a sensible setup keeps the number of rules small for exactly this reason: an account can have at most 10 rules and 500 autopilot sends a day.

Dismissed. When you set someone aside, record why. Signl takes an optional reason on dismissal and feeds it back into ranking, which only works because the reason is attached to the person.

Objected. This one is absolute. The UK ICO describes an objection to direct marketing as an absolute right with no exemptions (read 24 October 2026). A per-campaign suppression list does not satisfy that, because the person reappears the next time a different source surfaces them. Signl suppresses and erases an objector globally and permanently, across every customer, and never collects anything of theirs again.

Retention is a design decision

Signl deletes collected engagement 90 days after first collection. That is deliberate, and we think any tracking setup should pick a horizon on purpose.

The sales argument for a horizon is that a comment from five months ago is not a reason to contact anyone, so keeping it adds noise to every query you run. The data protection argument is that you are holding personal data you have no current use for. Both point the same way.

What is worth keeping past the horizon is the aggregate: which sources produced qualified people, and which produced replies. That is a count, not a person.

What to measure

Three numbers per source, over 30 days. Nothing else.

MeasureWhat it tells youHow to read it
People collectedSource volumeHigh with low qualified means the source is wrong
People who passed the ICP checkSource precisionLow with recognisable names in the rejected pile means the ICP is wrong
RepliesWhether any of it workedThe only one that matters

Signl reports what each source led to, including replies, meetings and deals where your connected tool sends outcomes back; HubSpot deals and meetings are polled back daily, and the email sequencers report replies by webhook.

Do not measure engagement volume. It rewards adding big noisy sources, which is the opposite of what makes this channel work.

And read the rejections. Every person Signl filters out keeps a reason in words in the Filtered out tab, because an invisible rejection teaches you nothing and a visible wrong one tells you your ICP needs ten minutes.

Limits

  • Share-style post URLs cannot be read for comments. Links containing -share- do not expose a thread; watch the author's profile instead.
  • Large threads are sampled. Signl reads up to 500 people per post per check.
  • Edited and deleted comments. A comment you collected can be changed or removed afterwards, and your copy will not know. Quote carefully.
  • Automated collection is contractually contested. LinkedIn's User Agreement section 8.2 prohibits scraping and bot access (read 24 October 2026), which is separate from the data protection question of whether you may contact someone; that one is in GDPR and B2B prospecting. This is not legal advice.

Next: where the records should go once you have them, or LinkedIn buying signals for deciding which events are worth storing in the first place. Once the records exist, measuring social listening ROI turns them into the per-source scorecard that decides what to keep watching.

Frequently asked questions

Why not just export commenters to a spreadsheet?

It works for one post and breaks on the fourth. Each export is a snapshot keyed to a post, so the same person appears in several files with no link between them, and nothing records that you already contacted them. The fix is to key records on the person and treat each comment as an event against that person.

What should the record be keyed on?

The LinkedIn profile URL, normalised. It is the only identifier present on every engagement, it survives job changes, and it does not collide the way names do. Email is a poor key here because it arrives later, is sometimes absent, and changes when someone moves company. Keep both, key on the profile.

How long should collected engagement be kept?

Shorter than instinct suggests. Signl deletes collected engagement 90 days after first collection, which is a deliberate horizon rather than a limitation: a comment from five months ago is not a reason to write to anyone, and holding it is a data protection liability with no sales value attached.

Your next buyer could already be in the comments.

Find the people worth talking to, see why each one matters, and send them to the tool you already use.