Attribution on WhatsApp is usually fiction — a last-touch number on a marketing slide nobody believes. SabNode runs multi-touch, last-touch and incremental-lift attribution against the same event spine that powers operations, so the number on the slide matches the number in the warehouse, and both are defensible.
WhatsApp does not give you click IDs. There is no equivalent of gclid or fbclid baked into the message envelope. So when a customer receives a marketing template, taps a button, lands on a checkout, and converts, the link between message and conversion has to be reconstructed from your own data — and most operators reconstruct it badly. They pick a 24-hour last-touch window, attribute everything in it to whatever the most recent send was, and call it done. The marketing slide says WhatsApp drove 47 percent of revenue. Finance does not believe it. Nobody re-runs the analysis with a different model because nobody knows how.
The failure modes are predictable. A customer receives a Marketing template, ignores it, gets an email two days later, clicks through and buys — but the WhatsApp template gets the credit because attribution windows overlap. Or a flow runs every day for a week and conversion is attributed only to the last touch even though the first message was the one that built the intent. Or a holdout campaign proves a 12 percent lift but the slide quotes 38 percent because last-touch is over-counting.
Real attribution acknowledges the messiness. It supports multiple models — last-touch for ops dashboards, multi-touch for marketing planning, holdout-based incrementality for budget decisions — and lets you run them against the same events so the differences are visible and explainable. Then nobody is lying; everyone is just looking at the right model for the right question.
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.
Capabilities
Attribute each conversion to the most recent qualifying touch within a configurable lookback window (default 7 days for marketing, 1 day for transactional). Operator-friendly default for daily dashboards and same-day decisions.
First-touch, linear, time-decay and position-based models run against the same event spine. Configure lookback per model and compare side by side to understand where each model over- or under-credits.
For campaigns and flows with holdouts, compute true incremental lift — treated minus holdout conversion rate with confidence intervals. The honest model that survives scrutiny in finance and board reviews.
Attribute conversions to the specific campaign or flow that drove them, not just the channel. A customer touched by three flows in a week gets credit distributed by the model you select, not assigned arbitrarily to the loudest one.
Cross-channel attribution joins WhatsApp, Instagram, email and web chat touches under the same contact ID. See whether your WhatsApp ROI is real or whether email is doing the heavy lifting hidden behind a last-touch WhatsApp tap.
Configure lookback windows by channel and by event type. Authentication touches usually do not deserve marketing credit; Marketing touches in the last 24 hours probably do. The platform makes the rules explicit.
Attribution model outputs export to BigQuery, Snowflake or Postgres alongside raw events. Your analysts can rebuild the model in dbt if they want to, but the canonical results stay defensible and consistent across teams.
Use cases
A D2C growth team runs holdout-tested attribution across WhatsApp, Instagram DM and email. The honest lift number reallocates a six-figure quarterly budget toward WhatsApp Marketing templates after proving a 14 percent incremental lift versus last-touch's 38 percent.
A B2B SaaS reviews flow performance with multi-touch attribution rather than last-touch. The onboarding flow gets first-touch credit it deserves on conversions weeks later, justifying continued investment in onboarding copy and flow design.
An edtech CFO asks for channel ROI. The attribution dashboard shows last-touch, multi-touch and incremental lift side by side, with the gaps explained. The CFO signs off on the WhatsApp budget once the lift number is reconciled against the ledger.
An e-commerce brand runs a campaign with an A/B split and a holdout. Attribution shows arm A drove a 7 percent incremental lift versus arm B's 2 percent. Arm A is promoted to 100 percent for the next campaign without internal debate.
A developer attributes site visits and bookings to the specific outbound message and broker that touched the lead. Multi-touch model credits both the initial brochure send and the broker's follow-up, ending arguments about which message moved the lead.
How it works
Attribution is included on every SabNode workspace. No separate billing, no extra setup, flip it on from your workspace settings.
Pick the conversion — a purchase, a payment, a signup, a reply, a custom webhook. Events can be defined per business and per campaign goal.
Enable last-touch, multi-touch (first, linear, time-decay, position) and incremental lift where holdouts exist. Each runs in parallel against the same data.
Configure lookback windows per channel and event eligibility (which touches qualify). Authentication usually does not qualify for marketing credit.
See revenue and conversions by campaign, flow, channel and segment under each model. Drill into a campaign to see the underlying touches and paths.
Export model outputs to your warehouse for finance reconciliation. Use incremental lift for budget reallocation and last-touch for daily operations.
Connect directly with your existing stack or leverage the Platform Core tools to extend capabilities natively.
Enhance this feature with deep integrations into our core infrastructure. Connect via API, utilize webhooks, or embed directly using our SDKs.
Manage all settings seamlessly within the core UI.
Extend functionality with custom automated workflows.
No credit card. No sales call required. Spin up a workspace, plug in a number, and your team is live in under an hour.