// Module 12 — Supporter Intelligence
Every conversation leaves a signal. Here's what you can do with it.
Every conversation tells you something. Here's what you can do with it.
LINAsystems doesn't just answer questions — it pays attention. Every chat and phone turn is classified for intent and sentiment at conversation time. Those signals accumulate into enriched supporter profiles, get distilled into segment personas, feed attribution analytics, and power deterministic A/B experiments — without storing a single message, and without adding latency to a single reply.
LINAsystems doesn't just answer questions — it pays attention. Every chat and phone turn is read for what the person wants and how they feel, the moment it happens. Those signals build up into a fuller picture of each supporter, get sorted into simple groups, feed reports on where people come from, and power side-by-side tests — without storing a single message, and without slowing down a single reply.
← Back to the platform overview
// The sensing layer
Intent and sentiment, classified per turn — no message text stored.
What people want and how they feel, read turn by turn — no message text saved.
The intent engine runs on every public chat and phone turn, in the same call that produces the bot's reply. It is a pure classifier — keyword-heuristic, no LLM, no additional latency — that labels each turn with an intent category and a sentiment direction. The labels are stored; the message text is not. This is the sensing layer everything downstream reads: profiles, personas, and dispatch all consume these derived signals, never the raw conversation.
A simple checker runs on every public chat and phone turn, in the same step that produces the bot's reply. It looks for keywords — no AI model, no extra delay — and tags each turn with a category for what the person wants and a direction for how they feel. The tags are saved; the actual message text is not. This is the base layer everything else reads from: profiles, groups, and the task list all use these tags, never the raw conversation.
Privacy by design: the intent store records only derived labels (e.g., volunteer, positive) plus an opaque session or call ID. No message text, no name, no phone, no email enters the sensing layer. PII stays in the CRM; signals stay in the signal store — separate, always.
Privacy by design: the tag store keeps only the tags themselves (for example, volunteer, positive) plus a random session or call ID. No message text, no name, no phone number, no email ever enters this layer. Personal info stays in your CRM; tags stay in their own store — always kept apart.
Intent categoriesinterested — expressed general interest in the organization or its work. volunteer — expressed volunteer intent. donor — expressed donation intent. urgent — expressed urgency or time-sensitive need. hostile — aggressive or abusive turn (triggers escalation guard).interested — said something showing general interest in the organization or its work. volunteer — said they want to volunteer. donor — said they want to donate. urgent — said something time-sensitive or urgent. hostile — an aggressive or abusive message (this brings in a human right away).
Sentiment directionpositive, negative, or neutral — measured independently of intent. A supporter can be both positive and urgent, or hostile and negative, or interested with no sentiment signal.positive, negative, or neutral — tracked separately from what they want. A supporter can be both positive and urgent, or hostile and negative, or interested with no particular feeling attached.
PrecedenceWhen multiple signals fire in a single turn, intent precedence is: hostile > urgent > donor > volunteer > interested. The highest-priority signal wins and is what gets stored — preventing a noisy text from creating false composite profiles.When more than one tag could apply to the same turn, this is the order that wins: hostile > urgent > donor > volunteer > interested. The most important tag is the one that gets saved — so one confusing message can't create a misleading profile.
Fail-openA classification error or write failure never propagates to the chat or phone hot path. The sensing layer is observe-only — it changes no bot reply and fires no alert on its own.If the tagging step fails or can't save, it never breaks the chat or phone call itself. This layer only watches — it never changes a bot's reply and never sends an alert on its own.
// Supporter profiles
One enriched profile per supporter, built from signals across chat and phone.
One full profile per supporter, built from what they do across chat and phone.
The supporter store holds one record per person, keyed by email then phone then session ID. As a supporter chats and calls, the record accumulates: session count, call count, channels they've used, last-seen timestamp, donation status, and the intent history from the sensing layer. The profile is the join of CRM identity and observed behavior — a richer view than either alone, without requiring manual tagging by your team.
The supporter store holds one record per person, matched first by email, then phone, then session ID. As a supporter chats and calls, their record fills in over time: how many sessions, how many calls, which channels they've used, when they were last seen, whether they've donated, and the history of tags from the sensing layer. The profile combines who they are (from your CRM) with what they actually do — a fuller picture than either gives you alone, and your team never has to tag anything by hand.
- Cross-channel deduplication. A person who chats on Tuesday and calls on Thursday is the same record — deduplicated by email, then phone, then session — not two separate contacts.No duplicate contacts. A person who chats on Tuesday and calls on Thursday is treated as the same record — matched by email, then phone, then session — not as two separate people.
- Behavioral signals, not just demographics. The profile includes how many times they've engaged, what channels they used, and what they expressed intent about — observable behavior, not just contact fields.What they do, not just who they are. The profile tracks how many times they've engaged, which channels they used, and what they've said they want — real behavior, not just name and contact fields.
- Automatic, not manual. Profiles are enriched in real time as conversations happen — your team doesn't tag or categorize; the system observes and records.Automatic, not manual. Profiles fill in on their own as conversations happen — your team never has to tag or sort anything; the system just watches and records.
- Lifecycle tracking. First-seen, last-seen, engagement depth, and channel spread let you distinguish a first-time visitor from a high-frequency repeat contact at a glance.Lifecycle tracking. When they were first seen, when they were last seen, how engaged they are, and which channels they use — so you can tell a first-time visitor from a frequent repeat contact at a glance.
// Personas
Durable segment labels — derived from patterns, not assigned by hand.
Lasting group labels — found in patterns, never assigned by hand.
Personas are the distillation of a supporter's profile into a compact, durable label you can act on. They're derived automatically from the combination of intent history, engagement depth, and channel spread — no manual tagging, no survey, no import required. A persona isn't a guess; it's a pattern the system observed across multiple conversations. And because they're derived from live signals, they update as a supporter's behavior changes.
Personas boil a supporter's whole profile down into one short, lasting label you can act on. They're worked out automatically from their tag history, how engaged they are, and which channels they use — no manual tagging, no survey, nothing to import. A persona isn't a guess; it's a pattern the system actually observed across several conversations. And because it's based on live signals, the label updates as a supporter's behavior changes.
High-intentSupporters who have expressed donor or volunteer intent across multiple turns or sessions — the highest-priority segment for outreach follow-up.Supporters who've said they want to donate or volunteer, more than once — the top-priority group for your team to follow up with.
Multi-channelSupporters who have engaged across two or more channels (chat, phone, email). Multi-channel supporters tend to be more deeply invested — and more likely to respond to follow-up.Supporters who've reached out through two or more channels (chat, phone, email). They tend to be more invested — and more likely to respond when you follow up.
At-riskSupporters who have disengaged after prior high-intent activity — expressed interest followed by silence. Flagged in the dispatch board as a potential lapse to address.Supporters who went quiet after showing real interest before — they spoke up, then nothing. Flagged on the task list as a possible lapse worth addressing.
Repeat callerSupporters with disproportionately high call frequency relative to chat activity — useful for prioritizing phone-channel follow-up and staffing decisions.Supporters who call far more often than they chat — useful for deciding who to prioritize on the phone and for staffing decisions.
Derived, not assignedPersonas are computed at read time from the current state of the profile — they update automatically as signals accumulate, without requiring a batch job or manual re-segmentation.Personas are worked out fresh each time, from the profile's current state — they update on their own as more signals come in, with no batch job and no manual re-sorting needed.
// Attribution
Channel reach, overlap, and conversion — reported honestly.
How far you reach, where people overlap, and what converts — reported honestly.
The attribution module answers the questions campaign managers and business operators actually ask: how many people have we reached by channel, how many are on multiple channels, and what does engagement depth look like across the base? Attribution is built on the supporter store — it rolls up observable facts, not modeled inferences — and it surfaces a measurement caveat where one is warranted.
This reporting tool answers the questions campaign managers and business operators actually ask: how many people have we reached on each channel, how many are on more than one, and how engaged is our base overall? It's built directly from the supporter store — it adds up real, observed facts, not a model's guess — and it tells you plainly when a number needs a caveat.
- Channel reach. Unique supporters reached by each channel — chat, phone, email — with the overlap count for multi-channel supporters who appear in two or more.Channel reach. How many distinct supporters you've reached on each channel — chat, phone, email — plus how many show up on two or more.
- Engagement depth. Distribution of supporters by engagement level — one session, five sessions, ten-plus — so you can distinguish a broad shallow reach from a smaller deeply-engaged base.Engagement depth. How many supporters fall into each level of engagement — one session, five sessions, ten or more — so you can tell a wide, shallow reach apart from a smaller, deeply engaged group.
- Conversion tracking. Donation and volunteer conversion rates by channel, with an explicit measurement caveat: because most donations are captured by phone, phone-attributed conversion rates will look higher than email or chat — this is a channel-mix artifact, not a ranking. The caveat is surfaced in the report rather than suppressed.Conversion tracking. Donation and volunteer rates by channel, with an honest heads-up: since most donations come in by phone, phone numbers will look better than email or chat — that's just how the channels mix, not a real ranking of which is "best." The report says this plainly instead of hiding it.
- No modeled attribution. Attribution is a rollup of facts in the supporter store — last-channel-seen before a conversion, engagement history — not a probabilistic model. What you see is what was observed.No guesswork. These numbers are a roll-up of real facts already in the supporter store — last channel seen before a conversion, engagement history — not a model's prediction. What you see is exactly what happened.
// Experiments
A/B testing — deterministic assignment, default-off, zero latency.
A/B testing — the same visitor always gets the same version, off by default, no slowdown.
The experiments engine lets you run controlled tests on chat and phone content — different opening messages, different escalation thresholds, different follow-up timing — with statistically defensible assignment and conversion rollup. Assignment is a pure deterministic hash of the session ID, so the same visitor always sees the same variant, with no storage and no latency penalty per assignment. Experiments are off by default and each test is explicitly enabled by an operator.
This tool lets you run controlled tests on chat and phone content — different opening messages, different points where a human gets pulled in, different timing for follow-up — with a sound way to split visitors and tally results. Each visitor is sorted into a group using a fixed calculation based on their session ID, so the same visitor always sees the same version, with nothing extra stored and no added delay. Tests are off until your team turns one on.
Deterministic assignment means there's nothing to sync between services. A session that spans multiple turns always resolves to the same variant — not because there's a database call per turn, but because the hash is stable. No cookies, no session lookup, no latency.
Because the grouping is calculated, not stored, there's nothing to keep in sync between services. A session with many back-and-forth turns always lands on the same version — not because of a database lookup each time, but because the calculation gives the same answer every time. No cookies, no session lookup, no delay.
- Default-off. The experiment engine is present but inert until an operator explicitly enables a test. Enabling outbound engagement or supporter intelligence does not implicitly enable experiments.Off by default. The testing tool is there but does nothing until your team turns a test on. Turning on outbound engagement or supporter intelligence does not also turn on testing.
- Deterministic assignment. Variant assignment is a pure hash of the session ID — stable across turns, across channels, with no storage cost and no per-turn lookup.Consistent grouping. Which version a visitor sees is worked out from their session ID — it stays the same across turns and channels, with nothing extra to store and no lookup needed each turn.
- Conversion rollup. The experiment store joins exposure records to conversion events by session ID, so you get conversion rates by variant, not just exposure counts.Results that connect. The system matches who saw each version to who actually converted, by session ID — so you get real conversion rates per version, not just how many people saw it.
- Ring-capped exposure store. Exposure rows are ring-capped to prevent unbounded growth — consistent with the rest of the platform's storage model.Storage stays bounded. The list of who-saw-what is capped so it can't grow forever — the same storage approach used everywhere else in the platform.
- Live-content variation hook. A hook for varying live chat content by assigned variant is documented and available — but is not wired to the live content override by default, so test traffic can't inadvertently alter your production site content.Ready for live content tests. There's a documented way to vary live chat content by version, but it's not turned on by default — so test traffic can't accidentally change your real site content.
// Dispatch board
One view of everything that needs a human — across every surface.
One list of everything that needs a person's attention — from every channel.
The Dispatch board is the cross-surface "needs a human" rollup: escalations from chat, callbacks from phone, at-risk supporters flagged by the intent layer, and messages awaiting approval in the send queue — in one place, with one count, so your team knows what to work on the moment they log in. Each source is fail-safe: a broken source counts zero, never breaks the board.
The Dispatch board pulls together everything that needs a human, from every channel: chat hand-offs, phone callbacks, at-risk supporters flagged by the tagging layer, and messages waiting for approval in the send queue — all in one place, with one count, so your team knows exactly what to work on the moment they log in. If any one source breaks, it just counts as zero — it never breaks the whole board.
- Cross-surface aggregation. Chat escalations, phone callbacks, flagged intent, and send-queue approvals are counted together — not spread across four separate panels.Everything in one place. Chat hand-offs, phone callbacks, flagged supporters, and pending approvals are all counted together — not spread across four separate panels.
- Fail-safe sources. If any data source returns an error (stale file, network issue), it contributes a zero to the count — the board always renders, never errors out.Built to keep working. If any one source has a problem (an outdated file, a network hiccup), it just counts as zero — the board still loads and never breaks.
- Live-reload. The dispatch count is fetched fresh on each Command Center load, so operators see the current state without having to refresh a separate panel.Always current. The count is refreshed every time the dashboard loads, so your team sees what's true right now without refreshing a separate panel.
- Linked to alerts. The same events that surface in the dispatch board can be configured to fire Smart Alerts over email or Telegram — so your team gets notified even when they're not logged in.Linked to alerts. The same things that show up on the dispatch board can also be set to send Smart Alerts by email or Telegram — so your team finds out even when they're not logged in.
// Editions & availability
Available as an add-on module.
Available as an add-on.
Supporter Intelligence is an advanced add-on module for both the Campaign and Business editions. Once it's enabled on your install, the sensing layer runs on every chat and phone turn — no configuration required to start collecting signals; attribution, personas, and experiments are opt-in from there. It isn't on the standard bundle sheet, so contact us to add it and we'll scope it to your account:
Supporter Intelligence is an advanced add-on for both the Campaign and Business editions. Once it's turned on for your install, the sensing layer runs on every chat and phone turn right away — no setup needed to start collecting signals; reporting, groups, and testing are each opt-in from there. It's not part of the standard package, so contact us to add it and we'll scope it to your account:
Campaign
Supporter & voter intelligence
Supporter & voter insight
Track voter and supporter intent across chat and phone. Identify high-intent volunteers and donors. Attribute engagement across your channels with honest conversion caveats. Run A/B tests on voter-facing content. Use the dispatch board to prioritize follow-up on the supporters most likely to convert.
Track what voters and supporters want, across chat and phone. Find the volunteers and donors who are most ready to act. See where engagement is coming from across your channels, with honest notes on the numbers. Run A/B tests on content voters see. Use the dispatch board to prioritize follow-up with the supporters most likely to convert.
Business
Customer intelligence
Customer insight
Track customer intent across support chat and the phone front desk. Surface repeat callers and multi-channel customers. Attribute inbound volume and conversions by channel. Run experiments on support messaging. Use dispatch to triage the customers who need attention before they churn.
Track what customers want, across support chat and the phone front desk. Spot repeat callers and customers who use more than one channel. See where incoming volume and conversions come from, by channel. Run tests on your support messaging. Use dispatch to triage the customers who need attention before they leave.
// Live demo
See the platform answering real questions right now
Watch it answer real questions, right now
The live demo runs the exact system that ships to customers — try it as a campaign or as a business.
This demo is the exact same system real customers get. Try it set up as a campaign or as a business.