Pageviews are nice. Conversions are the point. Mark which moments matter, then see where visitors are quietly walking away.
Pick whichever fits how your site is built. Mix and match if you have to.
Zero code to add
A visitor reaches /thanks or /order-confirmed and the goal is counted.
One function call
Call window.corbacount_goal('signup') from anywhere in your code.
One function, already loaded by the tracker snippet. Call it whenever the conversion happens in your own code. The goal name is whatever string you choose - create the matching goal in your dashboard and the counts start appearing.
navigator.sendBeacon, so it never blocks your pageSetup details live in the install docs.
<form id="signup-form" action="/register" method="post">
<!-- your existing form -->
</form>
<script>
document.getElementById('signup-form').addEventListener('submit', function () {
// counts one 'signup-completed' conversion for this visitor
window.corbacount_goal('signup-completed');
});
// optional second argument: a reference id (an order number, for example).
// the same goal + reference is only counted once, so a refreshed
// thank-you page never double-counts a sale
window.corbacount_goal('order-paid', 'order-10482');
</script>
Every goal feeds one conversions report: totals, a daily chart, and where the people who converted came from.
Signup, paid upgrade, newsletter, downloaded white-paper - all tracked separately on the same site, each with its own conversion rate and report.
| Goal | Type | Conversions | Unique Visitors | Rate | Actions |
|---|---|---|---|---|---|
|
Newsletter signup
/newsletter/thanks
|
URL | 96 | 94 | 0.22% | Report |
|
Trial started
signup-completed
|
JS | 71 | 70 | 0.17% | Report |
|
Order paid
order-paid
|
JS | 47 | 41 | 0.1% | Report |
The traffic source with the most visitors is rarely the one with the most signups. Every conversion keeps the page, referrer and country it came with - including AI assistants like ChatGPT and Perplexity.
| /blog/how-to-track-ai-traffic | 58 |
| /pricing | 49 |
| / | 37 |
| /features | 26 |
| /docs/install | 14 |
| google.com Search Engine | 71 |
| chatgpt.com AI Tool | 38 |
| Direct | 34 |
| news.ycombinator.com Website | 22 |
| linkedin.com | 11 |
| πΊπΈ US | 64 |
| π³π± NL | 41 |
| π©πͺ DE | 33 |
| π¬π§ GB | 24 |
| π§πͺ BE | 12 |
See who converted, from where, on which device and through which entry page - including UTM tags and your own reference, such as an order number. Click into a converted visitor to follow every page they visited before the moment they signed up.
| Date | Goal | Visitor | Country | Referrer | Entry Page | Browser / OS | Device | Reference |
|---|---|---|---|---|---|---|---|---|
| Nov 11, 2026 15:52 | Order paid | c81f02ab94... | π³π± NL | chatgpt.com AI Tool | /blog/how-to-track-ai-traffic | Chrome / macOS | Desktop | order-10482 |
| Nov 11, 2026 15:37 | Trial started | 5e0b7d3c21... | πΊπΈ US | google.com Search Engine | /pricing | Safari / iOS | Mobile | - |
| Nov 11, 2026 15:09 | Newsletter signup | 9a4c61e0d7... | π©πͺ DE |
linkedin.com
utm: linkedin / social
|
/features | Firefox / Windows | Desktop | - |
| Nov 11, 2026 14:33 | Trial started | 0f73e9a2b6... | π¬π§ GB | Direct | / | Chrome / Android | Mobile | - |
| Nov 11, 2026 13:50 | Order paid | d2e85a17c9... | π§πͺ BE | news.ycombinator.com Website | /docs/install | Edge / Windows | Desktop | order-10481 |
A funnel is a series of steps, each matched by URL - exact, contains, starts with or a regex. Visitors flow from one step to the next and you see exactly where they fall out.
Two for "saw pricing, clicked signup", six for a checkout flow.
How many sessions were lost between each step, and what share of the start made it this far.
Compare the funnel before and after you change a page.
Most tools gate funnels to "Pro" plans. They are included on every CorbaCount tier - see pricing.
| Step | Name | URL Pattern | Sessions | Drop-off | Rate from Start |
|---|---|---|---|---|---|
| 1 | Pricing page | /pricing | 2.1K | - |
|
| 2 | Signup form | /register | 842 | -1.3K (60.1%) |
|
| 3 | Email verified | /register/verify | 516 | -326 (38.7%) |
|
| 4 | First site added | /welcome | 389 | -127 (24.6%) |
|
You enter a path like /thanks when creating the goal. Every time a tracked pageview matches that path, the visitor is counted as converted - once per visit, not once per refresh. No code changes on your site; the regular tracking snippet already sends the URL.
Each step shows how many sessions reached it, how many were lost since the step before and what percentage of the starting sessions made it this far. The bars shrink with every step, so a step where 70% of people quit shows up as a visible cliff, not a row in a spreadsheet.
Yes. Every conversion keeps the visitor's original source - search engine, social network, referring site, or AI assistant. CorbaCount classifies AI referrers separately, so you can see whether visitors arriving from ChatGPT or Perplexity actually sign up, or just browse and leave.
Yes. The JavaScript trigger does not care about page loads - call window.corbacount_goal() from a React handler, a Vue method, or a plain fetch callback and the conversion is recorded. URL goals match real page loads, so for client-side route changes the JavaScript trigger is the right tool.
Want to see the reports these feed into? Take the dashboard tour.
Goals and funnels are included on every CorbaCount plan. Drop your email and we will let you know when it is your turn.