SabNode
    ProductsFeaturesEnterpriseCustomersPartnersResourcesPricing
    AllConversationsAutomationCustomer DataGrowthAnalyticsCommerceDeveloperExplore products
    1. Home
    2. Features
    3. Analytics
    4. Attribution
    Analytics · Attribution

    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
    Feature signature
    SabNode . Analytics
    Attribution

    See which flow, campaign or channel actually drove the outcome.

    Live
    5
    Attribution models running side by side on the same data
    12–18%
    Typical incremental lift on WhatsApp Marketing broadcasts
    <24 hr
    Lag from conversion event to attributed credit
    The problem

    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.

    What it is

    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.

    Capabilities

    Everything you get with Attribution.

    7 capabilities
    01

    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.

    02

    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.

    03

    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.

    04

    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.

    05

    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.

    06

    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.

    07

    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.

    Use cases

    Built for the way teams actually work.

    D2CCase 01

    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.

    SaaSCase 02

    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.

    EdTechCase 03

    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.

    E-commerceCase 04

    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 EstateCase 05

    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.

    How it works

    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.

    1. 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.

    2. 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.

    3. 03

      Set lookback and rules

      Configure lookback windows per channel and event eligibility (which touches qualify). Authentication usually does not qualify for marketing credit.

    4. 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.

    5. 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.

    Plays well with

    Works with the tools you already ship on.

    Connect directly with your existing stack or leverage the Platform Core tools to extend capabilities natively.

    ShopifyStripeRazorpayHubSpotSalesforceBigQuerySnowflakeMixpanel

    Platform Core Tools

    Enhance this feature with deep integrations into our core infrastructure. Connect via API, utilize webhooks, or embed directly using our SDKs.

    • Unified Dashboard Apps

      Manage all settings seamlessly within the core UI.

    • Developer APIs and Webhooks

      Extend functionality with custom automated workflows.

    Frequently asked

    Questions about Attribution.

    Can't find what you're looking for? Talk to our team.

    Why does my last-touch attribution number differ so much from incremental lift?
    Last-touch credits every conversion in the lookback window to the most recent touch, which over-counts touches that happened near the conversion but did not cause it. Incremental lift compares treated and held-out audiences, which isolates true causation. The gap is real — a 38 percent last-touch share might be a 14 percent incremental lift, and the gap is mostly customers who would have converted anyway.
    Which model should I use for budget decisions?
    Incremental lift where you have a holdout. Multi-touch (time-decay or position-based) where you do not. Last-touch is fine for daily ops dashboards where the question is "who did we touch today" rather than "what did the touch cause". The dashboard surfaces all three side by side so you can pick the right one for the question.
    How are touches across channels reconciled?
    Through the shared contact ID. Every WhatsApp send, Instagram DM, email open and web chat session is keyed by the same canonical contact, so a customer touched by three channels in a week has all three touches available to whichever attribution model you run. Identity resolution is at the contact level, not at the channel level.
    What counts as a qualifying touch?
    Configurable per channel. By default, Marketing template sends qualify for marketing attribution; Authentication and most Utility sends do not. Email opens, link clicks and replies all qualify. You can override these defaults per campaign — for example, a transactional Utility template that included a soft-cross-sell might be promoted to qualify for attribution credit.
    How is the holdout for incremental lift different from a campaign A/B?
    A campaign A/B compares two treatment arms (e.g., copy A vs copy B). A holdout compares the treated audience against an audience that received zero campaign messages. Both are valuable but they answer different questions: A/B says "which variant is better"; holdout says "did the campaign cause anything at all". Together they tell you which arm is best and how much it moved the needle absolutely.
    How fast does attribution show up on the dashboard?
    New conversions are attributed within minutes. Models that depend on a full lookback window (e.g., 7-day multi-touch) stabilise as the window completes — a conversion attributed on day 1 might have its model output adjusted as later touches fall outside the window. The dashboard shows both the immediate and the stabilised number with a small icon explaining the difference.
    Can I rebuild attribution in dbt against the raw events?
    Yes. The warehouse export includes every event the attribution engine sees, with documented schema and stable IDs. Analysts who want to rebuild the model in dbt or run custom analyses (e.g., Shapley value attribution, Markov chain models) can do so against the same canonical data. The platform-computed result is the reference; analysts replicate or extend.
    Related features

    Stronger when stacked.

    Browse every feature
    Multi-step Campaigns
    A/B arms, holdouts and attribution baked in.
    Read more
    Dashboards
    Sent, delivered, read, failed — split by channel, campaign and team.
    Read more
    Exports & Warehouse
    Download raw events, CSV exports or sync to BigQuery, Snowflake, Postgres.
    Read more
    A/B Testing
    Split traffic across flow variants. Pick the winner automatically.
    Read more
    Analytics · Attribution

    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.

    Start free Book a demoSee pricing
    SabNode

    SabNode is the operating layer for customer conversations. Chat, automation, CRM, broadcasts, commerce and AI in one workspace.

    Talk to sales
    Conversations
    Browse
    Automation
    Browse
    Customer Data
    Browse
    Growth
    Browse
    © 2026 SabNode. All rights reserved.
    PrivacyTermsStatusContact