For landing pages

Know what's working on your landing page — and what's not.

Track where visitors come from, which actions they take, and what leads to signups or sales. Understand your landing page performance beyond just traffic numbers.

14-day free trial · No card required · From $9/month

Traffic vs. conversions

A thousand visitors mean little if nobody converts.

A busy page can be the weaker one. What counts is how many of its visitors do what the page asks: join the waitlist, sign up, book the call, buy.

In the example, page B gets fewer than half the visitors but converts three times as well. Which one is worth more still depends on who signs up and whether they go on to pay, which is why the same dashboard can show revenue too.

SuprAnalytics reports on the pages you publish. It doesn't split traffic between versions of a page or test for statistical significance: put two pages side by side under the same dates and filters, and read what each one recorded.

Illustrative example: visitors, signups and signup conversion rate of two landing pages
PageVisitorsSignupsConv. rate
Landing page A1,000202%
Landing page B400246%
Illustrative example, not real customer data. Signup conversion rate = visitors who signed up ÷ visitors to the page.

Traffic sources

Know which channels bring the right visitors.

Every visit is recorded with its referrer, campaign and the page it landed on, so you can see which channels fill the page and which ones convert.

  • Organic Search
  • Social
  • AI
  • Email
  • Referral
  • Paid
  • Direct
  • Google, Bing, Reddit, LinkedIn, X, newsletters and more are named and grouped into channels
  • ChatGPT, Perplexity, Claude and other AI assistants get their own channel (AI traffic)
  • Links tagged with UTM parameters or ?ref= appear as campaigns, each with its visitors, customers and revenue (UTM tracking)
  • The Entry page tab lists the pages visits started on, so each landing page has its own row
  • Make your signup goal the #1 KPI and every source, campaign and entry page also shows how many of its visitors completed it, and its goal conversion rate

Not every visit says where it came from. Many apps, some browsers and private links send no referrer, and those visits are counted as Direct. Tagging the links you share fixes that for your own campaigns. Tracking parameters

The Sources panel of a fictional website, Launchpad, on its Campaign tab: the same four campaigns with their conversion rates and visitors, from the newsletter's 1.3k to Product Hunt's 241. Made-up data.

CTA tracking

See whether visitors take the next step.

Your page has one button that matters. Tag it, and every click on it is counted as a goal, with the visitor's source, campaign and landing page beside it.

  • Get started
  • Join waitlist
  • Book a demo
  • Download guide
  • View pricing
  • Add supr-goal="name" to a button or link: a click completes the goal, no JavaScript needed
  • Every supr-goal-* attribute becomes a property, so one goal can tell the hero button from the footer one
  • “View pricing” needs no tag at all: a page goal for /pricing counts everyone who reached it, past visits included
  • Want to know who saw the offer? supr-scroll completes a goal when a section comes into view (scroll goals)

Clicks aren't tracked as goals until you tag them. The script records pageviews and clicks on links to other websites by itself; a click on your own button or link is only a goal when it carries the attribute or calls window.supr(). And a click is interest, not a signup: the next section counts the ones that finished.

HTML: tag the button
<a href="/signup"
   supr-goal="get_started"
   supr-goal-placement="hero">Get started</a>

<button supr-goal="book_demo">Book a demo</button>
JavaScript: send the goal yourself
// For a click handled in your own JavaScript
window.supr("join_waitlist_click", {
  placement: "footer",
});

Goal names are lowercased, with spaces turned into underscores. Up to 10 properties per goal. Custom goals

Signups and leads

Track conversions that actually happened.

A click on Submit isn't a lead: the form can fail, the email can bounce, the visitor can give up halfway. Count the moment it succeeded instead.

  • Waitlist signup confirmed
  • Contact form sent
  • Newsletter registration confirmed
  • Account created
  • Demo request submitted

A thank-you page

If your form leads to a page like /thanks, make it a page goal: name and path, no code. Only visitors who got there are counted.

An event after success

Call window.supr("waitlist_joined") in your form's success handler, after the request comes back without an error.

A goal from your server

For an account created, an email confirmed or a booking accepted, send the goal from your backend with the visitor's id.

JavaScript: count the signup once it succeeded
// In your form's code, once the request succeeded
const res = await fetch("/api/waitlist", {
  method: "POST",
  body: new FormData(form),
});
if (res.ok) window.supr("waitlist_joined");
Server: count the account once it exists
# From your server, when the account is really created
curl -X POST https://supranalytics.app/api/v1/goals \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"visitor_id": "<supr_visitor_id cookie>",
       "name": "account_created"}'

Forms aren't detected automatically: SuprAnalytics doesn't listen for form submissions, so one of the three above is needed. A server goal needs a visitor who has already visited, and is recorded when it arrives.

