Quick Summary
Summarize this article instantly with your preferred AI model.
LinkedIn Conversions API (CAPI) + HubSpot Setup Guide for B2B SaaS (2026)
LinkedIn’s Conversions API (CAPI) is a server-to-server connection that sends HubSpot pipeline events — MQL, SQL, opportunity, closed-won — back to LinkedIn’s ad platform. This transforms LinkedIn’s bidding algorithm from optimizing for form fills to optimizing for actual pipeline. The setup takes 7–14 days and lowers cost per SQL by 30–50% within 8 weeks. HubSpot Marketing Hub Starter+ supports CAPI natively via the Ads tool. LinkedIn’s 90-day attribution window is the hard ceiling for event matching.
Key Takeaways
- LinkedIn CAPI is a server-to-server integration, not a browser-based pixel. It’s unaffected by cookie restrictions and ad blockers.
- HubSpot supports LinkedIn CAPI natively through the Marketing > Ads dashboard. Marketing Hub Starter, Professional, and Enterprise all work.
- LinkedIn’s 90-day attribution window is the hard limit — contacts who change lifecycle stage more than 90 days after an ad click won’t sync.
- Only lifecycle stage changes that occur after you create the CAPI event will count. Historical data doesn’t backfill.
- The typical result after full implementation: CPL rises 10–20% in the short term, but cost per SQL drops 30–50% once LinkedIn’s algorithm re-learns (4–8 weeks).
- Fewer than 15% of B2B SaaS accounts have CAPI properly configured. The other 85% are optimizing on form-fill data and missing 30–50% improvement.
Why CAPI Matters More Than Ever in 2026
LinkedIn’s native pixel-based conversion tracking has three structural problems for B2B SaaS:
- Browser restrictions. Safari, Firefox, and increasingly Chrome block third-party cookies. Pixel fires get dropped. Your conversion data arrives incomplete.
- 7-day click window. LinkedIn’s default attribution window is far shorter than the average B2B SaaS sales cycle (90+ days). Deals that close 45 days after the LinkedIn click get zero credit in Campaign Manager.
- Form-fill bias. Without downstream data, LinkedIn’s algorithm optimizes toward what it can see — form fills. It finds more form-fillers, not more buyers. Cost per SQL stays high because the algorithm can’t distinguish between a CFO who will close and a consultant who will never pay.
CAPI fixes all three. It bypasses browsers entirely (server-to-server), supports a 90-day attribution window, and — critically — tells LinkedIn which form fillers actually became pipeline. The algorithm re-learns and starts finding people who look like your real buyers.
LinkedIn’s algorithm is only as smart as the signals you feed it.
Prerequisites Before You Start
Before touching CAPI, confirm these foundation pieces are in place:
- LinkedIn Insight Tag installed site-wide. Usually deployed via Google Tag Manager. Without the Insight Tag firing on your site, LinkedIn has no first-party click/view data to match CAPI events against.
- HubSpot Marketing Hub subscription (Starter, Professional, or Enterprise). The native LinkedIn Ads integration is required, and it’s behind the Marketing Hub paywall.
- HubSpot admin access with permissions to connect ad accounts and create workflows.
- LinkedIn Campaign Manager admin access on the ad account you’ll connect. “Viewer” or “Campaign Manager” roles aren’t sufficient — you need Account Manager or higher.
- Lifecycle stages configured in HubSpot. Your contacts need to be flowing through Lead → MQL → SQL → Opportunity → Customer stages. If lifecycle stages aren’t set up or aren’t being updated reliably, CAPI has nothing useful to send.
If any of these are missing, pause the CAPI work and fix them first. CAPI on top of broken foundation produces garbage signal.
Phase 1: Connect LinkedIn Ads to HubSpot (Day 1)
HubSpot has a native LinkedIn Ads integration that handles the OAuth connection. This is the entry point for everything else.
- In HubSpot, navigate to Marketing → Ads.
- Click Connect account and select LinkedIn Ads.
- Log in with a LinkedIn account that has Account Manager+ access to your Campaign Manager.
- Authorize HubSpot to read and write to your ad account.
- Verify the connection by confirming your LinkedIn ad account appears in the HubSpot Ads dashboard with recent campaign data populating.
Once connected, HubSpot will start syncing basic ad data — impressions, clicks, spend — into the Marketing > Ads view. This is the pipe that CAPI events will flow through in the next phase.
Phase 2: Create Your First CAPI Event (Day 2)
Now you’ll tell HubSpot which lifecycle stage transitions to send to LinkedIn. The mapping is the most strategic decision in this whole setup.
- In HubSpot, go to Marketing → Ads.
- Click Create event in the upper right.
- Configure the event:
- Ad network: LinkedIn
- Ad account: Select your connected LinkedIn Ads account
- Lifecycle stage: Choose which HubSpot lifecycle change triggers the event. For most B2B SaaS, start with Sales Qualified Lead (SQL) — this is the first high-signal milestone downstream of a form fill.
- Value: Select Use the Deal amount if you want weighted deal value passed to LinkedIn. This enables revenue-based bidding optimization later.
- User identifiers: Check all available fields — Email, First name, Last name. The more matching fields you provide, the higher LinkedIn’s match rate will be.
- Contacts to share: Select All contacts that move to the selected lifecycle stage(s). Do not select the “only contacts who interacted with your ads” option — it restricts the signal to clicked-only conversions, which misses view-through attribution.
- Event name: Use a descriptive name like “SQL — LinkedIn CAPI” so you can identify it later.
- Click Create event.
The event status will show as Unverified until data starts syncing. Expect the first sync within 24 hours of a matching lifecycle stage change.
What lifecycle stages to send (priority order):
- SQL — The highest-leverage signal for most B2B SaaS. It’s downstream enough to filter junk leads, upstream enough to have volume.
- Opportunity created — Second priority. Tighter quality signal, but lower volume. Enable this once your SQL event has 30+ events/month flowing.
- Closed-won — Third priority. Gold-standard signal but too sparse for LinkedIn’s algorithm unless you close 20+ deals/month from LinkedIn alone.
- MQL — Useful for some accounts but often too noisy. Only enable if your MQL definition is tight and MQL → SQL conversion is above 40%.
Do not send all four events simultaneously in week 1. Start with SQL. Add Opportunity after 2 weeks. Add Closed-won after 6 weeks once the algorithm has enough SQL signal.
Phase 3: Verify Data Is Flowing (Day 3–7)
You need to confirm CAPI is actually firing and LinkedIn is actually receiving matches. Skipping this step is how teams spend 8 weeks waiting for an optimization lift that never happens.
In HubSpot:
- Navigate back to Marketing → Ads.
- Click into your newly created CAPI event.
- Check the Status field. After 24–48 hours of a contact changing to your target lifecycle stage, status should change from Unverified → Active.
- Review the event log for matched events — you should see contact records with timestamps and matched identifiers.
In LinkedIn Campaign Manager:
- Go to Account Assets → Conversions.
- Find the conversion type that maps to your HubSpot event (LinkedIn auto-creates these).
- Check Match rate. Healthy match rate is 30–50% for B2B SaaS with email + first name + last name passed. Above 60% is unusually high; below 20% indicates a field-mapping problem.
Troubleshooting low match rates:
- Emails are hashed before being sent. HubSpot handles this automatically. If match rate is below 20%, verify that the Email property is being populated for the contacts you’re syncing.
- Contacts must have had a LinkedIn ad interaction (click or view) within the 90-day window before the lifecycle stage change. Users with no LinkedIn ad exposure won’t match.
- Personal vs business email mismatch is the most common cause. Your HubSpot contacts typically have business emails; their LinkedIn profiles often use personal emails. This is a structural match-rate ceiling that can’t be eliminated without enrichment.
Phase 4: Switch Campaign Objectives (Day 7–10)
This is the change that actually moves performance. Most B2B SaaS teams run Lead Generation campaigns, which optimize for form fills. Once CAPI is flowing, you want to tell LinkedIn to optimize for your CAPI event instead.
- In LinkedIn Campaign Manager, open an active campaign.
- Duplicate it (always preserve the original as a control during the transition).
- On the duplicate, change the campaign objective to Website Conversions.
- Set the Conversion event to the CAPI-synced event you created in HubSpot (it will appear in the dropdown once CAPI has synced at least a few events).
- Keep all other settings identical — same audience, same budget, same creative, same bid strategy.
- Launch the duplicate, pause the original after 72 hours to let the duplicate get impression delivery.
What happens next:
- Week 1–2: Delivery pattern shifts. LinkedIn’s algorithm starts looking for people with attributes similar to your synced SQLs, not just form-fillers.
- Week 2–4: CPL rises 10–20%. This is expected and correct — the algorithm is filtering out low-quality form fillers.
- Week 4–8: CPL stabilizes. Cost per SQL drops 20–30%.
- Week 8+: Cost per SQL drops to 30–50% below baseline. SQL → opportunity conversion rate typically improves because LinkedIn is now sourcing higher-quality leads.
Phase 5: Add Revenue Attribution (Day 10–14)
Once CAPI is syncing SQL events reliably, expand to revenue attribution. This enables LinkedIn to optimize against deal value, not just conversion count.
- In your HubSpot CAPI event, enable Use the Deal amount for the Value field (if not already enabled).
- In LinkedIn Campaign Manager, configure campaigns to use the Value bid strategy for Conversions objective campaigns.
- This tells LinkedIn: “Don’t just find people who’ll become SQLs — find people who’ll become SQLs that map to large deals.”
This works best for B2B SaaS with ACV variance — $10K deals vs $100K deals in the same pipeline. If all your deals are similar-sized, value-based bidding adds complexity without meaningful improvement.
Common Mistakes to Avoid
Sending all lifecycle stages day one. The algorithm needs 30+ events/month to learn effectively. Spreading signal across 4 stages means each stage only gets 7-8 events, which is too sparse. Start with SQL only. Add stages once you have 30+ monthly events flowing.
Changing bid strategy same week as CAPI launch. Two simultaneous changes make it impossible to attribute performance shifts. Hold bid strategy constant for 4 weeks after CAPI launch. Then optimize bids.
Killing campaigns during the learning phase. CPL rises 10–20% in weeks 2–4 after CAPI activation — this is correct behavior, not a problem to fix. Killing campaigns here resets LinkedIn’s algorithm and wastes the setup investment.
Expecting historical backfill. CAPI only counts lifecycle changes that happen after the event is created. Your pre-existing 3 months of SQL data won’t sync retroactively. Plan the launch so you have 4+ weeks of runway before you need to report on impact.
Deduplicating incorrectly when also running Insight Tag pixel events. If your LinkedIn pixel is firing on form submits and HubSpot is syncing the same events via CAPI, LinkedIn may count them twice. Configure event deduplication via LinkedIn’s eventId parameter or disable pixel-based tracking for events that CAPI now handles.
Expected Results Timeline
| Phase | What Happens | CPL | Cost per SQL |
|---|---|---|---|
| Week 1 | CAPI flowing, learning begins | Flat | Flat |
| Week 2–4 | Algorithm re-learns; filters form-fillers | ↑ 10–20% | Flat |
| Week 4–8 | Quality signal dominates | Stabilizes | ↓ 20–30% |
| Week 8–12 | Full optimization | ↓ 5–15% from baseline | ↓ 30–50% |
| Week 12+ | Ongoing compounding gains | Stable | Stable at 30–50% below baseline |
Teams running B2B SaaS with $25K+ ACV typically see the fastest and largest gains. Teams with sub-$10K ACV products see smaller gains because SQL density is higher and filtering matters less.
How OLA Automates the CAPI Setup
If the above feels like a lot of infrastructure work — it is. Native HubSpot CAPI works for basic setups, but handling deduplication, managing match rates, mapping multiple lifecycle stages, and troubleshooting sync failures typically takes RevOps 20–40 hours of implementation and 5–10 hours/month of ongoing maintenance.
OLA abstracts this entirely. Connect LinkedIn and HubSpot via OAuth (under 15 minutes), select which lifecycle stages to sync, and OLA handles the rest: event firing, deduplication, match rate optimization, value attribution, and sync monitoring. No HubSpot workflow engineering, no dedup debugging, no match rate diagnostics.
Flat $29/month. Works for B2B SaaS teams on HubSpot running $5K–$100K/month in LinkedIn spend.
For teams who want the full done-for-you setup including campaign strategy, pipeline reviews, and creative optimization, GrowthSpree’s managed service wraps OLA into a $3,000/month flat engagement — month-to-month, HubSpot-native, purpose-built for B2B SaaS.
FAQs
What is LinkedIn’s Conversions API (CAPI)?
LinkedIn’s Conversions API (CAPI) is a server-to-server integration that sends CRM events — SQLs, opportunities, closed-won deals — from your CRM directly to LinkedIn’s ad platform. Unlike browser-based pixel tracking, CAPI isn’t affected by cookie restrictions or ad blockers. It supports attribution windows up to 90 days and enables revenue-based bidding.
Do I need CAPI if I already have HubSpot’s native LinkedIn integration?
Yes. HubSpot’s native LinkedIn integration syncs Lead Gen Form submissions into CRM contacts. CAPI is the reverse direction — it sends HubSpot lifecycle stage changes back to LinkedIn so the algorithm can optimize for pipeline quality. Both layers are needed for a complete setup.
How long does LinkedIn CAPI take to set up?
Basic implementation via HubSpot’s native Ads tool takes 2–3 hours of config work. Full implementation including Insight Tag, CAPI, pipeline stage mapping, value assignment, and verification takes 7–14 days with RevOps ownership. After activation, LinkedIn’s algorithm needs 4–8 weeks to re-learn against new pipeline signals.
What’s LinkedIn’s CAPI attribution window?
LinkedIn’s CAPI supports a 90-day attribution window. Contacts who change lifecycle stage more than 90 days after the LinkedIn ad click or view won’t sync. For long sales cycles (9+ months in cybersecurity, fintech, healthcare IT), this is a hard ceiling — you’ll need CRM-side multi-touch attribution to measure beyond the 90-day window.
Will CPL go up after CAPI activation?
Yes, temporarily. CPL typically rises 10–20% in weeks 2–4 after CAPI activation because LinkedIn’s algorithm filters out form-fillers who don’t become SQLs. By week 8, cost per SQL drops 30–50% even though raw CPL may stay 5–15% above baseline. Optimize on cost per SQL, not CPL.
Can I use CAPI without HubSpot Marketing Hub?
HubSpot’s native LinkedIn CAPI requires Marketing Hub Starter or above. If you’re on HubSpot Free or HubSpot Sales Hub only, you can still implement CAPI via LinkedIn’s direct API or through middleware platforms like Datahash or LeadsBridge — but these require more technical setup.
What’s the match rate I should expect?
Healthy LinkedIn CAPI match rate for B2B SaaS is 30–50% when you pass email + first name + last name as identifiers. Above 60% is unusual; below 20% indicates a field-mapping problem. The primary cause of ceiling match rates is business vs personal email mismatch — LinkedIn profiles often use personal emails, while HubSpot contacts usually have business emails.
Should I send MQL, SQL, or Opportunity events?
Start with SQL only — it’s downstream enough to filter junk leads, upstream enough to have volume (30+ events/month is ideal for the algorithm). Add Opportunity after 2 weeks once SQL signal is flowing. Add Closed-won after 6 weeks if you close 20+ LinkedIn-sourced deals per month. MQL is usually too noisy unless your MQL → SQL conversion is above 40%.
Skip the Implementation. Ship the Optimization.
Connect OLA to LinkedIn and HubSpot. CAPI is configured, tuned, and monitored automatically — no RevOps engineering, no dedup debugging, no match rate diagnostics.
Start your free OLA CAPI audit →