Attribution · Sprites diagnoses this

PostHog shows fewer LinkedIn signups than Campaign Manager

LinkedIn counts a signup after any ad click or ad view inside its conversion windows, matched to the signed-in member on any device. PostHog only credits LinkedIn when the signup carries LinkedIn UTMs, so view-through and cross-device signups land as direct or organic. A big gap on a B2B account is normal, and most of it is view-through.

$1 today. Cancel anytime before day 7.

What Sprites checks

  • ?LinkedIn view-through share64% of conversions
  • !PostHog signups from LinkedIn19 vs 112 in Campaign Manager
  • ✓UTMs on LinkedIn adsSet at campaign level
  • ?LinkedIn conversion rulePage load on /signup, not signup
Illustration of a typical broken account. Your own readout comes from your account.

Why it happens

View-through conversions

  1. View-through conversions

    LinkedIn credits members who saw an ad inside the view window and signed up without clicking. PostHog never sees the view, so those signups count as direct or organic.

  2. The LinkedIn rule counts something else

    A conversion set to fire when a URL like /signup loads counts visits to the form, not finished signups. PostHog counts the account your app created.

  3. Phone to desktop

    Members click on their phone and sign up at their desk. LinkedIn ties both to one member; PostHog sees a new person with no UTMs.

  4. Long click window

    A click in week one and a signup through Google weeks later is LinkedIn in Campaign Manager and Google in PostHog.

How to line them up, step by step

  1. Split post-click from view-through

    In Campaign Manager open Columns, Conversions and leads, and add post-click and view-through conversions separately. Compare PostHog with post-click only.

  2. Check what the LinkedIn conversion counts

    In Campaign Manager go to Analyze, Conversion tracking and open the conversion. Confirm it fires on the finished signup, not on the form page.

  3. Break PostHog signups down by source

    In PostHog create a Trends insight on your signup event, break it down by Initial UTM source and filter to LinkedIn values.

  4. Judge on activation, not signups

    Build a PostHog funnel from signup to your activation event, broken down by Initial UTM source, and compare cost per activated user.

Steps checked against LinkedIn Marketing Solutions Help: LinkedIn conversion window; LinkedIn Marketing Solutions Help: Conversion tracking reporting; PostHog docs: Capturing UTM and campaign data; PostHog docs: Funnels.

Sprites diagnoses this

Sprites diagnoses it

Sprites lines up your PostHog and LinkedIn numbers and shows where they split.

What Sprites does

  • Pulls LinkedIn conversions, leads and cost per conversion per campaign for any date range.
  • Breaks PostHog signups down by utm_source and utm_campaign, and shows how many arrived with no UTM.
  • Runs a PostHog funnel from signup to activation per source, so LinkedIn is judged on users who stuck.

What it doesn't do

  • It does not change your LinkedIn conversion rules or windows.
  • It does not send PostHog signups to LinkedIn through the Conversions API.

Questions

Why does PostHog show fewer LinkedIn signups than Campaign Manager?

Campaign Manager counts view-through and long-window click conversions and matches members across devices. PostHog only credits signups that arrive with LinkedIn UTMs.

Are LinkedIn view-through conversions worth anything?

They show reach into the right accounts, but some of those people would have signed up anyway. Budget on post-click and activated users.

How do I get LinkedIn conversions to show up in PostHog?

Keep UTMs on every ad and make sure they survive any redirect into the app. PostHog then stores them on the person as initial UTM properties.

Should I shorten the LinkedIn view window?

For comparison, yes. Setting view-through to 1 day or off brings Campaign Manager much closer to what PostHog can trace.

See where it breaks

Connect your accounts. Sprites reads them side by side and shows you exactly where the numbers split.