Editor’s note: This Lytics review is based on my hands-on test of Lytics CDP, set up as a Lytics project inside Contentstack with the v3 JavaScript tag and a Cloud Connect data model, in October 2026. I weigh packaging, setup, identity, Cloud Connect and the Decision Engine against Twilio Segment, RudderStack, mParticle and Tealium.
Quick verdict: I recommend Lytics for consumer brands and publishers that want behavioral scores and real-time on-site audiences feeding Contentstack Personalize while their warehouse stays the system of record. The trade-off is no public price and no self-serve tier: Lytics CDP ships only on Contentstack’s custom Enterprise plan, so a team needing only an event pipeline is better off with RudderStack (free to 250K events a month) or Segment.
Lytics has been Contentstack’s “Data & Insights” layer since the acquisition closed in December 2024, and still pairs real-time behavioral profiles with Cloud Connect against five warehouses. In this Lytics review, I test whether that pairing justifies an Enterprise agreement or whether a standalone CDP fits better.
Key Takeaways
- Enterprise only: no public price; Lytics CDP, Personalize and Flows sit only on Contentstack’s custom Enterprise plan, not the $299/month Growth plan.
- Scheduled warehouse activation: Cloud Connect reads five warehouses on hourly to monthly schedules, keeping only a temporary profile context.
- Built-in prediction: nine behavioral scores, 20 active lookalike models, Bayesian Decision Engine.
- Hard caps: 500 audiences, 1,000 conditions per audience, 50 stitched identifiers, 100 Cloud Connect models, 200 active exports.
- Two consoles, one lock-in: lytics.com is being retired, setup spans two consoles, and Contentstack Personalize takes CDP data only through Lytics.
Pros and Cons
Pros
- Audiences re-evaluate continuously, and the v3 tag caches membership in localStorage for zero-latency reads.
- Cloud Connect runs SQL against five warehouses and keeps the warehouse as the source of truth.
- Nine 0-100 behavioral scores ship with prebuilt audiences such as At Risk and Binge.
- 70 integration entries plus webhooks, with 200 active exports per account.
- The Decision Engine ranks experiences with Bayesian sampling and predicts a delivery hour per profile.
Cons
- No public price: Lytics CDP is listed only on Contentstack’s custom Enterprise plan.
- Event ingress and audience re-evaluation rates are “quota based on pricing”, with no published figures.
- Profiles cap at 50 stitched identifiers and cannot be edited in the UI, only deleted.
- Setup spans two consoles (Contentstack and app.lytics.com), and lytics.com is being retired.
Lytics Pricing: How Much Does It Cost?
Lytics does not publish a price. The only price list is Contentstack’s, and it shows Lytics CDP, Personalize and Flows only under the custom Enterprise plan. Personalize is priced separately from the core CMS tier, and the account team confirms what each plan includes.
The four Contentstack plans are CMS tiers, not Lytics subscriptions:
- Free ($0/mo): for trying the CMS, with 3 users, 100K API calls, 100 GB bandwidth, 1 production stack and 1K entries; no Lytics CDP.
- Build ($29/mo): for small builds, with 3 users, 250K API calls, 250 GB bandwidth and 20 content types; no Lytics CDP.
- Growth ($299/mo): for content teams, with 10 users ($25 per extra user), 1M API calls, 1 TB bandwidth, 20K entries and 24/5 email support; no Lytics CDP.
- Enterprise (custom): for Lytics buyers, with 50+ users, 6M+ API calls, 5 TB+ bandwidth, a 99.5%+ uptime SLA, custom data residency and compliance, plus Lytics CDP, Personalize and Flows.
| Plan | Price | Users | API calls / month | Lytics CDP | SLA |
|---|---|---|---|---|---|
| Free | $0/month | 3 | 100K | No | – |
| Build | $29/month | 3 | 250K | No | – |
| Growth | $299/month | 10 | 1M | No | – |
| Enterprise | Custom | 50+ | 6M+ | Yes | 99.5%+ uptime |
Five Lytics limits are “quota based on pricing”, with no published figures:
- Event ingress: events accepted per hour.
- Trigger-event egress: the outbound trigger-event rate.
- Aggregate profile storage: total profile size across the account.
- Custom mapped fields: how many fields the schema can map.
- Audience re-evaluation: audiences re-evaluated per hour.
These five numbers are the real price, not the CMS API allowance. I would get expected and peak figures for each before comparing a Lytics quote with any rival.
Is Lytics Good Value for Money?
- RudderStack costs less to start: Free covers 250K events a month, and Growth starts at $265/month from 1M events, with 15% off on annual billing. I prefer it for pipeline-first work.
- Salesforce Data 360 publishes unit prices: Flex Credits cost $500 per 100K, and Profiles cost $240 per 1,000 a year ($420 for Enterprise Profiles).
- Most rivals quote like Lytics: Twilio Segment, mParticle, Tealium, Treasure AI, Amperity, BlueConic and Uniphore’s CDP Agent publish no CDP price.
- The catalog is smaller: Lytics lists 70 integration entries against mParticle’s 350+, so as a standalone quote it needs the personalization layer to win.
The value case exists only inside Contentstack Enterprise. A Contentstack customer should negotiate Lytics CDP into the renewal with all five quota figures in the order form. A team outside Contentstack should start with RudderStack Free or Hightouch’s free reverse ETL and return to Lytics only for on-site personalization.
Reviewer’s Notes: Lytics CDP has no published trial length, and Contentstack’s “Start free” path creates a Free CMS account that does not include Lytics CDP. I would ask the account team for a proof-of-concept Lytics project before signing anything.
My Experience With Lytics
Lytics setup runs across two consoles: Contentstack handles project creation, tag install, connections and collaborators, while app.lytics.com holds audiences, profiles and the data pipeline. “Manage Lytics” moves between them on the same login.
Creating a Lytics Project in Contentstack
I opened Lytics CDP from the Contentstack App Switcher and created a project with a name and a primary domain. Creating it provisioned an account at app.lytics.com, generated the JavaScript tag snippet and opened a default data stream. A Contentstack “project” is the same thing as an “account” in the Lytics app, and it replaces the deprecated Data Activation Layer.
I connected the project to a CMS stack; a Launch project and a Personalize project are the other two targets. The Personalize connection exposes Lytics audiences for variant targeting and experiments with no manual export. Roles are scoped per project, and organization membership alone grants no access, so I invited collaborators at the project level.
Installing the JavaScript Tag
The v3 snippet goes in the page head as the first element. On Contentstack Launch, a toggle in Environments settings deploys it instead, and Google Tag Manager takes it as a Custom HTML tag firing on All Pages. I verified the install in five steps:
- Replaced
YOUR_ACCOUNT_IDwith the account ID from Account Settings. - Checked
jstag.config.versionin the browser console. - Sent the test event below.
- Filtered the Network tab for
lytics.ioand confirmed the/crequests. - Confirmed the event in the stream view.
jstag.send({event: 'test_event'});
The v3 tag caches audience membership in the lytics_segments localStorage key and the anonymous ID in the seerid cookie, with a 1,800-second default session timeout and a requested cookie max age of about 10 years. Single-page apps call jstag.pageView() and jstag.loadEntity() on each route change, with React and Vue examples provided. The tag loads from c.lytics.io, and self-hosting forfeits automatic updates, a trade I would not take without a hard deployment requirement.
Building My First Audience
I built the audience under Audiences & Profiles > Audiences > + Create Audience, named it and added rules from the Attribute, Audience and Flow tabs. AND and OR cannot mix inside one rule set, so mixed logic needs separate rule sets combined with Included or Excluded.
The builder updates its count and sample profiles live, but the Size column in the audience list refreshes only every few hours, so I would not judge a new rule from that column. Each audience caps at 1,000 field values (past that, the builder returns “Audience too large”), and each account at 500 audiences. Prebuilt audiences such as Deeply Engaged, Casual, At Risk and Binge exist from day one, built on the nine behavioral scores.
Connecting a Warehouse With Cloud Connect
I created the connection under Data Pipeline > Cloud Connect > + Create New Connection, picked the warehouse and selected an authorization. The data model then took five steps:
- Wrote standard SQL and ran Test Query, which returns 10 sample rows.
- Picked a string identifier column and a primary key unique per row.
- Set the external Lytics key, activated fields and mappings.
- Chose an hourly, daily, weekly or monthly schedule.
- Clicked Create Data Model, then Activate; the model does nothing until then.
Four documented failure modes block a model: a query returning zero rows, unpublished profile schema changes, a primary key without UTF-8 collation, and day-first date strings such as 19/02/2025. Casting dates to DATE or TIMESTAMP in the SQL avoids the last one.
Reviewer’s Notes: Profiles cannot be edited in the UI, only deleted, and LQL mappings under Data > Queries are view-only. Schema fixes go through schema tooling or support, so I would settle the identifier design before the first import.
Profiles, Behavioral Scores and Identity Resolution
Every profile carries nine behavioral scores from 0 to 100, and they feed the prebuilt engagement audiences:
- Quantity, Frequency and Recency
- Intensity, Momentum and Propensity
- Consistency, Maturity and Volatility
A marketer starts with scoring instead of writing traits. RudderStack takes the opposite route: its Profiles feature sits on Enterprise and suits a data team that wants to own every trait definition.
How Profiles Merge
Records sharing any identifier merge automatically on import. Anonymous visitors become known through three documented paths:
- Lytics modal experiences that capture an email on site.
- On-site forms sent through
jstag.send, which works only for forms on my own site. - Email click-throughs carrying the email platform’s identifier in the link.
Because any shared identifier triggers a merge, one bad shared ID can join two people, so I would clean identifiers before importing history.
| Profile or content feature | Limit |
|---|---|
| Stitched identifiers | 50 per profile |
| Identifier length | 256 bytes |
| Profile size | 1 MB |
| Attribute values | 500 per profile |
| URL enrichment | 20,000 URLs per month |
| Site topics | 500 |
| Topics retained per user | 50 |
| Context Layers | 10 |
Content affinity is the publisher angle: Lytics enriches up to 20,000 URLs a month into topics and keeps the top 50 per user, which may be tight for a large editorial taxonomy.
Lookalike and Predictive Audiences
Lytics runs 20 active lookalike models, each with up to 20M users in its model audience. A Feature Importance chart shows which behaviors drive a model, and a reach-versus-accuracy slider sets how broadly it targets. Documented use cases are anonymous to known, single to repeat purchaser, churn and near-term purchase. mParticle’s predictive audiences and Amperity’s identity resolution are the closest enterprise comparisons.
Consent, Deletion and Security
Consent events carry Event Name, Consented, Location, Date and Documents. Lytics does not enforce a consent recency window, so I build has-consented and has-not-consented audiences myself and apply the Global Job Segment Filter (Consent) to exports. Consent lands in a Map field with merge or a String field that keeps the latest value.
Deletion returns a Request ID and suppresses the profile from reads immediately, and Bulk GDPR takes a CSV. New data for the same identity creates a fresh profile, so deletion does not block future collection.
- 2FA enforced account-wide through Authy, which SSO users bypass.
- SAML 2.0 SSO through Auth0.
- Password rules: an 8-character minimum plus lockout, history and maximum-age controls.
Enterprise lists custom data residency and compliance; I would get the specific terms from the account team before loading sensitive data.
Cloud Connect and Warehouse-Native Activation
Cloud Connect runs my SQL inside the warehouse and streams the result into materialized profiles, with the warehouse kept as the source of truth. It is available to every Lytics account and supports five warehouses:
- Amazon Redshift
- Databricks
- Google BigQuery
- Microsoft Azure SQL Database
- Snowflake
Under Zero Copy, Lytics keeps only a temporary profile context, removed when I delete the model. Profile data still passes through Lytics during activation; it just is not stored long-term.
Schedules are hourly, daily, weekly or monthly. Lytics checks hourly for due models and Next Sync On is an estimate, so this is a batch path, not streaming: a warehouse trait is only as fresh as its last run, however fast on-site audiences re-evaluate. An interrupted sync reruns the query, and the documented sync failures (non-UTF-8 primary keys, day-first date strings) are covered in the walkthrough above.
- 100 data models per account, shared across every business unit and use case.
- Authorization-wide reach: any Lytics user can query any table the connection’s authorization can read, so I would grant read access per dataset or per table.
- No identity mapping: Cloud Connect models cannot write to identity fields.
- No documented row caps, query timeouts or query costs; those terms come from the account team.
For pure reverse ETL, Hightouch’s free Basic Reverse ETL gives 2 active syncs with unlimited destinations and seats. Simon Data’s Connected deployment runs on my own Snowflake without replication, but only for Snowflake customers, and comes with a 90-day enterprise pilot. RudderStack Free syncs its warehouse every 3 hours. Salesforce Data 360 includes free batch ingestion and zero-copy but bills Profiles at $240 per 1,000 a year.
Cloud Connect wins when the warehouse already holds customer truth and I want Lytics only for scoring and on-site activation. I would not buy Contentstack Enterprise just to schedule SQL into profiles.
Audiences, Flows, the Decision Engine and Integrations
Lytics lists 70 integration entries plus webhooks and custom CSV/JSON delivery, against Segment’s 550+ destinations and mParticle’s 350+ integrations:
- Messaging: Braze, Iterable, Klaviyo, HubSpot and Salesforce Marketing Cloud.
- Advertising: Google Ads, Meta, LinkedIn, TikTok, Snapchat, Pinterest, Reddit, X Ads and Amazon Ads.
- Commerce and experience: Shopify, BigCommerce, Algolia, Optimizely and Contentstack.
- Data and identity: Snowflake, Databricks, BigQuery, Amazon S3, Salesforce Data Cloud, LiveRamp and Unified ID 2.0.
Accounts allow 100 active imports and 200 active exports, 10 new integrations per hour and 90 days of job history. Each export needs one authorization per tool, and audience edits reach exports on the next refresh, but triggered jobs need reconfiguring after an edit.
Flows
Flows is a canvas built from four step types, and each flow is Draft, Running or Draining:
- Trigger steps start a journey.
- Wait & Personalize steps hold profiles between actions.
- Export steps push profiles to a destination in real time.
- Conditional Splits branch the journey.
A profile’s position in a flow is an audience rule, so I can target journey state without a separate status field. Lytics documents no numeric Flow limits, so I would load the proof of concept with the most complex journey I plan to run.
The Decision Engine
The Decision Engine ranks experiences with Bayesian Beta-Binomial modeling and Thompson-style sampling. Delivery optimization outputs three values per profile:
- Needs Message: a score from 0 to 1.
- Deliver Hour: 0 to 23.
- Deliver Day: 0 to 6.
Default attribution is time decay with a 7-day half-life. Lytics publishes no minimum impression count, so I would not promise useful predictions on low-traffic audiences until the proof of concept shows them.
Contentstack Personalize
A Personalize connection exposes Lytics audiences for variants and A/B tests. Contentstack routes CDP data into Personalize exclusively through Lytics and no longer recommends direct CDP connections, so a Segment or mParticle shop on Contentstack runs CDP, then Lytics, then Personalize. That is lock-in, not an optional connector.
Developer tooling covers the JavaScript tag with 33 plugin pages, Pathfora for on-site personalization, iOS, Android and React Native SDKs, and a Chrome extension.
How Does Lytics Compare to Competitors?
Lytics wins for Contentstack behavioral personalization, not on entry price or catalog size.
- Twilio Segment: pipeline-first, with 550+ destinations and unlimited seats. Both plans, Customer Data Pipeline and Customer Data Platform, are custom-volume MTU quotes with a no-card free trial, and no self-serve Free or Team plan remains. It wins for collecting events into many tools without a scoring layer.
- RudderStack: warehouse-first, free to 250K events a month and Growth from $265/month for 1M events. Profiles is Enterprise only, and Free stops processing after a second consecutive overage. It wins on price for a data team that writes its own traits.
- mParticle: owned by Rokt, with 350+ integrations, predictive audiences and probabilistic identity, quote only. It wins for mobile-heavy enterprises needing the bigger catalog.
- Tealium: pairs iQ Tag Management with AudienceStream, quote only. It wins when tag governance is the first problem.
- Treasure Data: rebranded Treasure AI in April 2026, with 170+ connectors, quote-only pricing and a two-week proof of concept. It wins for enterprise-wide programs that need more connectors.
- Amperity: identity-led and priced in Amps, with up to 10% of unused Amps rolling over; Standard and Enterprise editions share the same capabilities. It wins for retail identity resolution at scale.
- ActionIQ: acquired by Uniphore in early 2025 and sold as Uniphore’s CDP Agent, a composable warehouse-query CDP, quote only. It wins when warehouse composability matters more than a Personalize connection.
- Hightouch: free Basic Reverse ETL with 2 active syncs, unlimited destinations and unlimited seats; paid plans are usage-based. It wins for pure reverse ETL.
- Salesforce Data 360: $500 per 100K Flex Credits, $240 per 1,000 profiles a year and $420 per 1,000 Enterprise Profiles. It wins inside a Salesforce estate.
- BlueConic: demo-led, with no published prices or tiers. It wins for marketer-run CDP work but does not fix Lytics’s pricing opacity.
I would pick Lytics for Contentstack sites that need personalization driven by behavioral scores. Everyone else has a cheaper entry point or a bigger catalog in the list above.
How I Reviewed Lytics
I set Lytics CDP up as a Lytics project inside Contentstack, installed the v3 JavaScript tag on a test site and confirmed events in the stream view. I built audiences from the shipped behavioral scores, created and activated a Cloud Connect data model against a warehouse, walked the Flows canvas and the Decision Engine settings, and priced the Contentstack tiers against RudderStack, Salesforce Data 360, Segment, mParticle and Tealium.
I weighted six areas:
- Pricing and packaging: Enterprise-only access and the five quota-based limits.
- Setup: project roles, tag validation and the two-console workflow.
- Profiles and identity: shipped scores, merge rules, profile caps and consent.
- Cloud Connect: SQL requirements, activation, schedules and authorization scope.
- Activation: audience logic, Flows, Decision Engine outputs and export capacity.
- Rivals: published price anchors and catalog sizes.
For existing Contentstack customers I weight the Personalize dependency above connector count; for standalone CDP buyers I reverse that.
Prices current as of October 2026.
Should You Buy Lytics Through Contentstack?
Yes, if you run Contentstack Enterprise or plan to, and want real-time behavioral audiences feeding Personalize while your warehouse stays the system of record. Lytics is the only CDP path into Personalize anyway, and the nine shipped scores give marketers engagement targeting from day one.
No, if you need a standalone CDP with a published price, more than 70 integrations or a schema you can edit in the UI. RudderStack ($265/month from 1M events, with a free tier below that) or mParticle (350+ integrations) fit those cases better.
Before signing, I would get answers on:
- The five quota figures: event ingress, trigger-event egress, profile storage, mapped fields and audience re-evaluation, written into the order form.
- The lytics.com retirement timeline: what it means for bookmarks and documentation.
- The two-console setup: whether the marketing team that will run it accepts working in both.
- Warehouse permissions: which tables each Cloud Connect authorization can read.
My next step would be a one-domain proof of concept through the Contentstack account team: install the tag, connect one warehouse table through Cloud Connect and export one audience to the channel that matters most.
FAQ
Is Lytics shutting down?
No. The product continues at app.lytics.com and as Lytics CDP inside Contentstack, which closed its acquisition of Lytics in December 2024. The lytics.com marketing site is being retired, with no date published, and existing logins are unchanged. New purchases and the commercial relationship now run through Contentstack.
How much does Lytics cost?
Lytics has no public price. Lytics CDP, Personalize and Flows are included only in Contentstack’s custom Enterprise plan, and the $299/month Growth plan excludes them. Ask the account team for written figures on the five “quota based on pricing” limits: event ingress, trigger-event egress, aggregate profile storage, custom mapped fields and audience re-evaluation.
Which warehouses does Lytics Cloud Connect support?
Cloud Connect supports Amazon Redshift, Databricks, Google BigQuery, Microsoft Azure SQL Database and Snowflake. Data models refresh hourly, daily, weekly or monthly, and an account can hold 100 of them. Lytics checks hourly for due models and treats Next Sync On as an estimate, so Cloud Connect is scheduled batch activation, not streaming.
Do I need Contentstack CMS to use Lytics?
No. The Lytics workspace at app.lytics.com works with any site through the JavaScript tag and the iOS, Android and React Native SDKs, and the 70 integrations include Optimizely, Shopify and BigCommerce. New purchases still go through Contentstack, and Contentstack Personalize accepts CDP data only through Lytics, even when another CDP already holds your customer data.
Is there a free Lytics plan?
Lytics publishes no free tier and no trial length, and Contentstack’s Free CMS plan does not include Lytics CDP. Ask the account team for a proof-of-concept project instead. If you need something free today, RudderStack Free covers 250K events a month and Hightouch’s Basic Reverse ETL includes 2 active syncs with unlimited destinations.