The Goals page of a fictional website, Launchpad, on a phone: 7 goals, 11k total conversions and a 10.1% average conversion rate, and a chart of the visitors who completed the viewed_pricing goal each day, with every goal listed under it by visitors. Made-up data.

How the conversion rate is counted

Goal conversion rate = unique visitors who completed the goal ÷ unique visitors in the period

  • Per visitor, not per visit or pageview. Someone who signs up twice counts once in the rate; both completions count in Conversions.
  • Both sides use the same date range and filters. Filter by an entry page or a campaign and the rate is for those visitors.
  • The dashboard's headline Conversion rate is a different figure: new paying customers ÷ visitors. Make a goal your #1 KPI to put that goal there instead.

More on goal tracking

Conversion funnels

See where visitors stop moving forward.

Save the path you want visitors to take as a funnel. It shows how many reach each step, how many stop between steps, and how long each step takes.

  1. Landing page
  2. Pricing page
  3. Signup
  4. Payment
An illustrative funnel. Each step is a page, a goal or a payment you set up.
A funnel in the live demo called Homepage → Paid, with five steps: visiting the homepage, visiting the pricing page, the signup goal, the checkout_started goal and a payment. It shows the visitors at each step, from 7k down to 72, the drop-off between steps, and a 1.0% conversion rate over the last 30 days. Made-up data.
  • 2 to 8 steps: a page visit (equals, contains, starts with, wildcard and more), a goal completed or not completed, or a payment
  • Steps count unique visitors, in order, and can span several visits: each step is the visitor's first match after the previous one
  • Step conversion, overall conversion, the visitors lost at each step and the average time between steps
  • The dashboard's dates and filters apply, so one funnel can be read for one campaign or one landing page

You choose the steps: funnels aren't discovered automatically, and a goal step only counts once that goal is tracked. There's no conversion window besides the date range. Funnels show where people leave; turn on session recordings to watch why.

Explore conversion funnels

Revenue attribution

Find out which landing pages bring paying customers.

Signups are a promise; payments are the result. Connect your payment provider and each source, campaign and page shows the customers and revenue it led to, beside its visitors.

Works with Stripe, Polar, Lemon Squeezy, Paddle and Dodo Payments, each through its own webhook, and anything else through the Payment API.

Illustrative example: visitors, signups, customers and revenue of two campaigns
CampaignVisitorsSignupsCust.Revenue
Newsletter launch600306$540
Paid social1,500453$270
Illustrative example, not real customer data. Paid social sends more than twice the visitors and more signups; the newsletter brings twice the revenue.

First or last touch

Each website chooses which visit gets the credit: the first one ever (what found the customer) or the last one before paying (what closed the sale). Last touch is the default.

Last touch can be Direct

Someone who found you through an ad and came back later by typing your address is credited to Direct under last touch. Switch to first touch to credit the ad.

Unmatched payments

Attribution needs the provider's webhook and the visitor id carried through checkout. A payment that can't be tied to a visit still counts in your revenue, without a source.

No ad spend or ROAS

SuprAnalytics doesn't import what you spend on ads, so it doesn't calculate ROAS, CAC or profit. Revenue and revenue per visitor by campaign are there to set beside your own costs.

The referrer report of the live demo sorted by revenue: Google, direct visits, ChatGPT, a newsletter, LinkedIn and X, each with visitors, bounce rate, session duration, customers, conversion rate, revenue and revenue per visitor. Made-up data.

Explore revenue attribution

Visitor journeys

See what happened before someone converted.

Open any visitor who signed up or paid and read their visits in order: where each one came from, the page it started on, the pages after it, the goals completed and the payment at the end.

  1. Google
  2. Landing page
  3. Pricing
  4. Signup goal
  5. Payment

An illustrative journey. The payment can come on a later visit.

  • Each visit with its source and UTM tags, then every page, goal and outbound click in order
  • Payments on the timeline once they're matched to the visitor, marked as new customer, renewal or refunded
  • Every goal lists the visitors who completed it, with their first source and time to complete (visitor journeys)

A journey is what the script recorded in one browser: pages and the actions you track, not a recording of the screen. Someone who reads on a phone and buys on a laptop is two visitors, unless your app identifies them; in cookieless mode a visitor is recognised for a day.

A visitor's profile in the live demo: two visits, the first from google.com and the second from a newsletter with UTM tags, with the pages viewed, the signup and checkout_started goals, and a $79 payment via Polar. Made-up data.

Realtime

See traffic arrive when your campaign goes live.

Publish the post, send the email, switch on the ads, then watch who arrives, where from, and whether they reach the goal.

  • Product Hunt launch
  • Reddit post
  • Newsletter campaign
  • Social announcement
  • Paid campaign launch
