RevOps HQ
← BACK TO CASE STUDIES
CASE STUDY8/19/2026

HubSpot–LinkedIn Integration Case Study: Audience Sync and Offline Conversions for a B2B Software Firm

A B2B software firm spending on LinkedIn against static uploaded lists, with no closed revenue returned to the platform. Audience membership driven from CRM state, offline conversions posted at close, and a documented identity rule between the two systems.

CLIENT: Halvard Systems

Running B2B Software on HubSpot, or thinking about it?

Schedule a consultation

GET WEEKLY REVOPS INSIGHTS

No spam. Unsubscribe anytime.

Summary

Halvard Systems sells workflow software to mid-market logistics operators, at an average contract value of $46,000 and a sales cycle averaging 94 days. It spent $31,000 a month on LinkedIn against audiences uploaded as CSV files, refreshed by hand roughly every six weeks. No closed revenue was returned to the platform, so LinkedIn optimised toward form fills.

The engagement replaced the uploaded lists with audience membership computed from CRM state, and began posting offline conversions to LinkedIn at the point a deal closed. Over the two quarters following go-live, cost per qualified opportunity fell from $2,180 to $1,240, the share of spend reaching accounts already disqualified fell from 22 percent to 3 percent, and audience staleness fell from a median of 19 days to under 24 hours.

Background: Optimising Toward the Wrong Event

LinkedIn optimises against the conversion it is told about. Halvard told it about form submissions, because that was the event the platform could see, and the platform did what it was asked: it found people who submit forms.

The commercial reality behind those submissions was not visible to it. Of the leads generated in the six months before the engagement, 41 percent were disqualified within two weeks — wrong company size, wrong region, existing customer, or a competitor. The bidding algorithm had no way to know this, and so continued to buy more of the same audience.

This is a measurement problem rather than a targeting one. Goodhue and Thompson (1995) surveyed users across two companies and found that performance improved where what a system offered matched what the task actually demanded, rather than where the system was simply more capable. They called the match task-technology fit. LinkedIn's optimisation is highly capable; it was matched to a task nobody intended, because the only outcome it could observe was the wrong one.

The Audit

The pre-engagement audit ran for two weeks against the portal and the ad account, and produced four measurements.

Audience staleness. The uploaded lists carried a median age of 19 days, with the oldest active audience 47 days old. A prospect who became a customer, or who was disqualified, continued to receive prospecting spend for an average of two and a half weeks after the fact.

Wasted reach. Cross-referencing the uploaded lists against CRM state showed that 22 percent of the addressable audience was made up of accounts already marked closed-lost, disqualified, or existing customers. At the prevailing spend that represented roughly $6,800 a month. Haug, Zachariassen, and van Liempd (2011) separate the costs of poor data quality into the operational cost of working around defective data and the cost of decisions taken on it, and note that neither is ordinarily booked against data. This is the second kind: a bidding decision taken every hour on a list that had stopped being true.

Identity coverage. LinkedIn matches on email address, and 34 percent of HubSpot contacts in the target segments carried only a personal or a role-based address. Match rates on upload had been recorded at 61 percent, and the gap had been attributed to LinkedIn rather than to the record.

Attribution. No offline conversion had ever been posted. Revenue attribution existed in HubSpot and stopped there, so the platform's own reporting and the CRM's disagreed by a factor the finance team had stopped attempting to reconcile. DeLone and McLean (2003), revisiting their model of information-systems success after a decade of studies, separated the quality of a system from the quality of the information it produces and found the second the better predictor of whether people use the output in decisions. Two irreconcilable revenue figures are a clean instance: both systems were working, and the number had stopped being used.

Identity Before Anything Moves

No two commercial systems share an identifier space, and this pair is a clear instance: HubSpot's identity is the contact record, LinkedIn's is a member profile matched principally on email. Wand and Wang (1996) treat an information system as a representation of the real world and define a data quality problem as a breakdown in the mapping between the two, and an unmatched contact is exactly that breakdown — one real person, represented in one system and absent from the other.

Three decisions were taken before any audience was built.

The match key was defined as the work email address, with a documented fallback to company domain for account-level targeting. Personal addresses were excluded from person-level audiences rather than uploaded and left to fail silently, which is what had produced the 61 percent match rate and the impression that the platform was at fault.

