• Blog
  • Pricing
Login
Free TrialGet a Demo
Get a Demo
ZenABM

ABM made easy. Plug-and-play account scoring and analytics.

Follow us

LinkedInFacebookYouTubeX
Start for FreeLoginBook a Demo

Product

  • All Features
  • AI Agent - Zena
  • Dashboards
  • AI Reporting
  • Expert Skills
  • MCP Server
  • Companies Engagements
  • Multi-Channel Revenue Attribution
  • ABM Campaign Analytics Dashboards
  • Company Buyer's Intent
  • LinkedIn Ad Campaign Insights
  • Job Titles Insights
  • CRM Sync
  • Webhooks
  • API

Use Cases

  • ABM Campaign Management and Performance Tracking
  • Account Scoring
  • LinkedIn Campaign Management and Optimization
  • For LinkedIn Ads and ABM Agencies
  • Agency MCP Server

Free Tools

  • ABM Budget Calculator
  • LinkedIn Ads Count Calculator
  • LinkedIn TLA Generator
  • Experts Chat
  • LinkedIn Single Image Ad Creator

Case Studies

  • Productive's ABM Success Story
  • Valueships's LinkedIn TLA Case Study
  • Flowfuse's ABM Success Story

LinkedIn Optimization

  • Build Campaigns with AI
  • Budget Savers
  • Bidding Agent
  • Exclusions
  • Impression Capping
  • Workflows

Resources

  • Documentation
  • Release Notes
  • Reports & Templates
  • Blog
  • Case Studies
  • ABM Benchmarks Report
  • LinkedIn Ads Agencies Directory
  • ABM Clay Templates
  • LinkedIn ABM Skills for Claude
  • LinkedIn ABM Strategy
  • Running ABM on LinkedIn: The Ultimate Guide
  • Events
  • TLA Bootcamp
  • AI for ABM & LinkedIn Ads Week

Competitors comparison

  • ZenABM vs Fibbler
  • ZenABM vs Factors.ai
  • DemandSense Alternatives
  • Recotap Alternative

Company

  • Pricing
  • Contact
  • Brand Assets
  • Become a partner

Legal

  • Terms of Use
  • Privacy Policy
  • Data Policy

©2026 ZenABM - All Rights Reserved.

  1. Home
  2. Blog
  3. Intent & Stages
Intent & Stages

LinkedIn Ads Account Engagement Score: How to Build One That Predicts Pipeline

Emilia Korczynska
Emilia Korczynska
LinkedInPublished Aug 6, 2026·Updated Sep 1, 2026

Share this post

LinkedInXFacebook
LinkedIn Ads Account Engagement Score: How to Build One That Predicts Pipeline

Summarize with AI:

View as Markdown

Table of Contents

  • LinkedIn ads account engagement score: quick summary
  • The two flaws that break most engagement scores
  • Step 1: choose the signals, and weight them by effort
  • Step 2: normalize, so you score interest and not headcount
  • Step 3: add time decay so the score can fall
  • Step 4: gate on fit, then set the threshold that makes it act
  • Step 5: validate the score against closed-won
  • Building it without writing any code
  • Running and sanity-checking the score with AI
  • Five mistakes that break an engagement score
  • The takeaway
  • Frequently asked questions

A LinkedIn ads account engagement score sounds simple.

Add up what each company did with your ads, rank the list, and call the top of it.

We built ours that way first, and it ranked large companies at the top for a while.

Not companies that liked us.

Just the big ones.

The reason is mechanical.

A 6,000-person company has more people in your target job titles, so it generates more impressions and more clicks than a perfect-fit 200-person company that is genuinely interested.

A raw count scores headcount.

The second flaw is that most scores only go up.

They are cumulative, so an account that was curious in March still looks hot in September.

This guide fixes both.

You get the five steps to build the score, the exact formulas, the decay curve, the thresholds that trigger action, and the backtest that tells you whether your weights are right.

LinkedIn ads account engagement score: quick summary