The real-time view of a fictional website, Launchpad, on a phone: 21 visitors online, a bar per minute for the last 30 minutes with 62 pageviews, the people online ranked by source, and a list of visitors with their current page, city and source. Made-up data.

Who's online

Visitors seen in the last 5 minutes, with their source, page, country and device.

As it happens

A feed of pageviews, goals and payments as they're recorded: quick, though not instant.

Minute by minute

The last 30 minutes in one-minute bars, to see the spike when the post goes up.

Against last week

Turn on Compare to set any period against the one before it (realtime analytics).

Multiple pages and websites

One dashboard for every page you're testing.

One landing page per campaign, or a separate site for each product: both fit in one account.

Several landing pages on one website

  • Each page has its own row in the Pages report and the Entry page tab, with its views, bounce rate and revenue
  • Filter the whole dashboard to one entry page to see its sources, goals and funnel
  • Pages on a subdomain such as go.yourdomain.com report to the same website, split by Hostname

Several websites in one account

  • Unlimited websites on every plan, each with its own dashboard, goals and payment setup
  • All websites puts their visitors, revenue and trends side by side (how it works)
  • Your plan's monthly events are shared across all of them
The websites overview of a demo account: six websites with their visitors, revenue, change against the previous period, a small traffic chart and who is online now. Made-up data.

“Testing” here means publishing pages and comparing what each one recorded. There's no built-in A/B testing: SuprAnalytics doesn't split traffic between versions or calculate statistical significance.

Use cases

Measure the action your landing page was built for.

Most landing pages exist for one result. Decide what it is, track it the way it really happens, and read every other number against it.

  • Waitlist landing page

    Measures: Successful registrations

    An event goal sent after the signup succeeds, or a page goal on the confirmation page. Make it your #1 KPI to see it on every source and campaign.

  • SaaS landing page

    Measures: Signups and demo requests

    A signup goal (sent from your server once the account exists) and a demo-request goal, then a funnel from the landing page through signup to payment.

  • Digital product landing page

    Measures: Attributed purchases

    Payments from Polar, Lemon Squeezy, Stripe, Paddle or Dodo Payments, credited to the source and campaign of the visit, with revenue per visitor.

  • Lead generation landing page

    Measures: Completed inquiries

    A goal sent when the inquiry is actually received. Turn on the chat to answer questions on the page: visitors start a conversation from the bubble.

The chat is part of the same script and is switched on per website. A name or email appears only when the visitor gives one. Live chat

Questions, answered.

What is landing page analytics?

Measuring what happens on a page built for one action: where its visitors come from, how many take the next step, how many complete the signup, lead or purchase, and where the rest leave. SuprAnalytics records the visits and the goals and payments you set up, and shows them by source, campaign and page.

How do I track visitors to my landing page?

Add the SuprAnalytics script to the page's head, or follow the guide for your platform (Webflow, Framer, WordPress, Next.js and more). Pageviews, sources, campaigns and devices are recorded from then on, and the page appears in the Pages and Entry page reports.

Can I track CTA button clicks?

Yes, once you tag them. Add supr-goal="name" to the button or link, or call window.supr("name") from your code. Clicks on untagged buttons aren't recorded as goals; clicks on links to other websites are recorded as outbound clicks.

Can I measure form submissions and signups?

Yes, with a goal that fires on success: a page goal on your thank-you page, window.supr() in your form's success handler, or a goal sent from your server once the signup is saved. SuprAnalytics doesn't detect form submissions automatically.

How does SuprAnalytics calculate conversion rates?

A goal's conversion rate is the unique visitors who completed it divided by the unique visitors in the same period and filters. It's per visitor, not per visit. The dashboard's headline conversion rate is new paying customers divided by visitors, unless you make a goal your #1 KPI.

Can I see which traffic sources generate conversions?

Yes. Each goal shows the sources of the visits it was completed in, and with a goal as your #1 KPI every source, campaign and entry page shows its completions and goal conversion rate. With a payment provider connected, they also show customers and revenue, credited by first or last touch.

Does SuprAnalytics support A/B testing or heatmaps?

Not A/B testing: SuprAnalytics doesn't split traffic between page versions; you can publish two pages and compare what each one recorded under the same dates and filters. Heatmaps, yes: turn them on for a website to see where people click and how far they scroll on each page, by device. They're off by default.

Can I track multiple landing pages in one account?

Yes. Pages on one website each get their own rows and can be filtered on, and every plan includes unlimited websites. Your plan's monthly events, from 100,000 on the smallest, are shared across all of them.

Turn landing page traffic into useful insights.

Understand where visitors come from, what they do, and which actions lead to signups and revenue.

14-day free trial · No card requiredSee pricing