Help · Goals

Set up goals and count your sign‑ups

A goal is anything you want more of: a newsletter sign-up, an enquiry, a booking or a sale. Mark it once and ReaderCount counts it, with the pages and sources that brought each one in.

Forms are counted already

You don’t need to set anything up to count forms. Every time a visitor sends a form on your website, ReaderCount counts it as a goal called Form: followed by the form’s name. If the form has no name, we use its id, and if it has neither, the address of the page it’s on, such as Form: /contact/.

We only count that the form was sent. We never see what anyone typed into it.

If you’d like a clearer name than Form: /contact/, give the form a goal name of its own, as shown next.

Name a button, link or form

Add data-rc-goal with the name you want to see on your stats page. It works on any button, link or form, and you can add it to as many as you like.

<form action="/subscribe" data-rc-goal="Newsletter sign-up">
  …
</form>

<a href="/book/" data-rc-goal="Booked a call">Book a call</a>

<button data-rc-goal="Downloaded the guide">Get the guide</button>
  • On a form, the goal counts when the form is sent, not when someone clicks into it.
  • On a button or link, it counts when it’s clicked.
  • Use the same name in more than one place and they add up to one goal. A sign-up box in your sidebar and another at the end of each post can both be “Newsletter sign-up”.

Where to add it

Most website builders let you edit a button or form’s HTML, or add a block of your own HTML:

  • WordPress: use a Custom HTML block, or edit the block as HTML from its ⋮ menu.
  • Ghost: use an HTML card in a post, or add it to the form in your theme.
  • Squarespace, Webflow, Shopify and others: use a code or embed block, or the element’s custom attributes where your builder has them.

Count a goal from your own code

If your site has its own JavaScript, such as a checkout or a booking tool, call readercount() with the goal’s name when it happens:

readercount("Purchase");

The ReaderCount script adds readercount() to the page when it loads, so call it after that, for example when someone finishes paying.

Count a thank-you page

Some sign-up forms come from another service and sit in their own frame on your page, so no script on your site can see them being sent. If the form sends people to a thank-you page on your website afterwards, count the goal there instead. Add this to the thank-you page only:

<script>
addEventListener("load", function () {
  if (window.readercount) readercount("Newsletter sign-up");
});
</script>

No code at all: triggers

Can’t change your website’s code, or the thank-you page is on a shop you don’t control? Set up a trigger instead. On your stats page, open Settings, then Triggers, and choose what to watch for:

  • Page visited: type the address, such as /thank-you. End it with * to count every page that starts that way, such as /order/*.
  • Link clicked: type part of the link’s address, such as amazon. for every Amazon link, or .pdf for every PDF.
  • Form sent: type the form’s name as it shows under Goals (such as contact), or * for any form.

Triggers are worked out from the visits ReaderCount already counts, so a new one shows its past straight away. Each can also email you every time it happens (up to your plan’s daily alert emails), send a daily round-up, or post a message to a webhook: Slack, Microsoft Teams, Discord, Zapier, Make or anything that takes JSON. Messages say the trigger, the page, where the reader came from and their country, and nothing about who they are.

Coming from Plausible

If your site already sends Plausible custom events, you don’t need to change them. ReaderCount counts each of these as a goal with the same name:

plausible("Signup");
<a class="plausible-event-name=Download+Guide" href="/guide.pdf">Get the guide</a>

A + in a class name becomes a space, as it does in Plausible, so the second one shows as “Download Guide”. If you keep Plausible running alongside ReaderCount for a while, both count the event.

See who gives up on a form

When a reader starts filling in a form, ReaderCount notes the form’s name (never what they type). The Form Drop-Off tab on the Reader Engagement & Page Speed card then shows how many people started each form and how many sent it. A long form that most people give up on shows a “Many give up” label. It uses the same name as the form’s goal, so name a form with data-rc-goal and both use that name.

Check it works

  1. Publish the change, then open your website in a private or incognito window.
  2. Click the button, or send the form.
  3. Open your stats page and choose Today. Your goal shows in the Goals and Sign-Ups card.

Nothing showing? If you’ve told ReaderCount to leave out your own visits on this browser, your test won’t count either. That’s why the private window helps. Also check that the ReaderCount code is on the page you tested: Settings › Tracking Code Snippet › Verify snippet installation tells you.

Reading the Goals card

TabWhat it shows
GoalsEach goal, with how many times it happened (completions), the share of your visitors who did it (conversion), and how many different visitors did it (visitors).
By SourceWhere the visitors who completed a goal came from, such as Google, a newsletter or a social network. Click one to see your whole stats page for that source.
By PageThe pages goals happened on. These are the posts that turn readers into subscribers, so they’re the ones worth a better sign-up box.

One visitor who signs up twice in a day counts as two completions and one visitor. The By Source and By Page tabs appear once you have your first goal.

Choosing good names

  • Name what happened, such as “Newsletter sign-up”, “Enquiry sent” or “Booked a call”, so the card makes sense at a glance.
  • Keep names the same each time. “Newsletter sign-up” and “newsletter signup” are counted as two different goals.
  • Keep them short. Names can be up to 80 characters.
  • Never put personal details in a name, such as an email address or an order number. Goal names are shown on your stats page, and on your public stats page if you share one.

Questions

Do goals need cookies or a tag manager?

No. Goals use the same small ReaderCount script you already have. There is nothing else to load and still no cookies.

Can I see who completed a goal?

No. ReaderCount counts visits without knowing who anyone is, and goals are the same. You see how many, from where and on which pages.

Are goals included in my plan?

Yes. Goals are part of every ReaderCount plan and the 30-day trial. See plans and prices.

Still stuck? Get in touch and we’ll help you set it up.