Stop guessing which message drove the sale
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.
- Multi-touch, last-touch and lift models
- Attribution at campaign, flow and channel level
- Configurable lookback windows and decay
- Holdout-based incrementality on supported campaigns
Attribution on WhatsApp is mostly storytelling
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.
Attribution, in depth.
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.
Everything you get with Attribution.
Last-touch attribution
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.
Multi-touch models
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.
Incremental lift
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.
Campaign and flow attribution
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.
Channel attribution
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.
Lookback and decay control
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.
Warehouse-grade exports
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.
Built for the way teams actually work.
Quarterly budget reallocation
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.
Flow performance review
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.
Channel ROI for the CFO
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.
Campaign A/B winner promotion
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.
Real-estate broker performance
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.
From signup to first send in minutes.
Attribution is included on every SabNode workspace. No separate billing, no extra setup — flip it on from your workspace settings.
- 01
Define a conversion event
Pick the conversion — a purchase, a payment, a signup, a reply, a custom webhook. Events can be defined per business and per campaign goal.
- 02
Pick attribution models
Enable last-touch, multi-touch (first, linear, time-decay, position) and incremental lift where holdouts exist. Each runs in parallel against the same data.
- 03
Set lookback and rules
Configure lookback windows per channel and event eligibility (which touches qualify). Authentication usually does not qualify for marketing credit.
- 04
View attribution dashboard
See revenue and conversions by campaign, flow, channel and segment under each model. Drill into a campaign to see the underlying touches and paths.
- 05
Reconcile and decide
Export model outputs to your warehouse for finance reconciliation. Use incremental lift for budget reallocation and last-touch for daily operations.
Works with the tools you already ship on.
Connect directly with your existing stack, or use the platform APIs and webhooks to extend it natively.
- Shopify
- Stripe
- Razorpay
- HubSpot
- Salesforce
- BigQuery
- Snowflake
- Mixpanel
Platform core tools
Enhance this feature with deep integrations into our core infrastructure. Connect via API, use webhooks, or embed directly with our SDKs.
Unified dashboard apps
Manage every setting inside one workspace UI.
Developer APIs and webhooks
Extend functionality with custom automated workflows.
Why does my last-touch attribution number differ so much from incremental lift?
Which model should I use for budget decisions?
How are touches across channels reconciled?
What counts as a qualifying touch?
How is the holdout for incremental lift different from a campaign A/B?
How fast does attribution show up on the dashboard?
Can I rebuild attribution in dbt against the raw events?
Stronger when stacked.
Ship attribution into production this week.
No credit card. No sales call required. Spin up a workspace, plug in a number, and your team is live in under an hour.