flowsk.com
For SaaS

Attribution for B2B and product-led SaaS

When the median journey is 40 days and the identifier lives 7, attribution stops being approximate and starts being fiction. B2B attribution is an identity problem, not a cookie problem.

Aug 4, 2026· 3 min read ·Use cases
Quick answer

identity, captured early > any cookie, however durable

With a 40-day median cycle and a 7-day effective cookie, the identifier survives the full journey for a minority of buyers. That is why nearly all B2B pipeline gets credited to direct and branded search, and why content marketing appears to produce almost nothing.

The cookie only has to survive until the email arrives. After that the journey lives on the person.

B2B SaaS teams have a lower Safari share than DTC brands and a much worse attribution problem, for one reason: almost nothing converts inside a week.

The arithmetic that breaks it

A typical B2B journey: someone reads a comparison post in week one, downloads a guide in week two, sits on it for a fortnight, starts a trial in week five, and converts in week seven. Forty-plus days from first touch to revenue, spread across two devices and sometimes two people at the same company.

A 90-day attribution window on a 7-day identifier is a 7-day window with extra confidence. Everything before the last week of that journey is invisible, so the report says: direct.

This is why the content programme that generated the entire pipeline shows almost no attributed revenue, and why the “efficient” branded search campaign appears to be carrying the company.

The DTC answer — a durable server-set id — helps, and you should do it. But even a two-year cookie does not solve B2B, because B2B journeys cross devices, cross people, and end in a CRM your website never sees.

The B2B answer is identity, captured as early as you honestly can.

  1. Get the email early and cheaply. A guide, a benchmark report, a calculator, a template. The value of a day-2 email is not the lead — it is that everything before and after it becomes one journey.
  2. Bind the anonymous history to it. The moment the email arrives, the two weeks of anonymous research retroactively belong to a named person, and the acquiring channel is preserved permanently.
  3. Record what caused the identification. “Identified via content_download” and “identified via demo_request” are entirely different signals about intent. A client-side identify call cannot know which one happened; a server-side one can.
  4. Send CRM stages back. SQL, opportunity, closed-won — each one is a server-side event against the same person. Now the closed deal that happened 74 days after the first click is attached to the campaign that started it.

Roll up by account, not by person

Three people from the same company touch three different channels: one finds you through a comparison post, one clicks a LinkedIn ad, one arrives from a colleague’s Slack link. Any per-person attribution model mis-credits the deal, because no individual journey contains the whole story.

Group journeys by email domain and the picture resolves: this account was touched by organic search, LinkedIn and direct, over 51 days, and closed at $14,400. That is an account-based attribution report, and it is the only kind that matches how B2B actually buys.

What to report on

Question Model What it tells you
Where should new budget go? First touch Which channels create accounts
What is closing deals? Last touch Which assets convert existing demand
Which content matters? Any touch (influenced) What appears in winning journeys
What is a lead worth? First touch + CRM value Real cost per closed dollar, not per MQL

Never blend these into a single number. They answer different questions and averaging them produces a figure that answers none.

The realistic sequence

  1. Capture an email as early as the funnel allows. Everything else depends on it.
  2. Set a durable server-set visitor id so the pre-identification window is as long as possible.
  3. Send signup_started and trial_started server-side, with the cause recorded.
  4. Push closed-won from the CRM against the same identity.
  5. Report first-touch for acquisition and account-rollup for influence.

Steps 1 and 2 take a week and recover most of the loss. Steps 3 to 5 are what turn attribution from a marketing metric into a revenue one.

Frequently asked questions

Why is all my pipeline attributed to direct or branded search?

Because those are the touches closest to the conversion, and the only ones still inside the identifier's lifetime. The blog post that started the evaluation 40 days earlier is long gone from browser storage, so the last recognisable touch takes all the credit.

How early should I capture an email?

As early as is honest. In a long cycle the cookie is a bridge to the email, not a substitute for it. A content download on day 2 preserves the whole journey; the same download on day 30 preserves nothing that came before it.

How do I attribute an account with five different buyers?

Roll journeys up by email domain. Account-based attribution asks which channels touched the account, which is the question your pipeline actually depends on — not which individual cookie clicked the button.

Should I send closed-won revenue back to the ad platforms?

Yes, through their offline conversion APIs — it makes their optimisation substantially better. Keep your own ledger separately, because the platform will apply its own model to whatever you send it.

Does this work for product-led growth?

Especially well. PLG identifies early by design — the signup happens before the purchase, often weeks before. That signup is the strongest anonymous-to-known bridge in any business model.

See how much of your cycle is outside the window

Describe your time-to-convert distribution and watch how little of a 40-day sales cycle a 7-day identifier can actually hold.

Open the visualizer

Stop guessing which ad made the sale.

Flowsk Signals stitches the anonymous click to the email to the purchase — first-party, server-side, de-duplicated. One snippet, $29/mo, and every conversion comes with a receipt you can inspect.

Keep reading