Conversions
Open a website and choose Settings → Conversions. Goals identify the custom events that matter to you. Adding a goal does not create an event or rewrite past activity.
Add a goal
Under Quick add, choose a preset and press Add conversion. Or enter an exact event name under Custom conversion and add it. Names are case-sensitive, up to 64 characters; outer whitespace is removed. Names must be unique within the website and cannot be pageview or contain control characters. Each preset can be added once, with up to 50 goals in total.
| Preset | Action counted |
|---|---|
| Contact click | A tel: or mailto: link click. |
| Messaging click | WhatsApp or Telegram app links (whatsapp: or tg:), or HTTPS/HTTP links to wa.me, api.whatsapp.com, web.whatsapp.com, t.me, telegram.me or m.me. |
| Outbound link | An HTTP/HTTPS link to a different hostname, including another subdomain. Contact and messaging links take precedence and are not also counted as outbound. |
| Form submit | A standard form’s submit event, including forms handled by JavaScript after that event fires. |
| File download | A link to a common document, archive, image, audio or video file, including SVG, PDF and ZIP. The query string and link destination are not collected. |
| Custom conversion | An event you already send with seean.track() or data-seean-event; its name alone does not wire an interaction. |
These count interactions, not confirmed deliveries, account creation, completed payments or successful server responses. Native validation can prevent a submit event; form.submit() does not dispatch one. Use a custom event in the confirmed-success handler for business outcomes such as signup, login or generate. Use a verified revenue integration or server API for purchases; a checkout click is not proof of payment.
Enable automatic tracking
New websites start with the five standard presets enabled and Auto conversions on. Websites that had never configured conversions before this default was introduced receive the same presets; an existing custom or disabled setup is preserved. Turn the option off under Settings → Installation → Dashboard to stop automatic interaction events. A minimal snippet applies the saved setting on its next page load. With the explicit snippet style, copy the updated code instead: its data-conversions="true" attribute opts into automatic presets, and existing installed explicit snippets do not change themselves.
<script defer src="https://app.seean.io/k.js"
data-site="YOUR_SITE_TOKEN" data-api="https://app.seean.io"
data-conversions="true"></script>
The tracker requests enabled automatic rules once per document from /api/collect-config?t=YOUR_SITE_TOKEN on the collection origin, without credentials or a persistent configuration cache. Reload the tracked page after changing rules. Actions before configuration loads, or when the request fails, are not automatically collected or replayed. Ordinary pageviews and explicit custom events continue independently.
Events use the existing collector, privacy signals, exclusions and quota. No link destination, phone number, email address, form value or field content is added by these presets. Keep sensitive information out of your goal names. Browser storage and identity behavior remain as described in technical privacy.
An element marked with data-seean-event takes precedence over automatic presets, so that interaction sends only the explicit event. A marked form sends on submit rather than clicks on its fields. Do not also call seean.track() for the same interaction: arbitrary application handlers cannot be deduplicated automatically. See custom events.
Manage goals
Active conversions lists your definitions, including disabled ones. Use Enabled to pause or resume a goal, Rename to edit its event name, or Remove to delete the definition. Rename offers Save and Cancel; a failed save keeps your draft and shows the server’s reason (a rate-limited save says how many seconds to wait). Empty websites show No conversions yet.
Disabling or removing a goal preserves all collected events. Renaming changes future automatic events and the event name used for new campaign analyses; past events retain their original name. Custom application code must send the new name separately. Removing the last enabled goal restores all-custom-event campaign counting.
Campaigns and funnels
Campaigns counts occurrences of enabled goal names within campaign sessions. With no enabled goals, it counts all custom events. These are event occurrences, not unique converted people. Current and comparison intervals use the same enabled names; a running or saved analysis retains the goal selection it started with. Fresh analyses use current settings and can therefore classify existing history differently without changing source events.
Goals still appear as ordinary events in Overview and the activity log. Select an event in Overview, then Create funnel beside the active filters to start a funnel draft.
Filter converted visitors
Overview shows a Conversion selector when there are enabled goals. Choose an exact goal name to include visitors who triggered it anywhere within the selected period, including their other visits in that same period. All conversions removes this condition. The URL records ?conversion=EXACT_EVENT_NAME; an existing link can still inspect an old name after its goal is renamed or disabled. A name with no matching events produces an empty result.
Other filters still select matching visits within that visitor group. For example, a visitor who signed up during a later visit can have an earlier US visit included with conversion=Signup&country=US. The event filter alone would select only visits containing its matching event. Previous-period comparisons independently find converted visitors within the previous interval; a current-period conversion does not qualify someone for the previous period.
KPIs, Trend, breakdowns and visitor-attributed orders use the selected scope. Conversion peak counts all custom events in that scope, not just the chosen goal. Imported daily aggregates cannot reproduce this visitor filter and remain separate. The customer API accepts filter.conversion; the currently published MCP adapter does not expose this new field.
Verify
Reload the tracked website, confirm the configuration request succeeds, then perform one action. Open the activity log for the same website and current period; check the exact event name and pathname. If absent, check the installed opt-in, enabled rule, request timing, privacy preferences, exclusions and quota. A script loading successfully does not prove that an event was stored.
Something unclear? Contact support.