TL;DR: A goal counts a specific visitor action and attributes it back to a traffic source, campaign, or cohort. You can create four types: URL pattern (counts automatically when a visitor views a matching page — supports the * wildcard and is matched retroactively against historical pageviews), event name (counts when your site sends a custom event with that name), outbound link, and file download. Add a goal from the dashboard Goal card — click Add goals — or at /dashboard/goals. Ecommerce stores typically track purchases and checkouts; SaaS products typically track signups, trials, and subscription starts. Goals appear on your dashboard Goal tab with conversions, unique visitors, and an optional value.
A goal is a single action you want to count and attribute back to a traffic source, campaign, or cohort. Where a page view just says "someone landed here," a goal says "someone did the thing that matters" — completed a checkout, started a trial, downloaded your pricing PDF, or booked a call.
You define what counts. Once a goal exists, Admaxxer matches it against your visitor activity and shows you how many times it happened, how many unique people did it, and — if you add a value — how much it was worth. Goals that are based on page addresses are even matched retroactively, so a URL goal you add today starts with the history you already have, not from zero.
Pick the type that matches how the action happens on your site.
* as a wildcard to match anything. No extra code, and it counts your existing history. Example: /checkout/thank-you*.Signup.calendly.com. (Conversion counting coming soon.).pdf. (Conversion counting coming soon.)URL goals count themselves. A URL-pattern goal needs no extra code — it's matched against the pages your visitors already view, including pages they viewed before you created the goal. Use * as a wildcard, e.g. /checkout/thank-you* matches /checkout/thank-you, /checkout/thank-you?order=123, and so on.
There are two ways in, and they land in the same place:
Goals belong to a website. If you track more than one site, pick the right one from the website selector at the top of the goals page before you create the goal.
For a store, the actions that matter are about revenue: completed orders, started checkouts, added-to-cart. A couple of goals cover most of it.
| Goal name | Type | Match value |
|---|---|---|
| Purchase completed | URL pattern | /checkout/thank-you* |
| Purchase (event) | Event name | purchase |
| Checkout started | URL pattern | /checkout* |
| Sizing guide downloaded | File download | .pdf |
For a SaaS product, the actions that matter are about activation and revenue: signups, trials, and subscription starts. These are usually event-name goals because they happen inside your app, not at a fixed URL — though a welcome page works well as a URL goal.
| Goal name | Type | Match value |
|---|---|---|
| Signup | Event name | Signup |
| Trial started | Event name | Trial Started |
| Subscription started | Event name | Subscription Started |
| Welcome screen reached | URL pattern | /welcome |
Stores and SaaS apps track different things — and that's the point. Ecommerce goals lean on purchases and checkouts; SaaS goals lean on signups, trials, and subscription starts. Keep your goals matched to what your product actually does and your reports stay clean.
This is the one thing worth getting right. There are two families of goal:
So if you created an event goal called Signup and it's sitting at zero, the fix is usually to make your site send a Signup event at the moment someone signs up. Here's how.
Once the Admaxxer tracking snippet is on your site, window.admaxxer is a function you can call. Fire your event from the moment the action happens — one line:
window.admaxxer('Signup');
The name you pass must match your goal's event name exactly. You can attach a few extra details as a second argument if you want to slice on them later:
window.admaxxer('Subscription Started', {
plan: 'pro',
source: 'pricing',
});
For an ecommerce store, fire a purchase event when the order is confirmed:
window.admaxxer('purchase');
If the snippet might not be loaded yet, guard the call so it never errors: typeof window.admaxxer === 'function' && window.admaxxer('Signup'). Prefer no code at all? Add data-admx-goal="Signup" to a button and it fires on click. For every option — clickable elements, single-page apps, and sending events from your own backend — see the custom goals developer reference.
Your goals appear on the dashboard Goal tab, each with its conversions (how many times it happened), unique visitors (how many different people did it), and an optional value when you've set one. Open the goals page to see the full list, edit a goal, or expand a goal for its conversion trend over time. From there you can chain goals into a conversion funnel to see where people drop off between steps.
Almost always it means your site isn't sending that event yet. Event-name goals only count when your site fires a custom event with the exact same name. Make your site send the event (window.admaxxer('Your Event Name') or a data-admx-goal attribute) at the moment the action happens, then check again. URL-pattern goals don't have this problem — they count automatically from pageviews.
URL-pattern and event-name goals do — both are matched against the data you've already collected within the date range you're viewing, so they can show conversions from before you created the goal. Outbound-link and file-download goals can be created today; conversion counting for those two types is coming soon.
A URL goal counts when a visitor views a page whose address matches your pattern — no extra code needed. An event goal counts when your site sends a named custom event. Use a URL goal when your conversion lands on a real page (a thank-you or welcome page); use an event goal for actions that happen in-app without a dedicated URL.
Put * where the address can vary. /checkout/thank-you* matches /checkout/thank-you, /checkout/thank-you?order=123, and /checkout/thank-you/abc. /blog/* matches every page under /blog. This lets one goal cover many addresses.
Yes. When you create or edit a goal you can set an optional value — for example the average revenue a conversion is worth. Admaxxer totals it across conversions so you can see the value a goal is driving, not just the count.
No — they care about different actions. A store tracks purchases and checkouts; a SaaS product tracks signups, trials, and subscription starts. Match your goals to what your product actually does.
Custom goals (developer reference) · Conversion funnels · Install the tracking snippet · Metric glossary