KWAYZER Revenue
The CRM, the campaigns and the enrichment in one place, metered honestly.
Teams running go-to-market on three tools that do not talk to each other, paying for seats on all three.
What it does
One CRM, one identityContacts, companies and deals — with merges that stay merged.
A merged record keeps a pointer to its survivor, and every read in the product honours it, so a merge does not resurrect the old row in a report three screens away. The merge is reversible by a compensating write rather than by deletion, so the history of what was merged survives the undo.
Enrichment that charges onceOne waterfall across providers, with a 30-day cache.
Providers are tried in order and the first useful answer wins; the result is cached for thirty days, so asking the same question twice in a month costs once. Every attempt records which provider answered and what it cost, so a bill can be traced to the calls that produced it.
Campaigns and journeys on one engineA single workflow engine, not one per feature.
Every automation runs on the same two-pass tick over one node catalogue. That is why a journey and a campaign behave identically on retry, on pause and on failure — there is no second engine with its own idea of what a step is.
Audiences in plain EnglishDescribe the segment; it compiles to the same rules the engine already runs.
The interpreter's only output is the existing segment shape, over a closed vocabulary of fields and operators. It cannot produce a rule the engine could not already evaluate, which is what stops a natural-language front end from quietly becoming a second audience model.
Metering you can auditOne balance, one ledger, and they are not the same thing.
Credits have a single source of truth and an append-only ledger beside it. The ledger is never read as a balance — a distinction that sounds pedantic until a refund and a spend land in the same second.
Why this is hard to copy
Each of these names the mechanism that makes it true and where to check it. A claim without one is a sentence anybody could write.
An automated path is never cheaper than the manual one.
Because every enrichment, automated or hand-clicked, charges through one function; there is no code path that performs an enrichment without going through it, and a test fails the build if one appears.
src/lib/enrichment (chargeEnrichment)
A number we did not measure is never shown as zero.
Because an empty denominator returns null and renders as words. This is enforced repo-wide by a test that fails on the coalescing patterns that turn 'not measured' into '0'.
tests/unknown-is-not-zero.test.ts
Every mutation writes an audit event.
Because the audit log is a single table with one writer, and a new permission has to exist in both the SQL grants and the permission catalogue — a guard fails the build when they disagree.
src/lib/rbac-catalog.ts
Pricing
The published tiers, rendered from the same configuration the checkout charges against.
- Solo
€29
per month · 1 user
All 12 modules, CSV import, email support
- Starter
€179
per month · Up to 5 users
Email sequences + integrations, 2,500 contacts
- GrowthPopular
€449
per month · Up to 15 users
IntelliMatch, Lead + Ad Engine, SEO, all tools, 25,000 contacts
- Agency
€999
per month · 25 users + 10 client workspaces
White-label portal, revenue attribution, dedicated CSM
- Scale
€1,799
per month · Up to 50 users
Salesforce sync, advanced attribution, priority support
- Enterprise
€3,999
per month · Unlimited users
Everything — incl. Lead + Ad Engine & SEO at scale, SSO (SAML 2.0), GDPR DPA, EU data residency, white-glove onboarding
The rest of KWAYZER
Five products on one identity, one permission model and one audit log. You can buy one and add another without a migration.