If your marketing team still reports “open rate up 3 points” as a headline win, you are losing the budget fight. The finance team will ask one question — “what opportunities did that create?” — and open rate will not answer it. Pipeline attribution does.
For B2B, the only email metric that deserves a line in the board deck is pipeline contribution: qualified opportunity dollars traceable to a campaign, within a sensible attribution window. Everything else is a diagnostic.
Why opens fail at the boardroom level
Open rate cannot answer three questions the CFO will ask:
- How much revenue did this produce?
- What would we lose if we stopped sending?
- Why are we paying an email platform $60k/year?
A 40% open rate on a 2,000-person list with zero sourced pipeline is a failing campaign. A 12% open rate that sources $400k in pipeline is an excellent one. Pipeline attribution collapses that asymmetry.
Attribution models that do not break in B2B
Single-touch attribution (first-touch or last-touch) is the source of most dashboard dishonesty. B2B deals are multi-touch by definition — 6–12 interactions with 3–7 stakeholders before signature. Use one of:
- W-shaped — credits first touch, opportunity creation, and close. Good default.
- Time-decay — weights recent touches more. Good for long cycles.
- Data-driven — if you have the volume, Markov or Shapley attribution wins.
Do not use last-touch. It will always over-credit whatever channel sat in front of the close, which is usually sales, never email.
Attribution windows
90 days for nurture, 180 days for enterprise, 30 days for SMB. Anything shorter for enterprise will cut the nurture engine out of the picture. Anything longer will double-count campaigns.
Minimum viable instrumentation
You do not need a six-figure attribution platform. You need three things wired together:
- UTM discipline. Every link. Every campaign. Every time. Canonical parameters, not free-form.
- A CRM field for email-sourced. On the opportunity, not just the contact. Let sales override it.
- A reverse-ETL job. Pulls opportunity IDs back into your email platform so you can see “this send created $x” in the same UI where you approve sends.
# Minimal attribution join (pseudo-SQL)
SELECT c.campaign_id,
COUNT(DISTINCT o.id) AS opps,
SUM(o.amount) AS pipeline,
SUM(CASE WHEN o.stage = 'Won' THEN o.amount END) AS revenue
FROM email_sends s
JOIN contacts c2 ON c2.id = s.contact_id
JOIN opportunities o ON o.primary_contact_id = c2.id
JOIN campaigns c ON c.id = s.campaign_id
WHERE o.created_at BETWEEN s.sent_at AND s.sent_at + INTERVAL '90 days'
GROUP BY 1;Placement is a hidden attribution bug
Attribution assumes the email was seen. If 40% of your sends land in spam, 40% of your pipeline-attribution dollars are invisible. The campaign looks worse than it is, and you defund the engine that was feeding pipeline through the other 60%.
Inbox Check reports per-provider placement for every send. Join that against your attribution table and you can finally distinguish “bad campaign” from “good campaign, bad deliverability”. See the API docs for how to pipe it into your warehouse.
Common pipeline-attribution mistakes
- Crediting only the last send. The welcome series did more work than the final offer. Track both.
- Ignoring dark social. Deals sourced from a forwarded email will not have your UTM. Sales-manual-attribution fields fill this gap.
- Over-counting MQLs. MQL is not pipeline. Only qualified opportunity creation counts.
- Using open as a touchpoint. Apple MPP killed this. Use click + reply + form submit instead.
The dashboard the CFO will actually read
Four numbers, updated weekly: sends, placement %, reply rate, pipeline $. One chart: pipeline dollars per 1,000 sends, trended over 90 days. That is the whole report.