Siren

ManualAttributionRequested

Fires when an admin manually attributes a conversion to a specific collaborator, bypassing engagement-based attribution.

Last updated: April 8, 2026

ManualAttributionRequested

Sometimes attribution cannot be determined through tracked engagements. A phone order, a deal closed over email, or a situation where tracking failed all require manual intervention. When an admin manually attributes a conversion to a specific collaborator, the system fires ManualAttributionRequested, bypassing the normal engagement-based attribution flow entirely.

The event is identified as manual_attribution_requested and lives in the Siren\Conversions\Core\Events namespace.

What does this event carry?

The event carries three models that together provide everything the manual attribution listener needs to create conversions without relying on tracked engagements: a Collaborator (who should receive credit), a Transaction (the financial details), and an Opportunity (the attribution context).

use Siren\Conversions\Core\Events\ManualAttributionRequested;

public function handle(Event $event): void
{
    $collaborator = $event->collaborator;
    $transaction = $event->transaction;
    $opportunity = $event->opportunity;
}

Note that unlike most Siren events, the data on this event is accessed through public properties rather than getter methods.

How does this differ from the normal flow?

In the standard conversion pipeline, ConversionInitialized starts from an opportunity and works through engagements to determine which collaborators should receive credit. Manual attribution skips that entire chain. The admin has already decided who gets credit, so the system only needs the collaborator identity, the transaction details, and an opportunity to anchor the conversion to.

This makes ManualAttributionRequested a parallel entry point into the conversion system. It rejoins the standard pipeline once conversions are created, with the same approval, obligation, and fulfillment steps applying from that point forward. For a user-level walkthrough of when and how to use manual attribution, see Manually Attribute a Transaction.

See the Conversion Events overview for how this event fits into the full conversion pipeline.