@antelopejs/dms-marketing
First-party marketing analytics for the AntelopeJS DMS: traffic, funnels, A/B splits and heatmaps.

What it does
- Shows pageviews, sessions, new visitors and custom events against the previous period, with acquisition channels and UTM campaigns.
- Draws clicks and scroll depth over a snapshot of any tracked page, even on sites that refuse framing.
- Measures ordered conversion funnels with per-step drop-off, optionally split into server-assigned A/B variations.
- Stays first-party and cookieless. It calls no external service, stores no IP address or user agent, and keeps the data in the project's MongoDB.
Install
Run the AntelopeJS CLI from the root of a project that already loads @antelopejs/dms:
ajs project modules add @antelopejs/dms-marketing
Quick start
Restart the backend, then the frontend, and open Modules › Marketing. Click Add a website on the Websites page. The install guide that opens gives the tracker snippet in HTML, Nuxt or Google Tag Manager form. The HTML form looks like this:
<script defer src="https://<backend>/api/marketing/tracker.js"
data-website-id="<website id>"></script>
Behind a reverse proxy, set the DMS auth.trustedProxies option. See Installation.
Compatibility
| Package | Supported | Tested with |
|---|---|---|
@antelopejs/interface-api | >=0.3.0 <1.0.0 | 0.3.0 |
@antelopejs/interface-api-util | >=0.3.0 <1.0.0 | 0.3.0 |
@antelopejs/interface-core | >=0.4.0 <1.0.0 | 0.4.0 |
@antelopejs/interface-data-api | >=0.6.0 <1.0.0 | 0.6.0 |
@antelopejs/interface-database | >=0.3.0 <1.0.0 | 0.3.0 |
@antelopejs/interface-database-decorators | >=0.2.0 <1.0.0 | 0.2.0 |
@antelopejs/interface-dms | >=0.12.0 <1.0.0 | 0.12.0 |
@antelopejs/interface-dms-marketing | >=0.6.0 <0.7.0 | 0.6.0 |
The module also needs a DMS backend in a release that implements the @antelopejs/interface-dms range in the table above, and the @antelopejs/dms-frontend renderer in the range its frontend module declares in engines["@antelopejs/dms-frontend"] of frontend-vue/package.json. The ajs dms CLI refuses to build it with a renderer outside that range.
Documentation
The guide's sources live in packages/dms-marketing/docs. KNOWN-ISSUES.md lists the defects found end to end, how each was closed, and the two still open in the DMS core. The module ships the dms-marketing Claude Code skill in packages/dms-marketing/skills, declared under antelopeJs.skills.
Contributing
This package lives in the AntelopeJS/dms-marketing pnpm workspace, next to @antelopejs/interface-dms-marketing. Read CONTRIBUTING.md and the repository README for the development commands.