Field ownership was assigned per field. LinkedIn owns nothing that writes back into HubSpot except conversion events; HubSpot owns segment membership entirely. This is the decision Soh and Sia (2004) describe when they find that adopting organisations must decide deliberately where to change themselves and where to change the system, because a default left unexamined is still a decision that has been made.

Consent state was held in one place. A contact who withdraws consent leaves every audience within one sync cycle, and the rule is enforced in HubSpot rather than duplicated in the ad platform.

The Build

The work ran across seven weeks in four phases, using HubSpot's LinkedIn Ads integration for audience sync, a private app for the offline conversion posts, and the LinkedIn Conversions API.

Phase one, segment definitions. Six audiences were specified in writing before any was built: two prospecting, two retargeting by lifecycle stage, one customer exclusion, and one competitor exclusion. Each carries a written entry and exit condition, so a contact's presence in an audience is a consequence of CRM state rather than of when a list was last exported.

Phase two, audience sync. The uploaded lists were retired and replaced with HubSpot active lists synced to LinkedIn. Exclusion audiences were applied at the campaign level rather than trusted to list logic, so a customer who is also a prospect at a second business unit is excluded on the campaign that should exclude them and not on the one that should not.

Phase three, offline conversions. A workflow posts a conversion to LinkedIn when a deal reaches closed-won, carrying the deal amount and the close date. A second conversion fires at the qualification stage, so the platform receives a signal earlier than the 94-day cycle would otherwise allow.

Phase four, reconciliation. A weekly job compares conversions posted against deals closed and reports any difference. The check exists because a conversion post is a fire-and-forget call: a failure is invisible from inside HubSpot, and the first symptom is a bidding model quietly starved of the signal it was built to receive.

Audience membership computed from CRM state, and closed revenue returned as an offline conversionA cycle rather than a line. HubSpot holds lifecycle, owner and deal state. An active list computes membership from that state against written entry and exit conditions, and syncs continuously to a LinkedIn audience matched on work email. The campaign applies exclusion audiences at campaign level rather than inside list logic. When a deal reaches closed won, an offline conversion carrying the amount and close date is posted back to LinkedIn against the match key stored when the contact first entered the audience, rather than by resolving identity a second time. Without that return path the platform optimises toward form submissions, because a form submission is the only outcome it can observe.MEMBERSHIP FROM STATE, REVENUE RETURNED — NOT AN UPLOADED LISTA list exported on Monday is a claim about Monday, and it keeps spending against that claim until somebody exports again.membership computedsynced continuouslyreacha deal, months lateroptimises toward revenue rather than form fillsHubSpotlifecycle, owner, deal stateActive listentry and exit conditionsLinkedIn audiencematched on work emailCampaignexclusions applied per campaignDeal closed wonamount and close dateOffline conversionposted against the stored key
Audience membership computed from CRM state, and closed revenue returned as an offline conversion

Outcomes

Cost per qualified opportunity. $2,180 before, $1,240 across the two quarters after go-live, a reduction of 43 percent. Qualification is defined here as a deal reaching the stage at which a scoping call has been held, which is the earliest stage the firm treats as commercially real.

Wasted reach. Spend reaching accounts already disqualified, closed-lost or in customer status fell from 22 percent to 3 percent. The residual 3 percent is the sync interval, and closing it further would require real-time membership the platform does not support.

Audience staleness. Median age fell from 19 days to under 24 hours. Membership now changes with the record rather than with the export.

Match rate. Upload match rose from 61 percent to 88 percent, achieved by excluding personal addresses from person-level audiences rather than by any change in matching. The remaining 12 percent is unmatched for reasons outside the CRM.

Attribution agreement. Platform-reported and CRM-reported influenced revenue moved from a variance the finance team had abandoned reconciling to within 6 percent, which is the difference attributable to LinkedIn's own attribution window.

Pipeline from paid. Qualified pipeline sourced from LinkedIn rose 31 percent against a flat budget, which is the outcome the preceding five figures produce together rather than an independent result.

What Resisted

The offline conversion post was the part that resisted. LinkedIn accepts a conversion against a member matched at the time of the post, and a deal closing 94 days after first touch is frequently posted against a contact whose email has since changed. Early posts failed at a rate of 14 percent, and the failures were silent.