A quick overview:

  • A raw engagement count is a company size proxy. Bigger companies generate more of everything, so your score ranks headcount rather than interest.
  • Normalize it. Engagements divided by impressions turn a count into a rate, and a rate is comparable across companies of any size.
  • Cumulative scores never fall, so they show you who was interested rather than who is. Add time decay or keep two scores.
  • A workable decay curve: full value for the last 30 days, half for 31 to 90 days, near zero beyond that. Tie it to your sales cycle.
  • Weight signals by effort. An impression is nearly free for the buyer, a document download is not.
  • Score people breadth too. Four people from three teams is a buying committee, one person clicking four times is a curious individual.
  • Do not weight CTR heavily. In the ZenABM 2026 benchmark of 211 companies, CTR against pipeline came back at a Spearman rho of minus 0.170.
  • Gate on ICP fit before scoring, or agencies and competitors will crowd your top ten.
  • A score is useless until it has a threshold. Ours moved an account to Interested at 5 or more clicks or 10 or more engagements.
  • Validate by backtesting: run the score on last year’s accounts and check that your closed-won deals rank high. If they land in the bottom tier, the weights are wrong.
  • Recalibrate quarterly because your creative, audience, and sales cycle all move.
  • ZenABM keeps a current and a total engagement score per company out of the box, so you get the normalized and the cumulative view without building either.

The two flaws that break most engagement scores

Before the build, understand what you are correcting for.

Almost every homemade score has one or both of these.

Flaw 1: it measures company size

LinkedIn delivers ads to people, not companies.

So a company with 40 people matching your job titles gets far more impressions than one with 4, at the same bid, without wanting your product any more.

Add those impressions and clicks into a score, and the biggest names float to the top every time.

I have watched a sales team lose faith in a scoring model in about three weeks because of this.

They called the top accounts, found nobody had heard of us, and stopped opening the list.

Flaw 2: it never goes down

If your score is a running total, it cannot fall.

An account that engaged heavily six months ago outranks one that engaged four times last week.

That is backwards.

Recent behavior is the whole point of an engagement score, because it is the part that tells you to act now.

ZenABM gives you exactly that.

ZenABM pulls company-level LinkedIn ad engagement data for each ad campaign and campaign group from the LinkedIn ads API, and then calculates both a total engagement score and a current engagement score for each account.

ZenABM table of company-level LinkedIn ad engagement per campaign, pulled from the official LinkedIn API
ZenABM shows company-level ad LinkedIn engagement data per campaign pulled straight from the official LinkedIn API
ZenABM's current vs total engagement score
ZenABM’s current and total engagement scores help surface hot accounts.

Step 1: choose the signals, and weight them by effort

Only score things that are yours and that you can trace to a named company.

Guessing accounts from a third-party feed puts noise straight into the model.

Weight each signal by how much effort it took the buyer.

An impression costs them nothing.

Downloading a document costs them a little.

Clicking through to your pricing page costs them more.

Here is the starting weight set I would use.

Treat these as a first draft, because step 5 will correct them.

Signal

Weight

Why

Impression

1

Almost no effort, but it still matters. Impressions correlate with pipeline in the benchmark data, even when clicks do not.

Social engagement (like, comment)

2

Cheap to give, and often from people outside your ICP.

Landing page click

8

The click you actually paid for. This is the workhorse signal.

Document download

12

Real effort and real interest in the topic.

Video watched to 75 percent or more

10

Attention over time, which is rarer than a click.

Lead form opened but not submitted

10

Interest plus hesitation. Badly underused as a signal.

Lead form submitted

20

They gave you their details on purpose.

Pricing or demo page visit

25

The strongest ad-adjacent signal you can collect.

Two rules about this table.

Do not weight CTR heavily as its own factor.

In the ZenABM ABM benchmarks report of 211 companies, 161,256 ads and $5.5M in spend, CTR against pipeline generation returned a Spearman rho of minus 0.170.

Higher CTR did not mean more pipeline, so a score that chases clicks can point away from revenue.

And weigh the person, not just the action.

An engagement from a buyer in your target role is worth more than one from an intern.

ZenABM’s job title insights show which roles are actually engaging, so you can apply a multiplier for in-persona engagement.

ZenABM job title analytics: campaign groups for Growth Specialist with impressions, clicks and CTR
Job-title analytics in ZenABM

Step 2: normalize, so you score interest and not headcount

This is the step that fixes flaw one, and it is one line of maths.

Instead of a raw total, divide by the exposure that the account received:

Engagement rate = weighted engagements divided by impressions, in your chosen window

Now, a 200-person company that engaged 6 times out of 400 impressions scores higher than a 6,000-person company that engaged 20 times out of 9,000 impressions.

Which is correct, because the small company is far more interested.

This is exactly what ZenABM’s current engagement score is calculated like this: engagements over impressions in the window you select.

So if you are using ZenABM, the normalization is already done.

ZenABM's current vs total engagement score
The current score is a rate, so it is comparable across company sizes. The total score is the all-time view. Keeping both is what solves the size problem and the decay problem at once.

Add a breadth multiplier

A rate alone still cannot tell one enthusiastic person from a committee.

