You're offline. Some features may be unavailable.
Journal

Go-to-market

Attribution for Content That Actually Closes

The honest answer to "where did this deal come from" is usually "eleven things." Here is how to record all eleven without building a fantasy dashboard.

Alex CinovojTechTide AI3 min read

Key takeaways

  • Last-touch attribution systematically undervalues content and overvalues the demo request form.
  • Record touches as evidence, not as fractional credit. The credit maths is where trust dies.
  • Self-reported source on a form beats every tracking pixel you will ever install.
  • The useful unit is influenced pipeline, reported with its uncertainty stated plainly.

Every content programme eventually meets the same question, usually from someone holding a budget: what did this produce? And every honest answer starts by admitting the measurement is partial, which is exactly the wrong way to open that conversation.

The fix is not a better model. It is switching from credit allocation to evidence collection.

Why the standard models fail here

Last-touch gives all credit to whatever the buyer clicked on the day they were already convinced, typically a branded search or a pricing page. First-touch gives it to a random blog post from eight months earlier. Multi-touch splits credit with a formula nobody in the room believes, which is worse than either, because it wraps a guess in decimal places.

Social content is the hardest case: most of its influence happens where there is no link to track. Someone reads your post in the feed, does not click, remembers you in six weeks, and types your name into a browser. Every tracking system on the market records that as direct traffic.

Record touches as evidence

The model we run is deliberately dumb: every observable interaction becomes a timestamped row on the contact record. No weighting, no decay curve, no fractional credit.

  • Commented on or reacted to a post (from the platform API).
  • Profile view following a post or comment, where visible.
  • Site visit with a campaign parameter, if one exists.
  • Self-reported source text from a form, stored raw.
  • Anything a salesperson heard on a call: "I have been reading your stuff for a while."

When a deal closes, you open the contact and read the sequence. Eleven touches over four months, six of them content. That is not a model output; it is a record. And it is far more persuasive in a budget meeting than a number with a confidence interval nobody can explain.

The one number to report

Influenced pipeline: total value of opportunities where at least one content touch preceded the first sales conversation. Report it with the definition attached, every time, and never let it get abbreviated to "pipeline from content."

influenced_pipeline =
 SUM(opportunity.value)
 WHERE EXISTS content_touch
 AND content_touch.timestamp < first_sales_activity.timestamp

Always report alongside:
 - total pipeline (for context)
 - median touches before first conversation
 - self-reported source breakdown

Stating the definition prevents the number from being quietly reinterpreted as causal by the third slide of a board deck, which is the fate of most marketing metrics.

Where agents help

Attribution fails in practice for a boring reason: nobody logs the touches. Pulling engagement data from platform APIs and writing it to the right contact record is exactly the kind of unglamorous, high-volume matching work that should be automated, and it needs to be idempotent, because double-logging touches inflates every downstream number.

The identity matching is genuinely hard and worth doing carefully: a person’s LinkedIn profile, work email, and CRM record often share nothing. Match conservatively, flag ambiguity, and never merge on name alone.

The dashboard is the easy part. The identity resolution underneath it is the actual project.

What to tell the person holding the budget

That you can show every recorded interaction preceding each closed deal, that a majority of influence is structurally unmeasurable, and that the self-reported field is the closest thing to ground truth anyone has. That answer holds up under scrutiny. A precise number does not.

The attribution schema, including the fields most teams forget, is documented at Alex Cinovoj (opens in a new tab). Wiring it into a real revenue stack is the engagement we run most often at TechTide AI (opens in a new tab).

Content attribution is not a solved measurement problem. It is a well-kept diary.
Alex Cinovoj, TechTide AI

Questions people actually ask

How do you measure LinkedIn content ROI?
Log every observable engagement to the contact record, add a self-reported source field to your forms, and report influenced pipeline with its definition stated. Precise fractional attribution for social content is not achievable and claiming it damages credibility.
Is multi-touch attribution worth setting up?
Rarely for content-led B2B. The credit weights are arbitrary and the dark-social gap is large enough to swamp the model. Evidence timelines are more useful and more defensible.
What about UTM parameters?
Useful where links exist, but most social influence involves no click. Treat UTMs as one input among several rather than the system of record.
How do I match LinkedIn engagement to CRM contacts?
Match conservatively on strong signals like a verified email or a linked profile URL, flag ambiguous cases for review, and never auto-merge on name similarity. False merges corrupt every downstream metric.

Sources & further reading

Written by

Alex Cinovoj, Founder, TechTide AI

Alex Cinovoj builds ClawLI at TechTide AI, a fleet of specialist agents that research, draft, schedule, and grade LinkedIn content with a human approving every send. He writes about what breaks when you put agents in front of a real audience.