Skip to content
More languages coming soon
All articles

Measuring sign-ups and checkouts without cookies ​

Conversion tracking sounds as if it needs to know who people are: this person clicked an ad, came back, and bought. Most of the questions a site actually asks need far less. How many people signed up this week? Where do they stop between the pricing page and the finished account? Which campaign brought people who bought, rather than people who looked? All of those are counts, and counts can be made without cookies and without identifying anyone.

This article covers how to define a conversion, how to turn a few of them into a funnel, how to see which sources convert, and what you give up by not following individuals.

A conversion is an action you name ​

Start with the action, not the report. A conversion is something that happened that matters to you, and it can be one of three things:

  • An event your site sends, such as signup_completed or checkout_completed.
  • An event with one property, such as plan_chosen where plan is pro, so one choice among several can be counted on its own.
  • A page reached, such as /thank-you after a form, or every page under /order/.

A page is the easiest to set up, because page views are already counted. It is also the least reliable: a thank-you page can be bookmarked, reloaded or reached by mistake. An event sent by your own code at the moment the thing has really happened is the better signal.

Send the event when it has happened ​

The most common mistake in conversion tracking is counting the click instead of the result. A "Sign up" button pressed is not an account created; a "Pay" button pressed is not a payment taken. Send the event after the step succeeds:

js
// When the server has created the account, not when the button is pressed.
analytics.track("signup_completed", { plan: "starter" });

A tool that counts form submissions for you, with no code, sits between the two: it says the form was sent, not that what was in it was accepted. That is enough for a contact or newsletter form; for a sign-up or an order, send the event once it has succeeded.

When the result happens on another site, such as a payment provider's checkout page, the page your visitor returns to is the signal: a goal on /order/complete, or an event sent when it loads.

Keep the properties to a few values you will group by, such as a plan or a placement. Never put an email address, a name or an order number in one: a conversion is a count, and it does not need to know whose it was.

Conversions, completions and conversion rate ​

A goal is counted in three ways, and the difference matters:

FigureCountsWhy
Conversionsthe visitors' days on which it happeneda reload or a second sign-up the same day is still one
Completionsevery time it happenedhow often the action itself happens
Conversion rateconversions over all visitors' dayscomparable between a busy week and a quiet one

A conversion rate is only as meaningful as its denominator. Over all visitors, a sign-up rate of 2% may be good or bad; over visitors who saw the pricing page, it says something more specific. That is what a funnel is for.

From goals to a funnel ​

A funnel puts goals in order and counts how many people went from one to the next. Pricing viewed, signup started, signup completed: three goals, in that order, within a window you choose.

1. Pricing viewed1,2002. Signup started300 · 25% of the step beforethe biggest drop3. Signup completed240 · 80% of the step beforeA step reached by fewer than 5 visitors shows "fewer than 5", never a number.
Read a funnel by its biggest drop between neighbouring steps: here it is before the form, not on it.

Read a funnel by its biggest drop between two neighbouring steps, not by its overall rate. In the example, 300 of the 1,200 visitors who saw pricing started a sign-up, a quarter, and 240 of those 300 finished, four in five. The work is on the pricing page, not on the form.

Two settings decide what a funnel means:

  • The order. Each step counts only when it comes after the one before. Someone who signed up and then looked at the pricing page did not go through the funnel.
  • The window. How long after the first step the others still count. A form filled in one sitting fits an hour; a purchase people think over fits a week. A longer window than people really take counts someone who came back days later for another reason.

Small numbers need care. A step reached by four people might be four people you know, so a step reached by fewer than five should be shown as "fewer than 5", not as a number.

Which sources convert ​

The most useful conversion question is rarely "how many", but "from where". Put the goal beside your traffic sources and each row gains two columns: its conversions, and its conversion rate. A newsletter that sends a hundred visitors and twelve sign-ups beats a social post that sends a thousand and five.

The same goal can be read by entry page, country, device or release, which answers questions such as "do people who land on the blog sign up less than people who land on the home page?" For campaigns, tag the links you control, as the UTM campaign article explains.

What you give up without identity ​

Counting without identifying anyone has a cost, and it is worth knowing before you rely on the numbers:

  • One browser is one visitor. Someone who reads on their phone and buys on their laptop is two visitors, and the purchase is credited to the laptop's visit.
  • A conversion is credited to the visit it happened in. Someone who arrives from a campaign on Monday and comes back directly on Thursday to buy is a Thursday conversion from Direct. Long attribution windows across visits need an identifier kept for weeks, which is exactly what a privacy-first tool does not keep.
  • No individual paths. You can see how many people went from pricing to sign-up, never which ones.

For most product and marketing decisions, those are acceptable: the shape of the funnel and the comparison between sources survive them. For advertising attribution across weeks and devices, they are not, and a tool that does that needs personal data and, in many places, consent.

Common questions ​

Can I count a checkout on my payment provider's page? ​

Not on their page, which runs their code, not yours. Count the page your customer returns to after paying, or send an event from your own page when it confirms the order.

Does reloading the thank-you page count twice? ​

As a completion, yes; as a conversion, no. Conversions count a visitor's day once, which is why they are the figure to compare.

Can I see revenue? ​

Yes, as a sum, without knowing who paid. Send the amount as a property of the conversion event, and the analytics can add it up by source, campaign or page, in one currency. A row with only one or two buyers should show no figure: its revenue would be what those people paid. The revenue by source article covers what to send and how to read it.

Conversion tracking here sets no cookies, but the random identifier kept on the device can still fall under the rules on device storage in the EU. The cookieless analytics article explains what changes and what does not; it is not legal advice.

How AnalyticsTrend does it ​

A goal in AnalyticsTrend is an event, an event with one property, a page or pages under one, or for an app a screen, up to 20 a project. With form submissions turned on, a form sent is a goal with no code: form_submit where $form is the form's id or name. Each shows its conversions, completions and conversion rate, and any goal can be chosen on Sources, Referrals, Entry pages, Locations, Devices and Versions to add each row's conversions and conversion rate.

An event goal can also sum an amount the event carries as revenue, in one currency, shown beside its conversions on every breakdown and withheld under 5 conversions. A funnel is two to eight goals in order, within 1 hour, 1 day or 7 days, counted from the last 90 days of events. A step reached by fewer than 5 visitors shows as "fewer than 5", in the dashboard, in the CSV export and through MCP. Only totals are shown, never who. Every number that bounds goals and funnels is in Capabilities and limits, and what is collected is in What it collects.

To start, see Install on a website and tracking events.


Checked against AnalyticsTrend's own documentation on 28 October 2026.