The average B2B buying committee is 11 people, as per Gartner, so an account with four distinct people engaged is in a genuinely different state from an account with one person engaging four times.

Multiply your score by the number of distinct people engaged, capped at something sensible like 5, so one very active account cannot run away with the list.

Step 3: add time decay so the score can fall

This fixes flaw two.

Apply a multiplier based on how old each engagement is, then sum.

A curve that works for most B2B teams:

Age of the engagement

Multiplier

What it means

0 to 30 days

1.0

Full value. This is what sales should act on.

31 to 60 days

0.75

Still warm, still worth nurturing.

61 to 90 days

0.5

Cooling. Change the message before you call.

Over 90 days

0.1

Context, not a reason to act.

Tune the curve to your sales cycle rather than copying it blindly.

A reasonable rule: engagement should lose about half its value by the halfway point of your average cycle and be close to zero by the end of it.

A 60-day cycle needs a much steeper curve than a 9-month enterprise cycle.

The shortcut: keep two scores instead of one

If decay maths feels like more than you want to maintain, there is a simpler version that gets you most of the value.

Keep a current score (a rate over the last 30 or 90 days) and a total score (all time), then read the pair.

  • High current, low total: a new account heating up fast. Route this one today.
  • High current, high total: steadily engaged. Your best nurture accounts.
  • Low current, high total: cooling off. A re-engagement play, not a sales call.
  • Low current, low total: not engaged. Leave it in the cold layer.

That four-box read is what we actually use day to day, and it needs no decay curve at all. It also feeds tiering cleanly, which we cover in the tiered account segmentation guide.

Deanonymize LinkedIn ad engagements, get intent, accounts scoring (starting @$59/month!)

37 Days Free Trial

Try ZenABM Now

Step 4: gate on fit, then set the threshold that makes it act

Two things turn a number into a system.

The fit gate comes first and stays separate

An account only enters scoring if it passes your ICP: industry, size, region, and any hard disqualifiers.

Keep fit as a gate rather than folding it into the score.

If you blend them, a perfect-fit account with no engagement can outrank a genuinely warm one, and nobody can explain why an account ranked where it did.

Without the gate, your top ten fills with agencies, competitors, and job seekers, all of whom engage happily and buy nothing.

The threshold turns the score into a decision

A score with no threshold is a leaderboard nobody acts on.

Write the rule down as a number.

These are the thresholds Emilia Korczynska ran in her ABM program at Userpilot, which produced $5.29M in pipeline from $490K of spend across 26,315 accounts (note: these success numbers are variable as their program is still running):

Stage

Threshold to enter

What happens

Identified

On the target account list

Cold reach only

Aware

50 or more ad impressions

Keep showing up, ask for nothing

Interested

5 or more clicks, or 10 or more engagements

Switch to proof, fire a BDR task

Considering

Booked a demo or started a trial

Sales led, ads support the deal

Selecting

Open deal in the CRM

Multi-thread across the committee

Six-stage ABM funnel with 5-100 account scores per stage, used at Userpilot for LinkedIn ABM campaigns
ABM stages framework used at Userpilot as part of their LinkedIn ABM campaign strategy

In ZenABM, you set these conditions yourself rather than accepting a fixed funnel, and you can build them from ad engagement, CRM properties, form fills, webinar signups, or deal stages in any combination.

ABM stage tracking in ZenABM
ABM stage tracking in ZenABM

Then ZenABM also pushes the score and stage into your CRM as company properties, so the account a rep opens already carries them.

Interested stage as company property in the CRM
The stage written onto the company record through CRM sync, which is what lets a workflow fire off the score.
ZenABM assigns accounts in the "interested" stage to BDRs in your CRM
Accounts crossing the threshold assigned straight to BDRs. The score does the routing so nobody has to watch a dashboard.

Step 5: validate the score against closed-won

This is the step almost nobody runs, and it is the only one that tells you whether any of the above was right.

Your weights are guesses until you check them against outcomes.

Run the backtest

Take the accounts from last year.

Apply your draft score using only the data that existed before each deal opened. Then sort.

If the accounts you actually won cluster near the top, your weights are close.

If your closed-won deals land in the bottom tier, your weights are wrong, and you have just saved yourself a year of trusting a broken model.

Here is the prompt I use, run against live data through the ZenABM MCP server:

Take every company with an open or closed-won deal in the last 12 months. For each, calculate its engagement score using only ad engagement that happened before the deal was created: weighted engagements divided by impressions, multiplied by the number of distinct people who engaged. Then do the same for a comparison set of companies that engaged but never opened a deal. Tell me whether the deal accounts scored meaningfully higher, show the median score for each group, and say clearly if the sample is too small to conclude anything.

