Attribution model
Cosmic Insights attributes every pageview to:
- A traffic source (UTM params, referrer, or "direct")
- A Cosmic object (the post, page, or product the user landed on)
Source attribution always works. Object attribution depends on which signals reach the tracker.
Source attribution
The tracker derives source/medium/campaign in this order:
- UTM params (
utm_source,utm_medium,utm_campaign) on the current URL. - Referrer host: known search hosts (google, bing, yahoo, duckduckgo, baidu, yandex) get
medium="organic"; everything else getsmedium="referral". - No referrer (or same-host referrer) → empty source/medium, which the dashboard renders as "direct".
Object attribution
Three layers, in order of precedence:
<script>tag attributes (default for every event on the page). Setdata-bucket, etc. on the snippet tag.<meta name="cosmic-context">tag (manual, recommended for static / server-rendered pages). One JSON tag per page coversobject_id,object_type, and any other promotable key.- Per-event call (highest priority on a single event). Pass
object_iddirectly tocosmicInsights('view', { object_id: '...' }).
<meta name="cosmic-context"
content='{"object_id":"OBJ_ID","object_type":"posts"}'>
Cosmic AI Build also uploads a routes.json map (path -> object_id) at deploy time so the dashboard can resolve per-object views for paths you didn't tag manually. Server-side resolution against that map at ingest time is on the v1.5 roadmap; for v1, render the meta tag (or pass object_id per event) on any page where you want object attribution.
Precedence summary
For object fields, the resolved value is:
script tag attrs -> cosmic-context meta tag -> per-event props
(low to high.)
Where it shows up in the dashboard
- Overview: visitors, pageviews, sessions, and bounce rate as headline tiles, each clickable to drive a Vercel-style time-series chart. Period-over-period deltas on every tile.
- Pages: per-path rollup.
- Content: per-Cosmic-object rollup, sorted by views.
- Events: raw event explorer with all promoted fields and
event_props. - Custom events: per-event-name rollup, including conversions and revenue.
- Sources: source / medium / campaign rollup.
- Per-object Performance card: appears on every object detail page in the Cosmic dashboard.
Note on per-author analytics: rolling up traffic by the human, AI agent, or automation that authored each object is not in the initial release. Add
object_idto your tracking now and per-author views will work automatically when they ship in a later release; you do not need to render dashboard user IDs into your page source.
FAQ
How much does Cosmic cost?
Project plans are Free ($0), Builder ($99/mo), Team ($299/mo), Business ($499/mo), Enterprise (custom pricing). Yearly billing saves 10%. Workspace plans are Small Workspace ($999/mo) and Large Workspace ($2,999/mo), and they start with a 30-day free trial. Allowances, add-on rates, and the rest of the pricing FAQ are plain text at https://www.cosmicjs.com/pricing.md.
Are API keys required, and is content private?
Each Bucket has a read key and a write key in Bucket Settings > API Access. GET requests use the read key. POST, PATCH, and DELETE use the write key as Authorization: Bearer. Do not put the write key in a browser bundle, a mobile app, or a NEXT_PUBLIC_ variable. SAML single sign-on is on Large Workspace and Enterprise. The audit log is append-only. Text versions: https://www.cosmicjs.com/security.md and https://www.cosmicjs.com/docs/dashboard/audit-log.md.
Can an agent create a Cosmic project without an existing account?
Yes. POST https://dapi.cosmicjs.com/v3/agents/sign-up provisions a free-tier project and bucket tied to a human email, with no existing Cosmic account. The human claims it with the emailed one-time code. The playbook is https://www.cosmicjs.com/docs/ai-onboarding.md.