Every cross channel marketing platform sells the same picture: one canvas, every channel, a customer gliding from email to SMS to push to a retargeting ad without ever noticing the seams. The picture is mostly honest. Modern orchestration tools are good at coordinating outbound messages. What it leaves out is the one channel that runs the other way — the visitor on your site right now, typing a question into a chat box. We build a self-hosted chat layer for exactly that moment, so treat us as an interested party. The gap is still real, and it is structural rather than a missing feature.
This guide covers what a cross channel marketing platform actually is, the four distinct product categories that get sold under one label, why the metering unit — not the sticker price — decides your bill, and where campaign attribution quietly dies. It is a buyer’s guide, not a pitch. The product section is clearly marked, and it does not tell you to replace your orchestration tool.
What Cross-Channel Marketing Software Actually Is
Three terms get used interchangeably in vendor copy, and they describe genuinely different architectures.
Multichannel means you operate several channels that do not talk to each other. Email lives in one tool with one list, SMS in another with its own database, social in a third. A customer who unsubscribes from email keeps getting texts, because nothing connects the two records. Most companies start here by accident, not by design.
Cross-channel means two or three of those channels are wired together so an action on one can trigger a follow-up on another. Cart abandoned, email sent, no open after 24 hours, SMS fires. That is the defining behaviour: conditional handoff between a selected set of channels. Crucially, it does not mean every channel shares one customer record. The connections are deliberate and partial.
Omnichannel means all channels resolve to a single unified customer profile, and context follows the person everywhere. It is the expensive end. Our comparison of omnichannel software categories goes through what that costs in practice.
So cross channel marketing software deliberately occupies the middle. That is a sensible engineering trade-off — unifying every channel on shared data is a multi-year data project, and most teams do not need it. But the middle position is also exactly why the gaps exist. Channels that were not on the original connection list stay outside the system. They are not broken; they were never wired in. Live inbound conversation is almost always one of them, because the whole model is built around messages you initiate, not messages a stranger initiates on your own domain.
The Four Layers Sold as One Category
Buyers usually think they are comparing one category. They are comparing four, and the four do different jobs.
Engagement and messaging platforms. Braze, Iterable, MoEngage. These own the send: journey builders, segmentation, email, push, in-app, SMS, frequency capping. They are excellent at deciding who gets which message when. They are not systems of record, and they generally assume your customer data arrives from somewhere else.
Automation suites anchored to a CRM. HubSpot, Marketo, Salesforce Marketing Cloud, ActiveCampaign. These bundle the contact database with the sending engine, which is why they feel simpler to buy. The trade-off is that the contact record is the product, and that has direct pricing consequences covered below. Channel depth outside email and forms is usually shallower than the pure-play engagement tier.
Attribution and analytics aggregators. Improvado and similar. These do not send anything. They pull spend, impression and conversion data out of your ad platforms and marketing tools, normalise it, and hand you a reporting layer. They tell you what happened. They cannot act on it.
Cross-channel advertising platforms and DSPs. StackAdapt and peers. A cross channel advertising platform buys media — display, native, CTV, audio — across inventory sources with shared audience targeting. It is orchestration of paid reach, not of owned relationships. It is frequently mistaken for the first category because both use the word “channel” heavily.
Most functioning programmes end up with one product from each layer, not a single all-in-one. That is worth internalising before you sit through six demos: you are assembling a stack, and the interesting question is what falls between the pieces. We cover more of that tooling landscape across the blog.
The Pricing Metric Decides Your Bill
When you price a cross channel marketing platform, the question that matters is not “how much.” It is “what are we being metered on.” Four models dominate, and each one pushes your behaviour in a specific direction.
Contacts or profiles. HubSpot, Marketo, Klaviyo, ActiveCampaign, Customer.io. You pay for records stored, whether or not those records ever open anything. Practical consequence: a dormant list costs full price. List hygiene stops being an email-deliverability chore and becomes a line item. Teams on this model tend to purge aggressively right before renewal, which is the right economic move and an awkward one operationally.
Monthly active users. Insider, Braze. You pay for people who actually engaged in the billing period. This is fairer to companies with large dead lists, and brutal in a good month. A viral spike, a PR hit, a seasonal peak — all of these arrive as a bill you did not forecast. Budgeting on MAU means budgeting on your best case, not your average.
Send volume. Salesforce Marketing Cloud, Oracle Responsys, often expressed as contacts multiplied by sends. Practical consequence: frequency capping becomes a budget decision rather than a customer-experience decision. That is a bad incentive structure hiding inside a pricing page, and it quietly shapes campaign design for years.
Events and usage add-ons. Layered on top of the above almost everywhere. API calls, computed attributes, extra channels, data warehouse sync. This is where the quote you approved and the invoice you receive diverge.
Run the same forecast through all four models before you shortlist. The ranking flips depending on your engagement rate. A company with 400,000 contacts and 6% monthly engagement gets a very different answer than one with 40,000 contacts and 60% engagement. Budget framing for the wider stack is covered in our piece on marketing strategy software costs.
What Published Pricing Looks Like in 2026
Few vendors in this space publish numbers at all. The figures below are published starting prices at the time of writing, gathered from vendor pricing pages. They move, sometimes quarterly, and entry tiers routinely exclude channels you will assume are included. Verify directly with the vendor before you build a model on any of them.
| Platform | Metering unit | Published starting price |
|---|---|---|
| Klaviyo | Active profiles | Free up to 250 contacts; paid from about $20/mo, scaling on active profiles |
| ActiveCampaign | Contacts | From about $15/mo depending on contact count; entry tier excludes SMS and some omnichannel features |
| Omnisend | List size | Free tier available; paid roughly $0–59/mo at small list sizes |
| Customer.io | Profiles | Essentials from about $100/mo for 5,000 profiles, including up to roughly 1M email sends/mo with fair-use limits on other channels |
| HubSpot Marketing Hub | Seats + marketing contacts | Starter from about $15/seat/mo; Professional around $800/mo; Enterprise around $3,600/mo, each with a marketing-contact allotment and increments billed on top |
Two things to notice. First, the spread between the bottom and top of this published tier is roughly two orders of magnitude, and the products are not two orders of magnitude apart in capability — a lot of that delta is governance, permissions, support and integration breadth. Second, look at the HubSpot line specifically: it meters on two axes at once. Seats and marketing contacts move independently, and both of them grow. Dual-axis metering is the most common reason a bill looks nothing like the quote a year later.
The entry tiers are also where cross channel marketing automation claims get thin. Every channel marketing automation platform lists the full channel set on its comparison chart. Check which of those channels are native at the tier you are actually buying.
The Quote-Only Tier
Above the published tier, pricing goes dark. This is not evasiveness so much as a genuine consequence of modular, usage-scaled products — but it does shift the burden onto you.
Braze is fully custom. No published pricing at any tier. Deal shape depends on MAU, channels enabled and contract length.
Iterable has no public pricing page at all. Packaging is disclosed in a sales conversation, not published, and the third-party aggregators that claim to know the tier names contradict each other.
Insider meters on monthly active users, so the same viral-month exposure described above applies, at enterprise scale.
Bloomreach shows “Request Pricing” on every product page. In practice the structure combines a module fee per product with a usage fee that scales on customer volume, catalogue size and communication volume. Three usage axes, all of which grow if the business is working.
Salesforce Marketing Cloud is modular in a different way: a base edition, then separate charges per channel, per contact tier, per add-on, plus a support plan that is itself a percentage line.
Third-party estimates circulate for every one of these. They are third-party estimates, not vendor-published figures, and they should not be used for budgeting — the variance between two customers of the same vendor at the same headcount can be enormous, because the deal is negotiated on axes the estimate cannot see.
The useful conclusion is procedural. When a category cannot be price-compared, your leverage does not come from the sticker. It comes from the metric. Negotiate the definition of the billable unit, the overage rate, the true-up cadence, and what happens at renewal if your volume grew 3x. Those four terms determine your three-year cost far more than the first-year discount everyone fixates on.
Where Cross-Channel Marketing Platforms Break
Here is the sequence, concretely.
Your platform sends a campaign email. Good subject line, good segment. A recipient clicks. They land on a page with utm_source, utm_medium and utm_campaign in the URL, and your analytics records a session. So far the orchestration tool is doing its job perfectly.
Then the visitor has a question the page does not answer. Not an exotic one — does this integrate with our SSO provider, is the migration included, what happens to our data if we cancel. Two things can happen next. They open the chat widget and ask. Or they bounce.
If they bounce, the platform records a click with no conversion and eventually decides the segment underperformed. If they ask, the platform records… a click with no conversion. The conversation happened in a system it cannot see.
Open any journey builder and look at the available trigger nodes. Page viewed. Form submitted. Purchase completed. Email opened. Link clicked. Attribute changed. There is no node for “the visitor asked a question,” and there is certainly no node for what the question was. The data model has no place to put it. This is not an oversight by any one vendor — it is what happens when a category is architected around messages the brand initiates.
So the highest-intent moment in the entire journey — a stranger, on your domain, voluntarily typing a specific objection in their own words — produces zero data for the tool that is supposed to own the journey. Conversational vendors have circled this problem for years; our breakdown of how Drift approaches the inbound conversation layer covers one lineage of it, and Intercom’s version another. Neither is an orchestration platform. The layer is genuinely separate.
The Attribution Gap in Practice
The loss compounds, because the observable portion of the journey was already shrinking before you dropped this signal.
Industry reporting through 2026 suggests a large share of customer journeys are now partly unobservable. Privacy regulation, browser restrictions on third-party identifiers, walled-garden reporting and cross-device gaps are the commonly cited causes, and figures in the 40–65% range circulate for the proportion of journeys with meaningful blind spots. Those numbers come from different methodologies and are not directly comparable — treat them as directional, not as measurements. Separately, the IAB’s State of Data 2026 reported that a majority of US buy-side leaders consider core measurement approaches to be underperforming, which is a survey of sentiment rather than a measurement of accuracy, but it is consistent with what practitioners describe.
The argument here does not depend on any of those figures being exact. Take the weakest version: some meaningful and growing share of the journey is invisible to you, and the invisible share is not under your control. Regulators, browser vendors and platform owners decide how big it gets.
Now look at what you do control. A visitor on your own domain, on a page you own, typing into a widget you deployed, after clicking a link you tagged. That is first-party, consented, high-intent, and it carries the campaign context in the URL that brought them there. It is arguably the cleanest attribution signal available to a marketing team in 2026.
Discarding it is a self-inflicted wound. Not because chat transcripts are magic, but because you are voluntarily deleting the one part of the picture nobody else can take away from you, while complaining about the parts that were taken. Teams that mine those transcripts systematically find objection patterns and vocabulary that never surface in form data — the mechanics are covered in our write-up on extracting insight from conversation data.
What the Missing Inbound Layer Must Do
Tool-agnostic requirements. Whatever you use to close this gap — build it, buy it, or configure something you already own — it needs five properties.
- Capture UTM parameters on the session automatically. Not via a hidden form field that a developer has to remember to add to every landing page. Automatically, on session start, from the URL, for every visitor. Hidden-field approaches fail silently and you find out at quarter end.
- Accept visitor identity from the host page. If someone is logged in, the conversation should attach to a known person, not an anonymous session ID you can never reconcile. The host page already knows who they are; the chat layer should be able to receive that.
- Answer from your own content. Retrieval over your documentation and knowledge base, not generic model knowledge. A confident wrong answer about your refund policy is worse than no chat at all.
- Push the lead back into the stack in real time, with campaign context attached. Webhook, not a nightly CSV. If the lead reaches your orchestration platform without the UTM data, you have moved the attribution problem rather than solved it.
- Keep the transcript. The lead record is the what. The transcript is the why. Six months of transcripts is a better source of positioning insight than most win/loss programmes.
Requirement four is the one that determines whether this works. Vendors name the fields differently, so treat the sketch below as the required shape rather than any particular product’s schema — what matters is that the lead, the page it came from, the campaign parameters and the conversation all travel in one object:
{
"event": "lead_captured",
"timestamp": "2026-08-20T11:04:12Z",
"lead": { "name": "Dana Reyes", "email": "dana@example.com", "phone": null },
"session": {
"id": "sess_9f2c4e",
"pageUrl": "https://example.com/pricing?utm_source=newsletter",
"startedAt": "2026-08-20T10:58:41Z"
},
"utm": {
"source": "newsletter",
"medium": "email",
"campaign": "q3-migration",
"content": "cta-footer"
},
"messages": [
{ "role": "user", "content": "Does the Pro tier include SSO?" },
{ "role": "assistant", "content": "SSO is included on Pro and above..." }
]
}
That object arriving at your CRM within seconds of the conversation is the whole point. The campaign that produced the lead is right there in the same payload as the objection that nearly lost it.
Building the Inbound Layer Without Another Per-Contact Bill
Scope statement first, because this section is about our product and the distinction matters. AI Chat Agent is not a cross-channel marketing platform. It does not send campaigns. It has no journey builder, no segmentation engine, no send-time optimisation, and it will not replace Braze, Klaviyo, HubSpot or anything else in the four layers above. It is the inbound website layer that feeds a cross-channel stack via webhook. If you are shopping for orchestration, buy orchestration.
What it is: a self-hosted AI chat widget, €79 one-time, no monthly fees, full source code, deployed with Docker Compose — PostgreSQL with pgvector, Redis, a Node backend, a React admin panel and Nginx. The widget is Shadow-DOM isolated and about 26KB gzipped. Current version is v1.8.1, with 1,622 automated tests in the suite.
Against the five requirements: it captures the five UTM parameters on the chat session automatically and surfaces a Campaign column on the leads list. The host page can pass visitor identity, so a logged-in visitor’s details pre-fill or skip the lead form entirely. RAG over your own knowledge base answers from your content with per-source attribution, since each crawled page is its own source. Anti-hallucination grounding means the bot declines rather than inventing when the knowledge base does not cover a question. Lead alerts fire to Email, Telegram or Webhook. The webhook posts a JSON body carrying event, timestamp, lead, session, visitor, utm, recentMessages, botName and chatUrl, signed with an HMAC-SHA256 X-Webhook-Signature header when you set a shared secret, with up to three delivery attempts on failure.
The identity handoff is a global set before the widget loads:
<script>
window.aiChatAgent = {
user: {
name: "Dana Reyes",
email: "dana@example.com",
phone: "+34600123456",
consentGivenAt: "2026-08-20T10:57:00Z"
}
};
</script>
<!-- then your per-bot embed snippet, served from your own domain -->
The economic point is narrow but relevant to the pricing thread above: because it is self-hosted, the cost does not move when your contact list grows. Your orchestration platform still meters on contacts or MAU or sends. This layer does not add a second meter on top. Whether running your own infrastructure is the right call depends on your team — the honest version of that trade-off is in our self-hosted versus SaaS comparison, and it is not always self-hosted.
How to Evaluate Cross-Channel Marketing Tools
A checklist you can run in a first call, before anyone opens a slide deck.
- Identify the metering unit before the feature list. Contacts, MAU, sends, events, seats, or some combination. Get it in writing. Everything else in the evaluation is downstream of this.
- Ask what happens to the bill when the list doubles but engagement does not. This single question separates the four pricing models faster than any pricing page. Ask for the overage rate and the true-up cadence in the same breath.
- Ask which channels are native versus partner-bolted. “Supports WhatsApp” can mean a first-party integration or a reseller relationship with a third party you will also be billed by, and whose outage is not covered by the SLA you are signing.
- Ask how inbound website conversation data enters the platform. The honest answer is usually that it does not, or that it requires custom events you build and maintain. That is a fine answer — it just means you own that layer and should budget for it separately.
- Check whether you can export the raw event stream. Not reports. The events. If the answer involves an enterprise add-on, your data has a hostage fee attached, and that is a switching-cost question, not a feature question.
- Price implementation separately from the licence. For the quote-only tier, implementation and data migration frequently rival or exceed year-one licence cost. A quote without an implementation estimate is half a quote.
Run those six on every shortlisted vendor and the comparison stops being about feature matrices, which all look identical anyway, and starts being about the two things that will actually hurt: what you get metered on, and what you cannot get back out.
Frequently Asked Questions
What is a cross channel marketing platform?
It is software that coordinates outbound messages — email, SMS, push, in-app, ads — so an action on one channel can trigger a follow-up on another. Unlike a multichannel setup, where each tool keeps its own list, a cross channel marketing platform wires a chosen subset of channels together. Unlike omnichannel, it does not require every channel to resolve to a single unified customer profile.
What is the difference between multichannel, cross-channel and omnichannel marketing?
Multichannel means several channels that do not talk to each other, so someone who unsubscribes from email keeps getting texts. Cross-channel means two or three channels are wired together for conditional handoff: cart abandoned, email sent, no open after 24 hours, SMS fires. Omnichannel means all channels resolve to one unified customer profile, and that is the expensive end of the market.
How much does cross channel marketing software cost?
Published starting prices in 2026 run from roughly $15–20/month at the entry tier (ActiveCampaign, Klaviyo, HubSpot Starter) up to around $800/month for HubSpot Professional and about $3,600/month for Enterprise. Above that, Braze, Iterable, Insider, Bloomreach and Salesforce Marketing Cloud publish nothing and quote per deal. Entry tiers routinely exclude channels you will assume are included, so verify any figure directly with the vendor.
What should I compare first when evaluating cross channel marketing tools?
The metering unit, before the feature list. Contacts, monthly active users, send volume and event or usage add-ons each push your bill in a different direction, and the vendor ranking flips depending on your engagement rate. Get the billable unit, the overage rate and the true-up cadence in writing.
Can a cross channel marketing platform track live chat conversations on my website?
Generally no. Journey builders offer trigger nodes for page viewed, form submitted, purchase completed, email opened and link clicked, but there is no node for the visitor asking a question, because the category is architected around messages the brand initiates. Closing that gap means running a separate inbound layer that pushes the lead, the transcript and the UTM parameters into your stack by webhook.
Why does cross-channel attribution break down?
Privacy regulation, browser restrictions on third-party identifiers, walled-garden reporting and cross-device gaps have made a growing share of the journey unobservable; figures in the 40–65% range circulate for journeys with meaningful blind spots, though they come from different methodologies and are directional at best. The self-inflicted part is worse: the inbound conversation on your own domain is first-party, consented and carries the campaign context in the URL, and most stacks throw it away.
If the inbound gap is the part of this that landed, the fastest way to judge it is to use it. The live demo runs the full admin panel — set up a bot, check the UTM capture on a session, fire a test webhook and look at the payload your CRM would receive. If it fits your stack, AI Chat Agent is €79 one-time with full source code and lifetime updates. Keep your orchestration platform. Just stop throwing away the conversations it cannot see.