This is what the result would look like:

Running the backtest in Claude Code connected to the ZenABM MCP server where it compared pre-deal ad engagement ratios for 59 deal accounts versus 488 non-deal accounts and concluded that the sample was too small
Running the backtest in Claude Code connected to the ZenABM MCP server where it compared pre-deal ad engagement ratios for 59 deal accounts versus 488 non-deal accounts and concluded that the sample was too small

Notably, that last clause in the prompt matters!

Under about 10 accounts in a group there is nothing to conclude, and the /revenue-attribution skill applies the same rule rather than reporting a confident number off four companies.

Claude Code running a ZenABM revenue attribution skill, comparing influenced and non-influenced deal value
Revenue attribution skill result using ZenABM MCP server in Claude Code
ZenABM revenue attribution dashboard tracking ABM ad spend, pipeline and closed revenue by month
Revenue attribution per campaign, deduplicated in ZenABM. This is where you confirm the score points at the pipeline rather than at the activity.

Adjust one weight at a time

If the backtest is weak, change one weight and rerun.

Changing five at once teaches you nothing about which one mattered.

Recalibrate quarterly.

Your creative, audience, and sales cycle all move, and a score set in January is usually stale by summer.

The ABM KPIs guide covers the wider reporting rhythm that this sits inside.

Check the score against the journey

Numbers convince analysts.

Timelines convince sales.

The engagement journey in ZenBAM maps every ad touchpoint against CRM deal events, so you can see whether high-scoring accounts really did engage before the deal opened.

ZenABM ad sets timeline mapping PayPal's engagement journey across LinkedIn campaigns and dates
The engagement journey behind a scored account in ZenABM. This is what makes a score credible to a sceptical rep.

Building it without writing any code

You can assemble all of this by hand from the LinkedIn Ads API, and I have.

It is a real engineering project, mostly spent on the company-level join.

If you would rather not, ZenABM gives you the pieces already built.

  • The scores. Current and total engagement scores per company, computed from company-level engagement pulled straight from the LinkedIn Ads API. The account scoring use case walks through what the setup looks like end-to-end.
    ZenABM's current vs total engagement score
    ZenABM’s current and total engagement scores help surface hot accounts.

    ZenABM’s current and total engagement scores help surface hot accounts.
  • The stages. Your own names and thresholds, with stage history so you can see movement over time, which is the score expressed as an ABM funnel.
ABM stage tracking and customization in ZenABM
ABM stage tracking and customization in ZenABM
  • The qualitative layer. Tag campaigns with intent themes and engaging accounts inherit the label, so the score comes with a reason attached rather than just a number.
    ZenABM revenue metrics dashboard showing LinkedIn-influenced pipeline by month and ABM campaign effectiveness

    Company buyer’s qualitative intent in ZenABM, which essentially tracks which particular messaging has resonated the most with the account.
  • The other channels. Ads are not the only place accounts engage, so ZenABM also folds in Google Ads, Reddit Ads, organic traffic, and AI chatbot referrals on the same account record.
    Multi-channel closed-attribution in ZenABM
    Multi-channel closed-attribution in ZenABM

    Multi-channel closed-attribution in ZenABM

Running and sanity-checking the score with AI

