Zenovay offers multiple goal types to track different kinds of conversions. Choose the right type for what you want to measure.
Goal Types Comparison
| Type | Best For | Complexity |
|---|---|---|
| URL Match | Page views, thank you pages | Easy |
| Element Click | Button clicks, link clicks | Easy |
| Custom Event | Form submits, custom actions | Medium |
URL Match Goals
Overview
Track when visitors reach specific pages.
Best for:
- Thank you pages
- Confirmation pages
- Specific content views
- PDF downloads (if separate page)
Setup
- Choose "URL Match" type
- Enter the URL pattern
- Select match type
Match Options
| Type | Example | Matches |
|---|---|---|
| Exact | /thank-you | Only exact path |
| Contains | confirmation | Any URL with word |
| Starts with | /blog/ | All blog posts |
| Ends with | /success | URLs ending in "success" |
| Regex | /order/\d+ | Order with numbers |
Examples
| Goal | URL Pattern | Match Type |
|---|---|---|
| Purchase complete | /thank-you | Exact |
| Any blog post | /blog/ | Starts with |
| Signup success | signup-success | Contains |
| Order page | /order/[0-9]+ | Regex |
Query Parameters
Handle URLs with parameters:
?ref=email- Include or ignore- Option to match path only
- Or match full URL including params
See URL Match Goals for details.
Element Click Goals
Overview
Track clicks on specific page elements.
Best for:
- CTA buttons
- Navigation links
- Download links
- Outbound links
Setup
- Choose "Element Click" type
- Enter CSS selector
- Optionally set page scope
CSS Selectors
| Selector | Matches |
|---|---|
#signup-btn | Element with id="signup-btn" |
.cta-primary | Elements with class="cta-primary" |
a[href*="demo"] | Links containing "demo" |
button[type="submit"] | Submit buttons |
Finding Selectors
- Right-click element
- Choose "Inspect"
- Look for unique id or class
- Test selector in console
Examples
| Goal | Selector |
|---|---|
| Main CTA | #cta-main |
| Pricing button | .pricing-cta |
| Demo link | a[href="/demo"] |
| Any download | a[download] |
See Element Click Goals for details.
Custom Event Goals
Overview
Track custom JavaScript events you define.
Best for:
- Form submissions
- Video interactions
- AJAX actions
- Single-page app events
- Complex user actions
Setup
- Add JavaScript tracking code
- Choose "Custom Event" type
- Enter event name
- Optionally pass value
Implementation
Send events from your code:
// Basic event
zenovay('goal', 'form_submit');
// With value
zenovay('goal', 'purchase', { value: 99.99 });
// With properties
zenovay('goal', 'signup', {
value: 50,
plan: 'pro',
source: 'homepage'
});
Examples
| Goal | Event Code |
|---|---|
| Form submit | zenovay('goal', 'contact_form') |
| Video complete | zenovay('goal', 'video_finished') |
| Add to cart | zenovay('goal', 'add_to_cart', { value: price }) |
| Feature used | zenovay('goal', 'feature_x_used') |
See Custom Event Goals for details.
Choosing the Right Type
Decision Guide
| Question | Recommended Type |
|---|---|
| Is there a specific page that indicates success? | URL Match |
| Does the action have a clickable element? | Element Click |
| Is it a form, AJAX action, or complex interaction? | Custom Event |
Common Scenarios
| Scenario | Best Type |
|---|---|
| Newsletter signup (popup) | Custom Event |
| Newsletter signup (page) | URL Match |
| Download button click | Element Click |
| Purchase complete | URL Match |
| Watch 50% of video | Custom Event |
| Form submission (AJAX) | Custom Event |
Multiple Goal Types
Combining Goals
You can create multiple goals for one action:
Example: Purchase
- URL Goal:
/checkout/complete - Event Goal:
purchasewith value - Click Goal: "Buy Now" button
Why Use Multiple?
- Redundancy for accuracy
- Different measurement points
- Track full funnel
Goal Best Practices
Keep Goals Manageable
While there is no hard limit on the number of goals, we recommend:
- Prioritize most important conversions
- Remove unused goals
- Use events for variations
- Consolidate similar goals
Testing Goals
Before Launch
- Create goal
- Test trigger yourself
- Verify in real-time view
- Check attribution
- Launch to production
Debug Mode
zenovay('debug');
Watch console for goal events.