SabNode Attribution runs against the same event spine that powers operations and warehouse exports. Every message touch, every flow entry, every campaign exposure and every conversion event lives in one canonical store keyed by the contact, so attribution joins are trivial and consistent. You do not need to stitch identities across systems — the same contact ID flows through marketing, inbox, flows, payments and CSAT.
Multiple models run side by side. Last-touch attributes the conversion to the most recent qualifying touch within the lookback window. First-touch credits the earliest. Linear distributes credit evenly across all touches. Time-decay weights more recent touches higher. Position-based gives 40 percent each to first and last touches and distributes 20 percent across middle touches. Each model is configurable for lookback window and touch eligibility (which channels, which campaign types qualify).
Incremental lift is the gold standard, available where you ran a holdout. Multi-step campaigns and flows that include a holdout group produce a clean lift estimate — treated conversion rate minus held-out conversion rate, with confidence intervals. The lift number is the closest you can get to "this is what the campaign actually caused" rather than "this is what correlated with the campaign". Where holdouts are not available, multi-touch is the next-best honest model.
Reporting is operator-friendly. The attribution dashboard surfaces revenue and conversions by campaign, flow, channel and segment under each model side by side, so the gap between last-touch and incremental lift is visible. Drill into a campaign to see the underlying touches, the contacts attributed and the conversion paths. Export the model output to BigQuery or Snowflake for your finance team to reconcile against ledger truth.