Multi-touch attribution for events in Salesforce and HubSpot
Get events into multi-touch attribution in Salesforce and HubSpot: the touches to log, the objects they use, how each model splits credit, and the guards.
- Multi-touch attribution can only credit an event for touches the CRM can see. The pre-event email, the booth conversation and the dinner sit in a sequencer, a scan export and a spreadsheet, outside campaign activity.
- In Salesforce, add every person you met as a Campaign Member, keep each touch as an activity, and attach contacts to Opportunities as contact roles. In HubSpot, record the event as a campaign and marketing event so attribution reports count the interactions.
- Position-based models give little credit to an event in the middle of a cycle. Keep event-sourced and event-influenced pipeline in their own fields, with a 90-day window and a review of weak matches.
Multi-touch attribution credits an event only for the touches your CRM holds. Event touches that live in a sequencer, a scan export or an RSVP spreadsheet never reach it, so the event shows up as zero, or as a number finance does not trust. Below: why events drop out, how each model splits credit when they do not, and the setup in Salesforce and HubSpot that puts event touches where the model can count them.
Multi-touch attribution
splits the credit for an opportunity across the recorded touches that led to it, using a model such as first touch, last touch, linear, U-shaped or W-shaped. It can only credit touches stored in the CRM against the people on that opportunity.
Why events disappear from multi-touch attribution
A multi-touch model spreads credit across the touches recorded on the people tied to an opportunity. For a digital campaign, those touches are logged automatically. For an event, most of them happen in other tools:
| Event touch | Where it lives without setup | What the model sees |
|---|---|---|
| Pre-event outreach email | The rep’s sequencer | Nothing, unless the sequence writes back to a campaign |
| Booked meeting at the event | A rep’s calendar | Nothing |
| Booth conversation | A badge scan export, days later | A new Lead with no account and no history |
| Dinner or side event | A spreadsheet of RSVPs | Nothing |
| Post-event follow-up | The rep’s sequencer | An email activity with no event attached |
- 3 weeks before, Replies to the meeting invite. Recorded in Sequencer. Default setup: not counted. Event campaign set up: counted.
- Day 1, Booth meeting. Recorded in Rep's calendar. Default setup: not counted. Event campaign set up: counted.
- Day 1, Booth conversation and note. Recorded in Scan export. Default setup: counted. Event campaign set up: counted.
- Day 2, Attends the dinner. Recorded in RSVP spreadsheet. Default setup: not counted. Event campaign set up: counted.
- Day after, Follow-up and next meeting. Recorded in Sequencer. Default setup: not counted. Event campaign set up: counted.
So the model credits the webinar from 9 months ago and the last email before the demo, and the event that put the buyer in a room with your team gets nothing. Event and RevOps leaders we interviewed describe the same 3 causes: the lead source is overwritten by a later tool, booth leads reach the CRM days after the event without an account, and the opportunity opens months later with nothing linking it back. The real cost of bad event attribution walks through what that does to the budget conversation.
Sourced and influenced pipeline
2 numbers answer 2 different questions, and finance needs both.
- Sourced pipeline is the amount on opportunities the event created. One opportunity has at most one sourcing event.
- Influenced pipeline is the amount on opportunities the event touched. One opportunity can be influenced by several events and campaigns.
The 2 totals will differ. Event attribution models defines sourced, influenced, accelerated and associated pipeline in full.
How each model splits credit for an event-heavy deal
The model you choose decides how much of a deal an event gets, even when every touch is recorded. Here is one opportunity with 6 recorded touches, 3 of them at an event.
| Model | 1. Paid search click | 2. Webinar sign-up, contact created | 3. Pre-event invite reply (event) | 4. Booth meeting (event) | 5. Event dinner (event) | 6. Discovery call, opportunity created | Event touches |
|---|---|---|---|---|---|---|---|
| First touch | 100% | 0% | 0% | 0% | 0% | 0% | 0% |
| Last touch | 0% | 0% | 0% | 0% | 0% | 100% | 0% |
| Linear | 16.7% | 16.7% | 16.7% | 16.7% | 16.6% | 16.6% | 50% |
| U-shaped | 40% | 40% | 5% | 5% | 5% | 5% | 15% |
| W-shaped | 30% | 30% | 3.3% | 3.3% | 3.4% | 30% | 10% |
The event gets nothing under first touch and last touch, 50% under linear, 15% under U-shaped and 10% under W-shaped. The 3 event touches sit in the middle of the cycle, and position-based models weight the ends.
That leads to 2 rules:
- Measure influence with a linear or even-distribution model. It credits every recorded touch, including the ones in the middle.
- Keep the sourced claim in its own field, set by rule. If the opportunity was created from a meeting booked at the event, the event sourced it, whatever the model says.
Multi-touch attribution for events in Salesforce: Campaign Influence
Salesforce attribution for events runs on 3 objects: the Campaign, the Campaign Member and the Opportunity, joined through contact roles.
- One Campaign per event, with a type and the actual cost, so cost per opportunity can be reported. Use child campaigns for a dinner or a sponsored session under the main event.
- Campaign Member statuses for the stage: invited, meeting booked, met at booth, attended dinner, followed up. The status holds only the latest stage, so keep each touch as an activity too: a Task for the booth note, an Event for the meeting.
- Match before you create. A booth scan for someone at an account with an open opportunity should attach to the existing Contact. Match on email first, then domain, then company name, and hold weak matches for review.
- Contact roles on the Opportunity. Customizable Campaign Influence links campaigns to opportunities by matching campaign members against the opportunity’s contact roles. If the buyer you met is not a contact role, the event gets no credit.
- Pick the influence models. The Primary Campaign Source model gives 100% to one campaign. First Touch, Last Touch and Even Distribution are additional models that need Account Engagement. A custom model takes percentages that you or a tool assign.
- Protect the original source. Lock the field that records where a lead first came from, so a later sequence or enrichment import does not overwrite the event.
- Separate fields for the claim. Add Opportunity fields for event-sourced and event-influenced pipeline. Influence models answer “what touched this deal”, and the sourced field answers “which event created it”.
Salesforce event ROI tracking covers the campaign hierarchy and reports in more depth.
Multi-touch attribution for events in HubSpot: attribution reports
HubSpot attribution runs on interactions, contacts and deals, with the campaign as a reporting dimension.
- One HubSpot campaign per event. Associate the pre-event emails, sequences, meeting links, landing pages and lists to it.
- Record the event as a marketing event, with registrations and attendance. HubSpot counts event registration and attendance as interactions in its attribution reports.
- Log booth and dinner contacts against the campaign, with a property for how you met them. A conversation that never reaches HubSpot is invisible to every report.
- Associate contacts to deals. Attribution reports credit the interactions of contacts associated with the deal.
- Pick the model per question. For influence, use linear; U-shaped, W-shaped and time decay favor the ends or the most recent touches. Deal create and revenue attribution reports need Marketing Hub Enterprise; contact create reports work on Professional.
- Deal properties for sourced and influenced pipeline, so the event number sits in a standard deals report beside the rest of the quarter, on any edition.
The guards that keep event attribution accurate
| Guard | Rule | Why |
|---|---|---|
| Attribution window | Credit touches within 90 days before the opportunity | Older touches inflate the claim |
| One sourced claim | Each opportunity has at most one sourcing event | Sourced totals never exceed total pipeline |
| Zero-dollar skip | No credit on opportunities without an amount | They inflate counts and break cost per opportunity |
| Staleness | No credit to deals with no activity for 6 months | A deal with no activity inflates the pipeline figure |
| Free email domains | Do not match gmail.com or outlook.com to an account by domain | One personal address would credit the wrong company |
| Closed deals | No new influence on deals already won or lost | Credit has to come before the outcome |
| Match confidence | Email match is high, domain medium, company name low; review the low ones | A wrong match credits the wrong account |
Report it on a schedule finance can follow
Event pipeline arrives late. Opportunities from a September event can open in November and close the next spring, so one report a week after the event undercounts it.
- Day 2: every touch on the campaignPeople matched to accounts, owners assigned, follow-up sent.
- Day 30: opportunities createdSourced count and amount, first read of influenced.
- Day 90: sourced and influenced pipelineThe number for the QBR, with cost per opportunity.
- Day 180: closed-won and next-year decisionReturn, change format or drop.
The post-event report template turns those reads into one page.
How Luminik writes event attribution
Luminik does this setup for every event, on the day each touch happens:
| Touch | Salesforce | HubSpot |
|---|---|---|
| Person touched at the event | Campaign Member with the latest status | Timeline event on the Contact for each touch |
| Booth note or voice note | Task on the Lead or Contact | Engagement (Note) on the Contact and Deal |
| Booked meeting | Event, linked to the Opportunity | Engagement (Meeting), associated to the Deal |
| Event pipeline | Opportunity fields you choose | Deal properties you choose |
- Matching: each person is matched to the existing account by email, domain or company name, with high, medium or low confidence and a manual override.
- Attribution: sourced, influenced, accelerated and associated pipeline are written within 48 hours from event end, with the guards above applied.
See post-event attribution and ROI, and the Salesforce and HubSpot integration pages for the objects Luminik writes.
Event attribution FAQ
How do you track event attribution in Salesforce?
Create one Salesforce Campaign per event, add every person you touched as a Campaign Member with a status such as invited, met at booth or attended dinner, and add the people you met to Opportunities as contact roles. Campaign Influence then credits the event on each Opportunity it touched, using the model you turn on. Write sourced and influenced pipeline to separate Opportunity fields so the event number is reportable.
How do you track event attribution in HubSpot?
Create a HubSpot campaign per event, record the event as a marketing event with registrations and attendance, associate the emails, meetings and lists for that event, and log booth contacts against it. HubSpot's attribution reports then credit the interactions on contacts associated with each deal. Deal create and revenue attribution reports need Marketing Hub Enterprise.
Which attribution model is best for events?
Use a linear or even-distribution model to measure influence, because it credits every recorded touch, including event touches in the middle of a cycle. Keep a separate sourced field for the event that created the opportunity. First-touch and last-touch models give events no credit unless the event happened to be the first or last touch.
What is the difference between sourced and influenced pipeline?
Sourced pipeline is the amount on opportunities an event created. Influenced pipeline is the amount on opportunities an event touched after they existed, or that it helped create alongside other touches. One opportunity has at most one sourcing event but can be influenced by several.
