← Protocols
Safary
Analytics·EVM · Solana · Multi-chain

Safary

01Description

Web3 marketing analytics platform — a privacy-first, cookie-free 'Google Analytics for Web3' that ties wallet activity to traffic source, KOLs, paid ads, quests, and on-chain campaigns. Adds an Insights Dashboard for CAC, channel ROI, and customer LTV.

02Best for
  • 01marketing analytics for crypto sites and dapps
  • 02cookie-free wallet+source attribution
  • 03KOL and quest campaign measurement
  • 04channel ROI and LTV reporting
  • 05growth dashboards for non-engineers
04Environment variables
VariableScopeDescription
NEXT_PUBLIC_SAFARY_SITE_IDClientSafary site/property ID from the Safary dashboard. Embedded in the tracking snippet; client-safe (identifies the site, not users).
05Prompt snippet
Safary is a one-line install — paste the tracking snippet into your site `<head>` to auto-capture page views, sessions, and source. Snippet shape: `<script async src='https://tag.safary.club/stag.js?id=${SAFARY_SITE_ID}'></script>` (use the exact URL Safary shows you in the dashboard — the host has changed over time). For wallet attribution call `window.safary?.track({ eventType: 'wallet_connected', eventName: 'connect', parameters: { address, chainId } })` immediately after a user connects, then again for each on-chain event you care about (`swap`, `stake`, `mint`). For SPAs (Next.js / React) fire `window.safary?.trackPageview()` on every route change since the snippet only auto-tracks the initial document load.
06Gotchas
  • Cookie-free does NOT mean consent-free in EU/UK — Safary still uses fingerprinting; gate the snippet behind your CMP if you're under GDPR/UK-GDPR.
  • SPAs: only the initial pageview auto-fires. Without manual `safary.trackPageview()` on route change you will dramatically undercount.
  • Wallet attribution is opt-in — Safary cannot link a wallet to a session unless you call `safary.track({ eventType: 'wallet_connected', ... })` from your app. Many teams skip this and then complain attribution is broken.
  • Sybil / bot filtering happens server-side and may cause counts in the Safary dashboard to drift down 12–48 hours after the event — don't reconcile your real-time metrics until the data is finalized.
  • Attribution window is configurable per project (commonly 7–30 days) — verify yours in the dashboard before reporting numbers; clicks outside the window aren't credited.
  • PII: never put email, full name, or IP in custom event parameters; Safary expects wallet + behavioral data and stuffing PII can violate your DPA.
07Alternatives