Pro Plan10 minutesbeginner

Goal Types Explained

Understand the different goal types in Zenovay - URL match, element click, custom event, duration, and pages per session.

goalsconversionstypestracking
Last updated: January 15, 2025
Pro Plan

Zenovay offers multiple goal types to track different kinds of conversions. Choose the right type for what you want to measure.

Goal Types Comparison

TypeBest ForComplexity
URL MatchPage views, thank you pagesEasy
Element ClickButton clicks, link clicksEasy
Custom EventForm submits, custom actionsMedium

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

  1. Choose "URL Match" type
  2. Enter the URL pattern
  3. Select match type

Match Options

TypeExampleMatches
Exact/thank-youOnly exact path
ContainsconfirmationAny URL with word
Starts with/blog/All blog posts
Ends with/successURLs ending in "success"
Regex/order/\d+Order with numbers

Examples

GoalURL PatternMatch Type
Purchase complete/thank-youExact
Any blog post/blog/Starts with
Signup successsignup-successContains
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

  1. Choose "Element Click" type
  2. Enter CSS selector
  3. Optionally set page scope

CSS Selectors

SelectorMatches
#signup-btnElement with id="signup-btn"
.cta-primaryElements with class="cta-primary"
a[href*="demo"]Links containing "demo"
button[type="submit"]Submit buttons

Finding Selectors

  1. Right-click element
  2. Choose "Inspect"
  3. Look for unique id or class
  4. Test selector in console

Examples

GoalSelector
Main CTA#cta-main
Pricing button.pricing-cta
Demo linka[href="/demo"]
Any downloada[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

  1. Add JavaScript tracking code
  2. Choose "Custom Event" type
  3. Enter event name
  4. 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

GoalEvent Code
Form submitzenovay('goal', 'contact_form')
Video completezenovay('goal', 'video_finished')
Add to cartzenovay('goal', 'add_to_cart', { value: price })
Feature usedzenovay('goal', 'feature_x_used')

See Custom Event Goals for details.

Choosing the Right Type

Decision Guide

QuestionRecommended 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

ScenarioBest Type
Newsletter signup (popup)Custom Event
Newsletter signup (page)URL Match
Download button clickElement Click
Purchase completeURL Match
Watch 50% of videoCustom Event
Form submission (AJAX)Custom Event

Multiple Goal Types

Combining Goals

You can create multiple goals for one action:

Example: Purchase

  1. URL Goal: /checkout/complete
  2. Event Goal: purchase with value
  3. 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

  1. Create goal
  2. Test trigger yourself
  3. Verify in real-time view
  4. Check attribution
  5. Launch to production

Debug Mode

zenovay('debug');

Watch console for goal events.

Next Steps

Was this article helpful?