Goals
A goal is any conversion you want to count: a signup, a purchase, a contact. Kymo captures three kinds.
Automatic goals
These need no code. beat.js watches for them:
- WhatsApp links (
wa.me,api.whatsapp.com,web.whatsapp.com,whatsapp:). - Phone links (
tel:). - Email links (
mailto:). - Form submits — any
<form>submission, filed asform:<name>using the form'snameorid.
Key-page goals
To count a view of a specific path as a conversion, list it in data-goals on the script tag, comma-separated:
<script defer src="https://kymo.in/beat.js"
data-site="yoursite.com"
data-goals="/signup,/onboarding/complete"></script>A pageview of a listed path records a goal named page:/signup.
Custom goals
Fire a goal from your own code with window.kymo:
// a simple named goal
window.kymo('newsletter-signup');
// a goal with revenue attached
window.kymo('purchase', { revenue: 49 });The name is capped at 100 characters. revenue must be a number; it feeds the revenue totals in the dashboard.
Reading goals
The Goals page shows, per goal: completions, conversion rate against site visitors, revenue where present, and the first-touch source — the UTM source, or the referrer when there is no UTM. First-touch attribution answers "what originally brought the people who converted," not just the last click.
Revenue
Attach revenue to a goal with window.kymo('purchase', { revenue: 49 }) and it totals in the dashboard's revenue view. Fire it wherever you confirm a payment — your checkout's success page is the usual spot.