5H3LL product guides · Updated 27 October 2026
Instrument signup goals you can trust
Choose stable event names, distinguish intent from completion, and verify each action before relying on conversion reports.
The question to answer
A clicked button and a completed signup are useful but different signals. Recording both helps explain a journey, provided the names make the difference clear. Decide exactly when an action counts, avoid duplicate triggers and keep event properties free of personal or sensitive information.
Before you start
The tracker installed and only active where consent permits.
Access to the HTML or application code for the action.
A written definition of success, including when it should fire once.
1. Define the event contract
Use a stable name such as signup_click for intent and signup_complete for a successful result. Write down the trigger, where it runs and which optional properties are useful. Names must fit the documented 64-character limit.
2. Instrument a click if needed
Add data-ml-goal to the relevant button for a click event. This records the click; it cannot know whether a later server request succeeded. Use the completion event only after your application confirms that success.
3. Fire completion from the application
Call window.minilytics with the goal name after the real success condition. The example guards against the tracker being absent, but your application must also respect consent and avoid firing the goal twice after retries or rerenders.
4. Test distinct cases
Try a successful action, a failed action and a repeated submission. Confirm the completion event appears only for the successful result. Do not attach names, email addresses, payment details or private form values as goal properties.
5. Read the filtered report
Open Goals for the correct dates. Select a channel, campaign or page to inspect that audience. Distinguish event occurrences from unique visitors before calculating conversion, because a visitor may perform an action more than once.
Worked example
The JavaScript example is a completion event only when called after confirmed success. A button attribute belongs to the earlier click event. Use the documentation for supported server-side goal tracking if completion happens outside the browser.
Check your setup
Successful completion produces the expected event once.
Validation failures do not produce the completion event.
Property values do not contain personal or confidential data.
How to interpret the result
A click event does not prove that a purchase or signup completed.
Blocked tracking or withheld consent creates missing observations.
Repeated events are not additional unique converting visitors.
Your next action
Instrument one completed action first, validate it, and only then add the earlier steps needed to explain drop-off.
| Event | Trigger | Meaning |
|---|---|---|
| signup_click | Click on the signup CTA | Intent to start |
| signup_complete | Account creation confirmed | A completed signup |
| checkout_click | Click through to checkout | Checkout intent, not a payment |
Setup example
// Run only after your application confirms signup succeeded.
if (typeof window.minilytics === 'function') {
window.minilytics('goal', 'signup_complete', { plan: 'indie' });
}Free plan available. Paid plans from £3. Refund policy.