Your event campaigns show zero converted leads. Here is why.
Three reasons Salesforce event campaigns report zero converted leads, and the six-stage funnel plus source-tagging model that fix the report.
- The sequencer usually overwrites Lead Source on sync, so every event lead reports as if it came from the tool.
- Generic campaign member statuses like In Progress and Completed cannot express what happened at an event.
- Six stages and a split between original source and sync source is enough to make the report readable again.
A marketing team I work with pulled up their Salesforce event report at the end of a quarter. Six event campaigns, several thousand leads in them, real money spent on all six. Converted leads: zero. Meetings: zero. Every row.
Nobody in the room believed it. They had booked meetings at those events. Two of them had turned into opportunities. The report was wrong in a way nobody could immediately explain, and finance was two weeks away from asking what the events produced.
The campaigns had been configured to report on sequence progress. Nothing in them had been configured to report on meetings or pipeline.
Three things are usually broken at once
Event campaign reporting fails for three reasons at the same time, which is part of why it is hard to diagnose. Fix one and the report stays broken, and it looks like the fix did not work.
1. The sequencer overwrites lead source on sync
This is the one that does the most damage and gets noticed last.
Leads flow into Salesforce through the sequencing tool. The sync creates the Lead record and populates Lead Source with the tool’s own default. From Salesforce’s point of view that is accurate: the record did arrive via that integration. From the business’s point of view it is wrong, because the lead came from a conference the company paid to attend, and the sequencer was the pipe rather than the origin.
The event campaign gets attached afterwards, as campaign membership. So the record carries the event in one place and reports its source as the tool in another, and every downstream report built on Lead Source silently credits the tool.
Run that for a year and every report built on Lead Source credits the sequencer for the whole event program.
2. Campaign member statuses do not map to sales reality
Open a typical event campaign and look at what the statuses can express. Usually two things: In Progress and Completed.
Neither of those corresponds to anything a sales leader recognises. “In Progress” covers a person who ignored four emails and a person who booked a meeting for Tuesday. “Completed” covers a sequence that finished and a deal that started. The campaign holds twelve hundred members and can tell you nothing about which of them mattered.
Meetings suffer worst here. A meeting booked before the event, a conversation that happened on the floor, and a follow-up call three weeks later are three genuinely different outcomes with different economics, and all three get flattened into the same value or into no value at all.
3. There are no funnel stages for the event lifecycle
An event is not one moment. It is a pre-event window where outreach runs, a few days on the floor, and a follow-up period afterwards where most of the qualified conversation happens.
Standard lead statuses have no vocabulary for any of that. So pre-event interactions, at-event conversations and post-event follow-up are invisible in Salesforce reporting as distinct things. You cannot ask which events produced meetings before the event versus which ones produced them on the floor, and that question is one of the most useful inputs into next year’s calendar.
The fix, in three parts
None of this needs a new tool. It needs a decision made once and applied to every event campaign from then on.
Six campaign member statuses
Standardise on stages that describe what happened:
| # | Campaign member status | What it means |
|---|---|---|
| 1 | Pre-event outreach | Contacted, no response yet. |
| 2 | Positive reply or decline | They answered. Both directions are information, and the declines are how you learn which personas the messaging is wrong for. |
| 3 | Meeting booked before event | A confirmed hold on a rep’s calendar. This is the leading indicator, and it is the number worth reviewing at T-1 while there is still time to act. |
| 4 | Met at event | A real conversation on the floor, booth or dinner, as distinct from a badge scan. |
| 5 | Met post-event | The follow-up conversation that happened afterwards. |
| 6 | Post-event nurture | Fits the profile, produced no signal, goes into the next campaign cycle. |
Six values is enough to answer the questions that get asked in a review and few enough that a rep will pick the right one. Apply them to every event campaign, without exception.
Half the value here is comparability. Two events with different status sets cannot be compared against each other, and comparing events is the reason to run a program instead of a series of one-offs.
Split original source from sync source
Keep two fields and let each one answer its own question.
| Field | What it holds |
|---|---|
| Original Source | The event name. It is written once, at creation, and nothing downstream is allowed to overwrite it. This is the field your ROI reporting reads. |
| Sync Source | The integration that delivered the record. That is genuinely useful for troubleshooting a sync and for understanding your own tooling, and it belongs nowhere near a pipeline report. |
One rule makes this hold: whichever system creates the record writes Original Source at creation and no automation touches it afterwards.
The damage in event attribution usually comes from a field being updated by something later in the chain.
Rebuild the report once the stages exist
The report comes last, and teams routinely try to build it first. A report built on statuses that do not exist yet returns the same zeros.
Once the six statuses and the source split are live, the per-event report has something to say:
- Leads in the campaign
- Replies
- Meetings booked before the event
- Conversations at the event
- Opportunities created
- Sourced pipeline
- Cost per opportunity
A finance partner can go through that report line by line and check it.
The routing decision you have to make once
There is one open question in most of these setups, and it is worth settling explicitly rather than letting it be settled per event by whoever configures the campaign.
Do event leads go from the sequencer directly to Salesforce, or through your marketing automation platform first?
Direct is simpler and gives one fewer place for a field to be rewritten. Routing through marketing automation buys nurture workflows and a second place to preserve the original source, at the cost of another system in the chain.
Either answer works. What does not work is both, applied inconsistently across events, which is the state most programs are in. The reporting damage comes from the inconsistency rather than from either route.
What this is worth
The team above rebuilt their campaigns over about two weeks. The events did not change, the outreach did not change, and the number of meetings they had booked did not change. What changed was that the meetings became visible, and the two opportunities everyone knew came from a conference showed up in the report as rows.
That matters when someone asks whether the event line survives the next budget cycle. An estimate is much harder to defend in that conversation than a report somebody can open.
If you are setting this up, the Salesforce event ROI reporting guide covers the campaign hierarchy, the Opportunity writeback and the CFO-facing report shape in more detail. For the outreach that fills those campaigns in the first place, the Event Outreach Framework has the workflow and the copy, in full, on the page.
For the writeback side of the same problem, post-event attribution and ROI covers how the matched records land back in Salesforce or HubSpot.
Frequently asked questions
Why does Salesforce show Lead Source as my sequencer instead of the event?
Because the sequencer’s Salesforce sync writes its own value into Lead Source when it creates the record, and the event campaign is only attached afterwards as campaign membership. The record is technically correct about how it arrived and wrong about where it came from. The fix is to hold the event in a dedicated original-source field that nothing downstream overwrites, and let Lead Source describe the sync path.
What campaign member statuses should an event campaign use?
Statuses that map to what happens: pre-event outreach, positive reply or decline, meeting booked before the event, met at the event, met post-event, and post-event nurture. Generic values like In Progress and Completed are the reason a campaign with 1,200 members reports nothing a sales leader can act on.
Why do event campaigns report zero meetings?
Usually because meetings are not being written to the campaign at all. They live in calendar invites, an event app, a rep’s notebook, or an activity record with no campaign attached. A meeting that exists only in a calendar is invisible to every campaign report, no matter how the campaign is configured.
Should event leads route through marketing automation before Salesforce?
It depends on whether you need nurture on the way through. Routing through your marketing automation platform first buys you nurture workflows and a second place for the original source to be preserved. Routing straight to Salesforce is simpler and has one fewer place for a field to be rewritten. Pick one and apply it to every event, because the reporting damage comes from mixing both.
