Grow
How to attribute meetings when agents touch every step
When every agent can claim the meeting, nobody owns the pipeline. Attribute the node, the signal, and the human override.
September 28, 2026

How to attribute meetings when agents touch every step
Last-touch attribution dies the week you staff more than one agent.
Research agent enriches. Routing agent picks the sequence. Draft agent writes the note. Send agent hits the ESP. A human edits one line. The meeting books. Six systems try to take credit. Your dashboard lights up like a slot machine.
If every agent can claim the meeting, nobody owns the pipeline.
Why does multi-agent GTM break vanity attribution?
Because last touch was already a lie, and agents made the lie faster.
Vanity metrics love activity. Tasks completed. Research complete. Sequences enrolled. Agent "wins." None of that is a meeting. Salesforce still puts about 27% of reps at quota. Counting agent tasks while the calendar is empty is how you congratulate yourself into a miss.
AI as operator changes state. It also leaves fingerprints. If you do not write those fingerprints back to the CRM, every node invents its own story. Grow becomes a blame market.
What do you write back on every meeting?
Three fields. Non-negotiable.
- Which agent or node. Research, enrich, draft, send, score. Named. Not "AI helped."
- Which signal. De-anon, G2, competitor LinkedIn, job change, buying-window score. The trigger that put them in queue.
- Which human override. Who edited, approved, or skipped a rail. Empty means full automation. Filled means a person touched it.
That is the same discipline as CRM data rules and write-back. Agents that act without write-back are ghosts. Ghosts cannot be managed.
How should you score the meeting?
Meetings and SQL. Not task counts.
Measure meetings from signal sends is the Grow scoreboard. Pair held meetings with sales-qualified outcomes. If the research agent "completed" 4,000 rows and you booked six meetings, the agent did not win. The motion that produced six meetings won. Attribute the path: signal → node chain → human override → meeting → SQL.
Ehrenberg-Bass / LinkedIn B2B Institute: about 95% of buyers are out of market. Attribution that credits spray into the 95% teaches the stack to do more of the wrong thing. Credit the path that hits the 5% and books.
What breaks if you skip this?
Three failure modes I see on every multi-agent stack.
Credit fighting. The send agent claims every booked meeting because it was last. The research agent claims every booked meeting because the note used its facts. RevOps cannot reconcile. Budget follows the loudest log.
Silent human work. An AE rewrites the opener and books. The dashboard still says "agent closed." You scale the agent and lose the rewrite. Pipeline dips. Nobody knows why.
Orphan signals. Meetings book with no signal ID. You cannot tell whether G2, de-anon, or a cold list paid. Next quarter you buy more of whatever vendor had the best slide.
What should I ship Monday?
Add three custom fields on the meeting or opportunity object: agent_node_path, source_signal_id, human_override_by. Require them on any meeting created from an outbound or agent-assisted flow. Block "closed won attribution theater" reports that ignore those fields.
Then run one week of meetings through a single table: signal, nodes, override, meeting held, SQL yes/no. If a row cannot fill the first three columns, the write-back rail is broken. Fix that before you buy another agent seat.
Now some of you are thinking: we will do multi-touch models later. Fine. Later is not a reason to ship blind agents now. Simple write-back beats a fancy model on empty data.
Adapt or fail. Own the path or the path owns you.
FAQ
Is this first-touch or last-touch attribution?
Neither as a religion. It is path logging. You record signal, agent nodes, and human override so you can analyze first, last, or assisted later. Without the log, every model is fiction.
Should every agent get equal credit?
No. Credit the path that produced the meeting and SQL. Use the log to learn which nodes are necessary. Do not split credit like a participation trophy.
What if a human books off a warm intro with no agent?
Leave agent fields empty. Mark source as human/referral. Mixing warm intros into agent dashboards is how you inflate agent ROI.
Do I need a data warehouse for this?
Not on day one. CRM fields plus a weekly export is enough to see whether write-back works. Warehouse later if volume earns it.
How does this fit Signals, Convert, Grow?
Signals owns the trigger ID. Convert owns the first-touch and override. Grow owns whether meetings and SQL get attributed cleanly so you scale the path that works.
Frequently asked questions
- Is this first-touch or last-touch attribution?
- Neither as a religion. It is path logging. You record signal, agent nodes, and human override so you can analyze first, last, or assisted later. Without the log, every model is fiction.
- Should every agent get equal credit?
- No. Credit the path that produced the meeting and SQL. Use the log to learn which nodes are necessary. Do not split credit like a participation trophy.
- What if a human books off a warm intro with no agent?
- Leave agent fields empty. Mark source as human/referral. Mixing warm intros into agent dashboards is how you inflate agent ROI.
- Do I need a data warehouse for this?
- Not on day one. CRM fields plus a weekly export is enough to see whether write-back works. Warehouse later if volume earns it.
- How does this fit Signals, Convert, Grow?
- Signals owns the trigger ID. Convert owns the first-touch and override. Grow owns whether meetings and SQL get attributed cleanly so you scale the path that works.