Once the MCP server is connected (endpoint https://app.zenabm.com/api/mcp, Bearer token or OAuth, then /init to write a CLAUDE.md), Claude Code or ChatGPT can compute and interrogate the score directly.

Rank my accounts by engagement score for the last 60 days. Calculate it as weighted engagements divided by impressions, where a landing page click counts 8, a document download 12, a form submit 20, a social engagement 2 and an impression 1. Multiply by the number of distinct people who engaged, capped at 5. Only include accounts that match my ICP of B2B SaaS, 200 to 2000 employees, in North America or Western Europe. Show the inputs next to each score so I can check the maths.

What the result would look like:

Ranked table of 25 accounts by engagement score over 60 days, led by Palats at 0.8046 with impressions and clicks

Ask it to challenge the model too, which is the step people skip:

Look at my top 20 accounts by engagement score. For each, show total impressions and the number of distinct people who engaged. Tell me whether any of these accounts rank highly mainly because they are large rather than because they are genuinely engaged, and suggest a normalization that would correct it.

Three of the 15 skills the MCP server ships as slash commands do this work for you.

/account-engagement sorts every account into warm, cold, budget hog, or bad fit with an exclusion list. /company-deep-dive returns everything on one account with a single verdict.

/sales-handoff produces the scored call list with a talking point per row.

And if you would rather not set anything up, Zena answers the same questions inside the app.

Zena AI chat in ZenABM ranking top 10 engaged companies for November 2025 with ABM stage and engagements
Zena surfacing the month’s most engaged companies,

Five mistakes that break an engagement score

The five scoring mistakes you must absolutely avoid:

Scoring before gating on fit

The single fastest way to lose your sales team. Filter to ICP first, always.

Making the score too complicated to explain

If a rep asks why an account ranked third and you cannot answer in one sentence, they will stop using it. Every score should decompose into signals, people, and dates.

Weighting CTR heavily

The benchmark says CTR does not predict pipeline. Weight landing page clicks and deeper actions instead.

Never validating

An unvalidated score is a guess wearing a decimal point. Run the backtest before you ask anyone to work the list.

Changing the model mid-quarter

Tempting when the numbers look thin, and it destroys comparability. Change weights at quarter boundaries and note the change in your reporting.

The takeaway

An account engagement score is easy to build and easy to build badly.

Divide by impressions so you are measuring interest rather than headcount. Multiply by the number of people engaged, so a committee outranks an individual.

Decay it so last quarter stops crowding out this week. Gate it on fit so agencies stay off the list. Then backtest it, because everything above is a hypothesis until closed-won deals confirm it.

If you want the fastest useful version, skip the decay maths entirely and read two numbers: a current engagement rate and an all-time total. That four-box view answers who is heating up, who is steady, and who has gone quiet, and it takes an afternoon rather than a sprint.

The company-level engagement underneath all of this is the part LinkedIn does not hand you.

If you want the scores already calculated on your own account, ZenABM is free for 37 days with full functionality, and the current and total scores, stages, and CRM sync can be live before your next pipeline review.

You can also book a demo with us to learn more.

Frequently asked questions

What is a LinkedIn ads account engagement score?

It is a single number per company that summarises how much that company has engaged with your LinkedIn ads, weighted by the effort each action took and adjusted for how recent it was. Unlike a lead score, it aggregates every person at the account, which matters because the average B2B buying committee is 11 people. It is used to decide which accounts get more budget, a message change, or a sales call.

How do you calculate an account engagement score?

Start with weighted engagements divided by impressions in a chosen window, which normalizes for company size. Multiply by the number of distinct people who engaged, capped at around 5, so one active person cannot mimic a committee. Then apply a recency multiplier: full value in the last 30 days, 0.75 to 60 days, 0.5 to 90 days, and 0.1 beyond. Gate the whole thing on ICP fit first.

Why does my engagement score always rank big companies highest?

Because you are scoring raw counts. LinkedIn delivers ads to people, so a company with 40 employees in your target roles collects far more impressions and clicks than one with 4, regardless of interest. The fix is normalization: divide engagements by impressions so the score becomes a rate. ZenABM’s current engagement score is calculated this way, so the correction is built in.

What signals should a LinkedIn account engagement score include?

Weight by buyer effort. Impressions count 1, social engagements 2, landing page clicks 8, video views past 75 percent around 10, lead form opens 10, form submissions 20, and pricing or demo page visits 25. Add a multiplier for engagement from in-persona job titles. Avoid weighting CTR heavily, since the ZenABM benchmark of 211 companies found a slight negative relationship between CTR and pipeline.

How do I know if my account scoring model actually works?

Backtest it. Take last year’s accounts, calculate the score using only data that existed before each deal was created, and check where your closed-won deals rank. If they cluster near the top, the weights are close. If they land in the bottom tier, the weights are wrong. Ignore any result drawn from fewer than 10 accounts, and recalibrate the model quarterly.

Should account fit be part of the engagement score?

No, keep them separate. Use fit as a gate that decides which accounts enter scoring at all, then score engagement on its own. Blending them lets a perfect-fit account with zero engagement outrank a genuinely warm one, and it makes the number impossible to explain to a rep. Reading them as two axes, engagement against fit, gives you a clearer decision than one merged score.

Share this post

LinkedInXFacebook

Author

Emilia Korczynska

Emilia Korczynska

LinkedIn

Share this post

LinkedInXFacebook

Try Zena AI Agent

Ask our experts about LinkedIn Ads & ABM. Get instant answers with sources.

Emilia KorczynskaAli YildirimVeronika VebereTim DavidsonMaximilian Herczeg
+20 experts
Try it free

Stay up to date with ZenABM

Get the latest ABM insights in your inbox.

Latest in Blog

Back to Blog