Skip to main content
Pro Plan10 minutesBeginner

Creating Your First Goal

Set up conversion goals in Zenovay to track important user actions - signups, purchases, downloads, and more. Learn about goals in this goals and funnels guide.

goalsconversionstrackingsetup
Last updated:
Pro Plan

Goals let you track important conversions on your website. Learn how to create your first goal and start measuring what matters.

Zenovay Goals & Funnels tab with the Add Goal button.
Create goals from the Journeys tab using the Add Goal button.

Info

Free plans can create up to 3 goals. Conversion rates and monetary goal values are available on Pro and above.

What Are Goals?

Goals track specific user actions:

Use CaseExample Goal
Lead generationForm submission
E-commercePurchase completion
SaaSAccount signup
ContentArticle read
EngagementVideo watched

Why Track Goals?

Goals help you:

  • Measure conversion rates
  • Identify traffic sources that convert
  • Optimize user journeys
  • Calculate ROI
  • Attribute revenue

Goal Types Overview

TypeTracksExample
URL MatchPage visitsThank you page
Element ClickButton/link clicksCTA button
Custom EventJavaScript eventsForm submit

Creating Your First Goal

Goals live on each website's dashboard, in the Journeys tab.

Step-by-Step Guide

  1. Open the Goals view

    Open your website's dashboard, select the Journeys tab, then the Goals subtab.

  2. Add a goal

    Click Add Goal.

  3. Choose Goal Type

    Select the type that matches your conversion (Page Visit, Click, or Event).

  4. Configure Goal

    Enter the specific trigger (URL, element, or event name).

  5. Name Your Goal

    Give it a descriptive name.

  6. Set Value (Optional)

    Assign a monetary value if applicable (Pro and above).

  7. Save Goal

    Save to activate the goal.

Quick Start: URL Goal

The simplest goal type - track visits to a specific page.

Example: Thank You Page

  1. Open Journeys → Goals and click Add Goal
  2. Select "URL Match"
  3. Enter URL: /thank-you or /order-complete
  4. Name: "Purchase Complete"
  5. Value: $50 (average order value)
  6. Save

URL Matching Options

Match TypePatternMatches
Exact/thank-youOnly that exact path
ContainsthankAny URL containing "thank"
Starts with/blog/All blog posts
Ends with/successAny URL ending in "success"
Regex/order-\d+/Order pages with numbers

Quick Start: Click Goal

Track when users click specific elements.

Example: CTA Button

  1. Open Journeys → Goals and click Add Goal
  2. Select "Element Click"
  3. Enter CSS selector: #signup-button or .cta-main
  4. Name: "CTA Clicked"
  5. Save

Finding CSS Selectors

To get the selector:

  1. Right-click the element
  2. Choose "Inspect"
  3. Find id or class
  4. Use #id or .class

Quick Start: Custom Event Goal

Track custom JavaScript events.

Example: Form Submission

  1. Add tracking code to your form:
document.querySelector('form').addEventListener('submit', function() {
  zenovay('goal', 'signup_form');
});
  1. Create the goal in Zenovay:
    • Select "Custom Event"
    • Event name: signup_form
    • Name: "Signup Form Submitted"
    • Save

Info

Custom event names must be lowercase and may only contain letters, numbers, underscores, and hyphens. If you fire zenovay('goal', 'event_name') for an event that doesn't have a goal yet, Zenovay can auto-create a Custom Event goal for you.

Goal Configuration Options

Basic Settings

SettingDescription
NameDisplay name in reports
TypeURL Match, Element Click, or Custom Event
TriggerWhat activates the goal
ActiveEnable/disable tracking

Value Settings

Pro Plan

Assign monetary value:

OptionUse Case
Fixed valueSame value every time
Dynamic valueValue from JavaScript
No valueJust count conversions

Dynamic Value Example

Pass a value from your page for Custom Event goals:

// On purchase complete page
zenovay('goal', 'purchase', {
  value: orderTotal
});

Once-per-session counting

Each goal counts at most once per session. If a visitor triggers the same goal twice in one session, only the first completion is recorded, so you don't double-count a single visit.

Testing Your Goal

Before Going Live

  1. Test trigger manually

    • Visit the URL / click the element / fire the event
    • Check the goal records a completion
  2. Verify in the dashboard

    • Open Journeys → Goals
    • You should see the test completion
  3. Check attribution

    • Verify the traffic source is credited

Debug Mode

Enable debug to test:

zenovay('debug');
// Now perform the action
// Check the console for goal events

Viewing Goal Data

Goal Reports

After setup, find each goal's completions, total value, and (on Pro and above) conversion rate in Journeys → Goals on your website's dashboard.

Key Metrics

MetricDescription
CompletionsTotal goal completions
Conversion Rate% of visitors converting (Pro and above)
ValueTotal goal value

Best Practices

Naming Conventions

Use clear, descriptive names:

BadGood
Goal 1Newsletter Signup
Button ClickCTA - Free Trial Click
Page ViewPurchase Complete

Value Assignment

Tips for setting values:

  • Use actual revenue for purchases
  • Estimate lead value for forms
  • Use no value for engagement goals
  • Be consistent across similar goals

Common Goals

Lead Generation

GoalTrigger
Contact formForm submission event
NewsletterEmail submit event
Demo requestDemo page URL
Content downloadPDF click event

E-commerce

GoalTrigger
Add to cartButton click
Begin checkoutCheckout URL
PurchaseThank you page
Create accountAccount created event

SaaS

GoalTrigger
SignupRegistration complete
Trial startTrial activation
Feature useIn-app event
UpgradeUpgrade complete

Troubleshooting

Goal Not Tracking

If completions don't appear:

  1. Check trigger accuracy

    • URL exact or contains?
    • Selector correct?
    • Event name matches?
  2. Verify the tracking script is installed

    • Tracking code on the goal page?
  3. Test in debug mode

    • Are events firing?
  4. Check the goal is active

    • Not disabled?

Double Counting

Goals already count at most once per session. If you still see duplicates:

  • Check for duplicate triggers on the page
  • Verify the event isn't firing multiple times

Next Steps

Was this article helpful?