The mechanism that resolved it was storing the matched identifier at the point the contact entered an audience, rather than resolving identity again at close. The identifier is written to a dedicated property, and the conversion posts against the stored value. Pipino, Lee, and Wang (2002) set out how data quality can be assessed in practice and give uniqueness a metric of its own rather than treating it as a by-product of careful work; a stored match key is what makes that metric computable here, because identity resolved twice is identity that may disagree with itself. This is the same discipline the migration method applies to import keys: identity established once and retained, rather than recomputed at each step and hoped to agree.

A second difficulty was organisational rather than technical. The exclusion audiences reduced reach, and reduced reach reads as underperformance on a weekly report that counts impressions. The measure had to change before the mechanism could be left alone, which is a familiar shape: Karimi, Somers, and Bhattacherjee (2007) found that a deployment becomes a capability only where its outputs enter the working routine of the people the process runs through.

Limits

This does not prove that audience sync improves performance in general. Halvard's gain came substantially from exclusion, and exclusion is worth most to a firm with a high proportion of its addressable market already in the CRM as customers or disqualified accounts. A firm early enough to be prospecting into a market it has barely touched should expect a fraction of the same effect.

The offline conversion mechanism also assumes a sales cycle long enough for the platform's optimisation to be starved without it, and short enough for the signal to arrive inside a useful window. At 94 days Halvard sits comfortably inside that range. A transactional cycle might not need the mechanism at all, and a multi-year enterprise cycle would likely return the signal too late for it to inform bidding.

Attribution figures here are LinkedIn-reported and HubSpot-reported respectively. Neither is a controlled measurement of incrementality, and no holdout was run.

Conclusion

The integration is not a connector problem. Every figure above follows from three decisions taken before anything was connected: what identifies a person across both systems, which system owns audience membership, and how a silent failure becomes visible. The connector can then do what connectors do.

The general form is that a platform optimises toward the event it can observe. An advertising system told only about form submissions may be expected to find people who submit forms, accurately and at scale, and the accuracy is what can make the outcome expensive.

References

Haug, Anders, Frederik Zachariassen, and Dennis van Liempd. 2011. "The Costs of Poor Data Quality." Journal of Industrial Engineering and Management 4 (2): 168–193. https://doi.org/10.3926/jiem.2011.v4n2.p168-193

DeLone, William H., and Ephraim R. McLean. 2003. "The DeLone and McLean Model of Information Systems Success: A Ten-Year Update." Journal of Management Information Systems 19 (4): 9–30. https://doi.org/10.1080/07421222.2003.11045748

Goodhue, Dale L., and Ronald L. Thompson. 1995. "Task-Technology Fit and Individual Performance." MIS Quarterly 19 (2): 213–236. https://doi.org/10.2307/249689

Karimi, Jahangir, Toni M. Somers, and Anol Bhattacherjee. 2007. "The Role of Information Systems Resources in ERP Capability Building and Business Process Outcomes." Journal of Management Information Systems 24 (2): 221–260. https://doi.org/10.2753/MIS0742-1222240209

Pipino, Leo L., Yang W. Lee, and Richard Y. Wang. 2002. "Data Quality Assessment." Communications of the ACM 45 (4): 211–218. https://doi.org/10.1145/505248.506010

Soh, Christina, and Siew Kien Sia. 2004. "An Institutional Perspective on Sources of ERP Package–Organisation Misalignments." Journal of Strategic Information Systems 13 (4): 375–397. https://doi.org/10.1016/j.jsis.2004.11.001

Wand, Yair, and Richard Y. Wang. 1996. "Anchoring Data Quality Dimensions in Ontological Foundations." Communications of the ACM 39 (11): 86–95. https://doi.org/10.1145/240455.240479

Conflict of Interest

RevOps HQ is a HubSpot Solutions Partner and was engaged and paid by the client described.

Acknowledgments

Prepared by RevOps HQ.

Schedule a consultation

Thirty minutes, no deck. We look at your portal and tell you what this would involve for a b2b software business — including whether it is worth doing yet.

HubSpot services

Onboarding, implementation, integration, migration, administration and training, each scoped and priced before the work begins

WEEKLY PROGRAM

RevOps Office Hours

A recurring weekly RevOps operating program. Live support plus hands-on HubSpot implementation work.

$1,500/mo
Monthly Operating Program
  • 1 live Office Hours session per week
  • 4 hours of hands-on implementation work per month
  • Hours allocated against priorities agreed at the start of each period
  • Recurring monthly cadence