Funnel analytics
Self-hosted Plausible dashboard for the Rasid acquisition flow. PDPL-friendly: no third-party cookies, no cross-site identifiers, no PII in events.
Open the Plausible dashboard →
Login is gated by Plausible's own admin auth (operator account, TOTP-required
per the runbook). If the dashboard returns 502, Plausible isn't running —
the plausible docker-compose profile may not be active. See
plausible-deploy.md
for bring-up.
Event taxonomy
The events below are emitted from apps/web/src/scripts/funnel-events.ts
via the global window.plausible(name, options) function. Renaming
ANY of these breaks dashboard segments; add new events freely.
| Event name | Source | Props |
|---|---|---|
CTA: Demo Click | Any anchor with href$="/demo" or data-funnel-cta | from (hero · closing · about · header · unknown) |
CTA: How it works | Homepage outlined secondary CTA | — |
Demo: Form Submit | /demo + /ar/demo form submit (any attempt) | country (KSA · GCC · EU · OTHER · unknown) |
Demo: Form Send OK | Form-handler emits rasid:demo-sent on 202 | — |
Demo: Form Send Fail | Form-handler emits rasid:demo-failed on non-2xx | status (HTTP code) |
Locale Switch | Header lang-switch anchor click | from, to (en · ar) |
Privacy posture
- No cookies set by Plausible CE in our config (cookieless analytics is the default + we don't override).
- No cross-site identifier — Plausible hashes the visitor's IP + user-agent + day-salt and discards the hash daily.
- No PII in event props — form values stay in the form-submit POST to apps/api, never reach Plausible.
- EU/UK GDPR + Saudi PDPL friendly — the same-origin path-routing keeps everything inside
rasid.cc.
Operator bring-up
Plausible + ClickHouse are gated behind the plausible
docker-compose profile (gated off by default). Cold-start procedure
lives in docs/runbooks/plausible-deploy.md:
- Provision
PLAUSIBLE_SECRET_KEY_BASE+PLAUSIBLE_TOTP_VAULT_KEY+PLAUSIBLE_DB_PASSWORD+PLAUSIBLE_CLICKHOUSE_PASSWORDin/etc/rasid/.env. - Create the Postgres
plausibledatabase + user. docker compose --profile plausible up -don the VPS.- First Plausible boot:
docker exec rasid-plausible /entrypoint.sh db init. - Create admin:
docker exec rasid-plausible /entrypoint.sh user_create [email protected] <password>. - Visit the dashboard → login → register the
rasid.ccsite. - Set
RASID_PLAUSIBLE_ENABLED=truein CI secrets so the next Astro build embeds the tracking script.